> 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/20200304-wen-jian-xi-tong/new-faces-of-freebsd.md).

# FreeBSD 新面孔

作者：DRU LAVIGNE

本栏目聚焦最近获得提交权限的贡献者，向 FreeBSD 社区介绍他们。

本期主角是 Alfredo Dal’Ava Júnior（1 月获得 src 提交权限）和 Ryan Moeller（2 月获得 src 提交权限）。

## 谈谈你自己、背景和兴趣吧。

* Alfredo：我叫 Alfredo Dal’Ava Júnior（adalava，<alfredo@freebsd.org>），生于巴西米纳斯吉拉斯州的 Poços de Caldas，过去 10 年住在巴西圣保罗州的 Campinas 都市圈。已婚，有两个孩子。我年轻时就开始专业软件开发，辗转于多种编程语言，间或为开源项目做些小贡献。我学的是计算机科学，但一直喜欢机器与现实世界的交互，所以与电子、传感器、执行器和各种机器保持密切联系。我是个好奇心重的人，好奇心让我在多个领域收获了不少经验。很长一段时间里，我做网络、互联网服务提供商、网络协议与服务实现、自动化、数据存储系统、嵌入式系统。我还试过机器人、无人机和机器学习。工作之外，我喜欢乐器、山地自行车，最近在用摄像机和射频监测流星，为一些研究网络生成科学数据，逐步加深对这些每天进入地球大气层的物体的理解。
* Ryan：我今年 31 岁，10 岁时拿到第一台电脑，不久后开始对计算机硬件和软件产生兴趣。我一直对电子、机械和谜题感兴趣，而计算机基本上就是这些东西拼起来的。中学和高中期间，我在社区剧院做后台工，搭景、吊挂、灯光、音响都干。我受聘在当地剧场做电气总工，也为他们的儿童剧做灯光设计。高中毕业后，我以自由职业者身份与多家活动制作公司合作，做现场视频、灯光和音响。我担任过各种角色：技术总监、灯光设计师、助理导演、音响设计师、视频编辑、平面设计师。有段时间我在当地一家 DJ 公司做现场生成式视频投影。最终，不稳定的收入让我难以继续做独立承包商，于是决定攻读计算机科学学位，从事软件开发事业。

据我回忆，我对开发的兴趣始于 12 岁左右。妈妈当时在学 HTML，估计耳濡目染到了我身上，渐渐成了爱好。中学时我在图书馆/计算机机房泡了好几个小时，翻找任何能找到的编程书（大多是 BASIC 的旧书）。我上了高级计算机课，高中时通过计算机俱乐部在全国 C++ 编程竞赛中竞技。高中毕业后，我继续做爱好项目和偶尔的兼职网页开发。空闲时间里，我摆弄游戏引擎、音频处理、着色器程序、嵌入式系统、操作系统等。等我终于回去读完计算机学位，我意识到自己知识有空白，缺少数据结构、算法、计算理论和数学方面的基础，急于填补。

如今我是 iXsystems OS/服务团队的软件工程师。我的主要项目是把 FreeBSD 平台支持上游化到 OpenZFS（前身是 ZFS on Linux）代码库。我特别专注于构建系统、测试套件和自动化。撰写本文时，测试已通过，FreeBSD 支持即将合并。

## 你最初是怎么知道 FreeBSD 的？FreeBSD 哪一点吸引了你？

* Alfredo：21 世纪初我是 FreeBSD 重度用户，当时在老家一家小型软件和自动化公司工作，为同城其他公司提供 IT 解决方案，包括一些 ISP。我们订了一份杂志，每月附带光盘，里面有各种开源操作系统和发行版的最新版本。FreeBSD 就是其中之一。某个时刻我们决定用 FreeBSD 做一些核心网络任务。它有几个特点吸引了我，比如一次性安装完整系统、自带内核源码和编译器，方便针对机器定制优化。当时我们配置和安装了几十台机器，用于控制网络访问、优化并控制偏远艰苦地点的带宽使用，以及托管网站和邮件服务器。
* Ryan：记得高中时我会带 SLAX live CD 进机房绕过策略，比如用 Firefox 而不是 Internet Explorer，或者玩游戏。但我对 FreeBSD 最早的记忆是高中毕业后。我常混迹于 InsanelyMac IRC，有人提到用 ZFS zvols 给虚拟机做后端存储。这把我引向了 FreeBSD。ZFS 让我兴奋，网络栈做桥接这种小把戏的便利也让我着迷。在求知途中我偶然发现 BSD Now 播客，从此欲罢不能。我最初的存储 zpool 用到今天，虽然经历了许多磨难和变迁。

## 你是怎么成为提交者的？

* Alfredo：我所在的巴西 Eldorado Research Institute 有合作伙伴使用 FreeBSD，几位同事已经为 FreeBSD 项目贡献过。2018 年底，离开 FreeBSD 多年的我被邀请兼职参与其中。我开始泡 IRC 频道，看怎么帮忙，与 Brandon Bergren（bdragon）、Justin Hibbits（jhibbits）、Leandro Lupori（luporl）、Mark Linimon（linimon）等提交者在 POWER 处理器方面并肩作战。大约一年里，我调试问题、验证假设和补丁，还为 loader、kernel、base、ports、LLVM 等不同领域写了自己的补丁，从旧 GCC4 迁移到 LLVM 这件事上出了一份力，期间总离不开这些和其他提交者的帮助。某一刻，Justin Hibbits 好心地邀请我做他的学员，我满心欢喜地接受了，并对他正在做的工作心怀敬意。
* Ryan：我对 FreeBSD 比较熟，多年来一直使用、改造，零零散散提交补丁。大学最后一年，我作为实习生加入 iXsystems 的 OS/服务团队，不到一年后转正。在那里我能更频繁地为 FreeBSD 做贡献。最终，iX 的同事们提名我拿 src 提交权限。现在 mmacy@ 和 mav@ 是我的导师！大家开玩笑说这是惩罚而非荣誉，但对我来说真的是人生目标的实现。

## 加入 FreeBSD 项目后感受如何？对想成为提交者的读者有什么建议？

* Alfredo：参与开源项目对我来说是新事物，让东西跑起来让我乐在其中。FreeBSD 有一支乐于助人的能干开发者团队，大大方便了我学习用最佳方式解决问题。如果你有机会在允许花时间参与项目的公司工作，那再好不过！

对想成为提交者的人，我建议查看现有的优质文档、加入感兴趣的 IRC 频道、参与讨论、订阅并互动邮件列表、尝试修复已报告的 bug，或帮忙维护过时的 Port。这些都是让自己为人所知、展示工作成果的途径。贡献并不需要提交权限——开发者乐于接收并审阅任何人发来的代码，代码就绪并被接受后，提交信息中会署名。某一刻，你的付出一定会有提交者赏识，提名你并指引你走完流程。

* Ryan：我的经历很棒。社区温暖包容。我已经有过一次惊魂：我承认自己是 subversion 菜鸟，第一次提交时心跳漏了好几拍——我发现与 git 不同，svn 提交后没有 push，提交直接全局生效。幸好提交内容已经就绪！所以我对新人的建议是：先练习 subversion！

***

**DRU LAVIGNE** 是《BSD Hacks》和《The Best of FreeBSD Basics》的作者。


---

# 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/20200304-wen-jian-xi-tong/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.
