For the complete documentation index, see llms.txt. This page is also available as Markdown.

FreeBSD 新面孔

作者:Dru Lavigne

本专栏旨在聚焦近期获得提交权限的贡献者,并向 FreeBSD 社区介绍他们。本月聚焦的是 Johannes Dieterich 和 Mahdi Mokhtari,他们分别于 1 月和 2 月成为 Ports 提交者。

Johannes Dieterich

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

Johannes: 我是科班出身的计算化学家。我们这个领域为高性能计算(HPC)装置开发模拟代码,以研究化学过程。这些过程涉及的物理规律决定了适用何种理论层级——从牛顿力学到不同深度的量子力学方法皆有可能。我个人的研究课题之一是为化学优化问题开发全局优化技术。目前我在普林斯顿大学任研究员。方法开发是我的热爱所在,而高效的实现则是我孜孜以求的目标。不写代码或不写作的时候,你会在肌肉车里或者在美国的户外探险中找到我。

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

Johannes: 大学期间我靠做系统管理员(SuSE 和 Debian)赚钱。我对这些系统有些失望,想知道是否有更适合我个人电脑的替代品,于是接触到了 FreeBSD。我最终从零售商那里订购了一张 FreeBSD 6.1 CD,并买了 Greg Lehey 的《The Complete FreeBSD》和 Dru Lavigne 的《BSD Hacks》,这两本书都极为出色。经过一段伴随大量 Ports 重新编译和 X11 崩坏的曲折学习之后,FreeBSD 成了我的主力系统。FreeBSD 过去和现在都让人用得透明顺畅,对开发者非常友好,并附带庞大的 Ports 集合。《手册》对初学者而言是绝佳资源,我也发现社区非常友善且专业。

你是怎么成为提交者的?

Johannes: 我来自 HPC 领域,而 GPU 加速是几年来最重要的话题之一。在这方面,FreeBSD 仍远远落后于竞争对手。这个问题不仅影响 FreeBSD 作为 HPC 系统(这几乎不太可能),也影响它作为 HPC 开发平台的可用性,甚至影响主流加速应用的启用。我参与了一些试图改善这一状况的工作,尤其是针对 AMD GPU 的部分,原以为修几个 Ports 是件快事。当然,最终工作量比预想大得多,且仍在推进。不过我有幸结识并与一群杰出的人合作,学到了很多。这让我获得了提交权限,也激励我更进一步。我的目标是尽自己的一份力,确保 FreeBSD 仍是最佳的(HPC)开发系统,正如 2006 年我安装 6.1-RELEASE 时那样。

“选一个你在意、认为尚有不足的 FreeBSD 领域,去改进它。要做的事很多,时间却很少。不要羞于求助。” ——JOHANNES

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

Johannes: 我的体验确实非常好。我发现开发者们在私下、内部和面对面时都表现得专业。迎接我的种种积极反馈令我受宠若惊。作为一个非常初级的成员,读者对我的建议要有所保留地看待:我会说,选一个你在意、认为尚有不足的 FreeBSD 领域,去改进它。要做的事很多,时间却很少。不要羞于求助。

Mahdi Mokhtari

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

Mahdi: 我是 Mahdi Mokhtari,朋友们叫我 MMokhi。我在高中的一门机器人课上开始接触编程,学了 C;大约半年后,又同时开始学 C++。之后我被 GNU/Linux 吸引,紧接着就对在 FreeBSD 上开发产生了兴趣。

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

Mahdi: 与许多人不同,我大概是在场最年轻的人(甚至比 Beastie 还年轻),我不是经历过 20 世纪 90 年代的老派 Unix 人。我在做兼职研发开发者时,从一位同事那里听说了 BSD。当时是在比较 FreeBSD 和 Linux 的语境下,我因此产生了更多好奇。我开始搜索并向更多人请教,发现了 FreeBSD 那个乐于助人的社区——起初是在 IRC 上。我开始问许许多多的问题,从简单的使用技巧,到内核 pf 模块上 mbuf 的特定宏的功能。IRC 上的人一一作答,我觉得自己需要换掉笔记本上的操作系统。

你是怎么成为提交者的?

Mahdi: 我先从自己如何作为贡献者开始说起。在我与这个操作系统及其周边社区结缘之后,我想成为其中一员。除了使用它,我还想开发它!于是我问其他提交者该怎么做。当时看来像是套话,但现在我完全理解我得到的回答:“做你喜欢做、也需要做的事,过一段时间就会有人联系你加入。”那之后,我用学到的概念做实验,尝试把 Linux 应用移植到 FreeBSD,定制内核并为它写模块。有一天,我在为 FreeBSD 移植 MySQL 5.7。我掌握了足够的 C/C++/CMake/MySQL 知识,能看懂并按需修改代码,做这个 Port 纯粹出于好奇。我也在 Ports 邮件列表上看到了对这个 Port 的需求,于是提交了一个 PR(https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204607)。在 brnrd@ 的帮助下,我成功完成了第一个 Port 并接下了维护权。这是我的起点。此后我学得更多,专注于自己热爱的方向,试着在自认擅长的领域、或自己想学的方向上为项目出力。是的,这个乌托邦真的存在!大约两年后,我仍然享受着“帮助 -> 学习 -> 帮助”的循环。feld@ 联系了我,问我是否愿意学些别的东西并直接提交自己的改动。我热情地回答:“好耶。”

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

Mahdi: 从我问出第一个问题起,体验就一直很棒。大多数时候,大家都愿意在 PR 上帮你。记住,他们都有本职工作,有时需要稍作等待。如果你想学习,FreeBSD 是最好的地方之一。对感兴趣的读者,我想说:继续做你热爱的事,它会让你和他人都受益。需要的只是时间、耐心和兴趣。请相信大家会欣赏你的工作,总有一天你会被“惩罚”获得那个提交权限。


DRU LAVIGNE 是 FreeBSD 项目的文档提交者,BSD 认证小组主席。

最后更新于