# FreeBSD 的新面孔

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

本栏目的目标是聚焦那些最近获得提交权限的贡献者，并将他们介绍给 FreeBSD 社区。

在这一期中，我们聚焦的对象是 Charlie Li，他在四月获得了 Ports 权限。

![](https://github.com/user-attachments/assets/30ecc60d-4239-4c1f-8c53-b2be35a96ff6)

**请告诉我们一些关于你自己、你的背景和兴趣的事情。**

Li：我出生在中国，但在五岁生日时来到了美国。带着一台现在已经成为教科书厚度的 Toshiba（东芝）Satellite 笔记本，里面运行着 Windows 95，那时对我来说它更像是一个玩具，但它开启了我打破软件的旅程。从小学结束到初中开始，我几乎一直在以某种方式为开源做贡献，最初是在运行 Firefox 时报告错误（随附的更新程序在整个发布周期内都无法工作），不久后，我开始为维基媒体项目做贡献，包括在维基共享资源担任管理员几年。

现在，我在费城和宾夕法尼亚东北部之间来回奔波，平衡着我的技术咨询业务与在宾夕法尼亚州立大学（ABET 认证，美国工程与技术认证委员会）电气工程技术学科的第二轮本科教育。我的计算机兴趣主要包括确保我们的桌面环境足够稳定，让那些好奇的人能够使用它，以及我大部分业务所在的嵌入式应用。计算机之外，我还玩业余无线电（呼号：K3CL）并且进行公路和赛道自行车比赛。

**你是如何第一次了解 FreeBSD 的，是什么吸引了你？**

Li：我早在 2010 年代初就知道 FreeBSD 和其他 BSD 系统的存在，但仅仅是粗略浏览了一些维基媒体的内容。那时我还在处理如何让 Linux 在我的桌面和笔记本上顺畅运行。在 FreeBSD 10.2-RELEASE 发布周期中，我注意到我的 VPS 提供商开始提供 FreeBSD 镜像，于是好奇心驱使我创建了一个虚拟机。它很快就成为了我个人的网页和邮件服务器，后来，在 11.1-RELEASE 发布周期，我又为我的业务方面创建了另一个虚拟机。

这是一个“慢速”的学习过程，因为当时我深深陷入 Linux 思维方式，但很快吸引我的是 FreeBSD 中 base 系统和 Ports 系统的分离。从那时起，我开始尝试使用非默认的 Ports 选项，最终让我将 Linux 替换成 FreeBSD 来体验“完整体验”。这时正是 graphics/drm-kmod 的早期阶段，系统时常出现 panic，但我坚持下来了，并尽可能地为那些在开发这段代码的人提供帮助。对于我的桌面环境，当时我不得不使用 MATE，它在 Ports 中是最新的版本，而我内心深处却希望继续使用 Cinnamon，因为在 FreeBSD 的树中 2.4 以后它基本上是没有维护的。这些和其他一些过时的 Ports 给了我关于 Ports 维护的速成课程，我现在仍然在继续。

看到其他人如何利用 FreeBSD 作为他们自己系统、产品和业务的基础，以及一个支持这个目标的社区，进一步巩固了我的兴趣。

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

Li：desktop@ 团队注意到我不仅有效地维护 Cinnamon 桌面环境和其他一些（主要与桌面相关的）Ports，而且还关心整个桌面“子系统”或生态系统的健康。他们可能试图惩罚我一段时间，但生活总是有些阻碍，要求被遗忘又被记起。在一次“被记起”的周期中，我们最终完成了这个过程。

**自从加入 FreeBSD 项目以来，你的经历怎么样？你对那些有兴趣成为 FreeBSD 提交者的读者有什么建议吗？**

Li：自从加入项目以来，总体上来说，体验是积极的。我仍然需要向现有的项目成员学习并建立关系，但这是一个过程。除此之外，在这个社区中以不同的角色提供帮助，并代表我们在更广泛的开源世界中，这一切都令人兴奋。

对于那些有兴趣成为提交者的人，我的建议是：不要。虽然听起来很严厉，但这不是一个你可以真正要求的事情，而是正如之前所说，唯一能得到提交权限的方式是“被惩罚”。提交权限带来了很多责任，其中很多责任并不涉及代码或文档，而是要求我们对所有工作都采取系统性思维的方式。项目内外的关系对于完成工作至关重要。

我强调的一点是，任何贡献者，尤其是 Ports 维护者，特别是桌面相关的，提交补丁前要“自用”所有东西。作为用户，没有什么比未经运行测试的软件更让我生气的了，即使它完全遵循了《Porter 手册》的所有内容，理论上应该能正常工作。如果提交到树中的代码没有至少以粗略的方式进行过运行时测试，那就不可接受。testport 不能算作是“自用”。一个诚实的维护者/提交者，如果能事先或应请求公开自己在“自用”过程中发现的已知或未知问题，通常会比那些仅基于通过了 testport 测试而提交的维护者得到更好的接受，后者往往忽视了运行时的细微差别。我们不需要在技术问题之外再起更多的麻烦。

总之，提交有价值的高质量贡献，关注整体系统，建立关系，这些将走得更远。永远不要忘记，技术只是工具，没有人就什么都不是。

***

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


---

# Agent Instructions: 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:

```
GET https://book.bsdcn.org/qi-kan/20210708-zhuo-mian-wu-xian-wang/new.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
