> For the complete documentation index, see [llms.txt](https://freebsd-journal-cn.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://freebsd-journal-cn.bsdcn.org/20160708-freebsd-yu-rtems/new-faces-of-freebsd.md).

# FreeBSD 新面孔

* 原文：[New Faces of FreeBSD](https://freebsdfoundation.org/wp-content/uploads/2016/08/New-Faces-of-FreeBSD.pdf)
* 作者：**DRU LAVIGNE**

本专栏旨在聚焦近期获得提交权限的贡献者，并向 FreeBSD 社区介绍他们。本月聚焦的是 Eric Badger 和 Toomas Soome，他们分别在 2016 年 7 月和 8 月成为 src 提交者。

## 请介绍一下你自己、背景和兴趣。

**Eric：** 我是 Dell Compellent 的软件工程师，住在美国明尼苏达州。我在平台 OS 团队工作，负责 Dell 存储控制器上运行的 FreeBSD 操作系统。我做这份工作两年多。在 Dell 工作，我学到了大量 FreeBSD 知识，一部分来自解决 OS 中出现的问题，另一部分来自共事的各种聪明人。

我感兴趣的事情很多；几乎任何偏底层的东西都能吸引我。我真正有时间动手做的，主要集中在网络、调试工具（如 gdb 或 DTrace）和存储设备方面。我刚买了一块 BeagleBone Black，用于在 amd64 之外的平台玩 FreeBSD，乐在其中。

计算机之外，我喜欢演奏音乐（我喜欢大多数类型，也在各处乐队里演奏过）和学习语言（目前主要兴趣是西班牙语）。

**Toomas：** 1992 年前后，我作为爱沙尼亚塔尔图大学的学生第一次接触 Unix。当时我们有各种不同的系统：SCO、SunOS、Irix，后来是 Ultrix、NetBSD、FreeBSD，最终还有 Linux，这里只举几例。那时我在大学做系统管理员，那段时光意味着大量的编译、软件集成等工作，因为所有（自由）软件都以源代码形式分发。

有趣的是，我们当时实际上用 CERN 的源码同时搭建了服务器和浏览器，以此开始了万维网的使用。

后来我在本地一家 Sun Microsystems 经销商那里做售前工程师，编译少了，但仍有大量集成、架构设计以及深入 IT 基础设施各层的工作。

其他兴趣方面，冬天滑雪，夏天跳伞。不过由于时间关系，这些活动有所减少。

## 你最早是怎么了解到 FreeBSD 的？FreeBSD 哪点吸引你？

**Eric：** 我在明尼苏达大学超算研究所的第一份计算机工作中接触到 FreeBSD。我的第一任老板是网络管理员，她用 FreeBSD 做网络管理工具，并作为进入交换机管理网络的跳板机。我想尽可能多地了解各种东西的工作原理，于是在家里那台由 Linux 机器组成的网络（主要是亲友给的旧电脑）上加了一台 FreeBSD。那台 FreeBSD 机器既是我的 DHCP 服务器，也运行 tftpd 和 NFS，为 PXE 启动的机器提供文件。

base 与 Ports 的划分让我印象深刻。当时我主要用 Debian 和 CentOS，这意味着有时第三方软件在仓库中找不到，或者没有我想要的版本。FreeBSD Ports 意味着我可以在相对稳定的 base 上使用相对前沿的软件。作为开发者使用 FreeBSD 后，我体会到内核和用户空间都位于同一棵树中的好处。这常常让理解和处理跨越两者边界的事情更容易。我也欣赏 FreeBSD 对源代码的一等公民待遇。FreeBSD 让获取系统源码并在自己的系统上重新编译其中部分变得容易。Ports 让修改需要在 FreeBSD 上略加调整才能构建的第三方软件变得容易。

**Toomas：** 记不清是哪一年了——很久以前了，那时我还在大学，但我们有几台 FreeBSD 和 NetBSD 实例。不过基于 BSD 的系统一直因其根源而令人感兴趣，如今更是如此，因为它们是提供自由软件并真正支持技术交流的 Unix 品牌之一。

## 你是怎么成为 src 提交者的？你在 src 的哪部分工作？

**Eric：** 我提交了几个被接受的补丁，并开启了一些讨论，主要在 -current 邮件列表。我想我主要是靠调试和刻画棘手问题赢得了认可，而不是靠大量补丁提交。

目前我主要修改 **sys/kern** 下的代码。我不会说自己已经形成了什么强项，但我有一份越来越长的待办列表，希望把它们做到可提交状态，包括改进 FreeBSD 在 KVM 上的支持、一些 SR-IOV 工作以及其他一些事情。

**Toomas：** 根源在另一个操作系统，因为我自己的技术背景与 Sun Microsystems 相关。我在基于 Illumos 的系统上摸索，最终开始研究如何改进引导加载器及相关主题。在尝试不同方案时，我开始研究 FreeBSD 的 loader，最终把它移植到了 Illumos。这项工作已接近实际集成的阶段。显然，Illumos 对自己的引导加载器有自身需求，这些需求逐渐得到解决，移植中也实现了一些更改和改进。一旦做了更改，你很快就会发现，把其中一些回馈给上游是合理的。我想，最终有提交权限的人想到了邀请我加入 FreeBSD 开发者行列，这对我来说是个不错的惊喜。

所以我的工作领域是引导加载器及相关主题。一些成果已经集成进 FreeBSD，希望带来的好处多于坏处，但关于改进引导加载器的最佳方式，仍有许多问题需要研究。

## 加入 FreeBSD 项目以来你的体验如何？对想成为 src 提交者的读者有什么建议？

**Eric：** 我的体验不错。这有点像第二份工作，从这个角度看有些吃力。目前我只做了少数几个提交，但仍花大量时间摆弄各种东西，努力理解它们。但感觉这些时间花得值，因为我通常乐在其中，并有机会为一个重要的开源操作系统做贡献。

我对未来潜在提交者的建议：如果你发现 FreeBSD 中有什么似乎工作不正常，不要停下，直到你明白为什么。我发现，理解一个东西很少有比调试你自己亲身遇到的问题更好的办法。在一家使用 FreeBSD 的公司工作也大有帮助。Dell Compellent 有数百台 FreeBSD 机器每天被测试组敲打，任何 OS 问题都会流转到我所在的组。这提供了绝佳的学习机会。

**Toomas：** 我只有积极的体验。最有价值的部分在于信息交流，有更多途径了解不同组件如何关联、团队如何关联、决策背后的驱动力是什么。特定项目的成功，真正不在于某段代码写得有多好——总有改进空间——而在于它能在多大程度上与系统其余部分契合，以及你是否能在恰当时机引入某项功能，为系统或其他团队或人员提供最大价值。

至于建议，你可以有所有的梦想和训练，但在大门打开、你真正迈出那一步之前，一切都不重要。一旦迈出第一步，看到你所受的训练确实在发挥作用并产生成果，你大概就会被吸引住，向着自己设定的目标真正开始艰苦努力。所以，迈出那一步，看看你是否喜欢你所体验到的。

***

**Dru Lavigne** 是 FreeBSD 基金会董事，BSD 认证小组主席。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://freebsd-journal-cn.bsdcn.org/20160708-freebsd-yu-rtems/new-faces-of-freebsd.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
