# 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》的作者。
