当人们第一次想到“开源”时,他们的大脑可能首先想到代码——一些需要对计算机或编程语言有一定了解的技术性东西。但开源是一个广泛的概念,它超越了二进制位和字节。开源项目非常重视社区参与。社区是一个成功的开源项目的基本组成部分。就我参与开源的经验而言,我从社区开始,然后从那里扩展开来。在 15 岁时,我开始了我的开源之旅,而我甚至没有意识到这一点。
游戏引入开源
关于“游戏成瘾”,我最深刻的记忆之一是 15 岁时,一个年幼的表弟向我介绍了 Minecraft 这款游戏。那时这款游戏还处于测试阶段,但我记得这款沙盒风格的游戏让我们俩玩了好几个小时。但我发现,独自玩游戏变得很无聊。与他人一起玩耍和挖掘使体验更加有趣和有意义。为了做到这一点,我了解到我必须为我的朋友们托管一个服务器,以便他们连接并与我一起玩。
我最初使用的是“原版”Minecraft 服务器软件,但它的功能有限,无法与其他多人服务器相比。它们似乎都在使用提供更多功能的软件,因此玩家可以玩游戏、施法或做其他在游戏中通常不可能做到的独特事情。经过一番挖掘,我发现了 Bukkit,这是一款开源 Minecraft 服务器软件,它具有可扩展的 API,允许开发人员改变多人游戏体验。我很快就迷上了 Bukkit,就像孩子迷上新玩具一样,只不过这个玩具让我深入研究我的电脑,设置端口转发、设置 NAT 记录和创建静态 IP 地址。我正在以创建游戏服务器供朋友玩耍为幌子自学计算机网络的基础知识。
随着时间的推移,我的 Minecraft 服务器爱好开始占用越来越多的时间。越来越多的人开始在我的服务器上玩,我开始寻找提高服务器性能的方法。经过一番研究,我发现了 SpigotMC 项目,简称 Spigot。Spigot 是 Bukkit 项目的一个分支,专门用于增强性能。在我的服务器上试用后,我发现了可观的性能提升,并决定从那时起一直使用它。
参与 SpigotMC
不久之后,我开始在管理我的 Minecraft 服务器社区时遇到新的挑战,无论是寻找扩展规模的方法还是寻找建立社区的最佳方法。2013 年 10 月,我在 Spigot 论坛上注册了一个帐户,与其他服务器所有者交谈,并寻求关于如何改进的建议。我发现这个社区热情、包容,并且乐于帮助我学习和进步。社区中的一些人是规模较大的服务器的所有者或独特插件的开发者。为了回应我详细的询问,他们提供了真诚、有益的反馈和支持。不到一周,我就已经爱上了 Spigot 社区的人们和乐于助人的精神。
我成为了 Spigot 论坛社区的积极参与者。通过这个项目,我了解了 IRC 以及如何使用它与其他服务器所有者和开发人员进行交流。我没有意识到的是我行为中的一个趋势。随着时间的推移,我开始从提出所有问题转变为回答问题的人。
2014 年 4 月,Spigot 项目负责人联系我,询问我是否考虑担任社区工作人员的角色。我的职责是回复报告、培养乐于助人和友好的社区,并维护社区的氛围。凭借我 16 岁的自尊心和荣誉感,我接受了,并开始担任社区版主。我记得能担任这个职位感到荣幸——我终于可以帮助这个社区,这个社区为我提供了如此多的帮助。
扩展开源视野
在 2014 年和 2015 年期间,我积极担任社区的版主,包括在论坛和 IRC 频道中。我一直留在 Spigot 社区,因为该项目稳步发展。看到该项目吸引了越来越多的用户,真是令人难以置信。
但我的开源之旅并没有止步于此。在 2015 年 5 月获得高中毕业文凭后,我将目标锁定在 罗切斯特理工学院,我注意到这所学校拥有全国唯一的免费和开源软件辅修专业。巧合的是,我还注意到我首选的 Linux 发行版 Fedora 将在我搬去上课的前一周在罗切斯特举办其年度贡献者大会。我决定提前搬过去,看看是怎么回事。
Flock 2015 引入 Fedora
夏天过去了,在我意识到我已经准备好了之前,我正在收拾从佐治亚州亚特兰大郊外的家搬到纽约州罗切斯特的行李。经过 14 个小时的车程,我终于到达并开始搬进我的新家。在我到达后的第二天,Flock 计划开始,标志着我在罗切斯特的首次旅程。

在 Flock 大会上,我以一个局外人的身份进入。我身处一个陌生的城市,面对陌生的人,以及一个我只略微熟悉的开源项目。这一切对我来说都是新的。但在那一周里,我发现了一个由四个共同理想团结起来的人们组成的社区:自由、朋友、功能、第一。Fedora 项目的四大支柱对我来说变得清晰明了。Flock 大会的社区成员在演讲和研讨会期间热情地致力于推进他们的项目。在演讲结束后,他们聚集在一起进行走廊讨论、分享饮品,并享受他们的(通常是)国际分散团队的陪伴。在从未参加过 Fedora 活动的情况下,我知道四大支柱和 Fedora 背后的社区是真实可靠的。在那一年的 Flock 大会结束后,我发誓要努力成为这个令人难以置信的社区的一份子。
笔耕不辍,键盘不停
我为 Fedora 项目做出贡献的第一步是在 2015 年 9 月的 软件自由日期间迈出的。当时的 Fedora 社区行动和影响协调员 Remy DeCausemaker 出席了会议,代表 Fedora。在活动期间,我联系了 Fedora Magazine 编辑团队,要求成为一名作家。到 9 月底,我为 Fedora Magazine 写了我的第一篇文章,将我在 Spigot 社区的经验与 Fedora 联系起来,文章名为“使用 Spigot 运行 Minecraft 服务器。”
我参与 Fedora 社区的第一步是令人兴奋的一步。我记得当我的第一篇文章发表在首页时,我感到自豪和兴奋,这不仅帮助了 Fedora,也帮助了 Spigot。我当时意识到,贡献这类内容相对简单,我将继续为该杂志撰写关于我熟悉的软件的文章。
随着我继续为 Fedora Magazine 撰写文章,我意识到 Fedora 中正在组建另一个团队:社区运营(CommOps)团队。我订阅了他们的邮件列表,加入了 IRC 频道,并参加了第一次会议。随着时间的推移,我越来越投入并参与到 Fedora 的社区工作中。我慢慢地发现一件事接着一件事。
今天,我是社区运营 (CommOps) 团队的负责人、Fedora Magazine 的主编、营销团队成员、北美大使、多元化团队的负责人以及其他一些职务。
给其他学生的建议
当你刚开始时,有时可能会很困难,甚至有点困惑。作为参与 FOSS 的学生,我们可能会面临一些挑战。其中很多可能与迈出新项目的第一步有关。有无数个大小不一的开源社区,他们做事的方式都略有不同,因此流程因项目而异。
参与开源最明显的挑战之一是你的个人经验水平。特别是刚开始时,很容易看到一个大型或知名的项目,并看到那里投入的所有工作。有聪明而活跃的人在这些项目上工作,而且很多时候他们的贡献非常令人印象深刻!我见过其他学生(包括最初的我自己)面临的许多担忧之一是,与一些活跃贡献者的贡献相比,经验或知识处于初级到中级水平的人如何参与其中。如果像 Fedora 这样的大型项目,当有这么多事情要做和领域可以参与时,就很难弄清楚从哪里开始。如果你把这一切都看作一个大项目,那么迈出第一步是令人望而生畏且困难的。
将较大的项目分解成较小的部分会有所帮助。从小处着手,寻找你可以提供帮助的事情。一个健康的开源项目通常会有一些容易修复的错误,如果这是你第一次贡献,这些错误是不错的起点。留意这些错误。
作为学生或开源新手,你可能面临的另一个挑战是所谓的冒名顶替综合症。对我来说,这是我在知道它是什么之前就已经认同的东西。对于定义,我将直接从 维基百科 中提取:“一个术语,指的是那些成就斐然的个体,他们无法内化自己的成就,并且持续害怕被揭露为‘骗子’。”
当你参与开源时,冒名顶替综合症是一种常见的感觉,特别是当将自己与你在参与过程中遇到的一些活跃而聪明的贡献者进行比较时。但你也应该记住你是一名学生——将自己或你的贡献与专业人士或具有多年经验的人进行比较对你自己是不公平的!这不是苹果与苹果的比较。无论你的贡献有多深入、有多少或你在项目上花费了多少时间,你的贡献都是有价值的。即使每周只有几个小时,那也是为其他人节省了这几个小时,并且为项目增加了一些东西。贡献就是贡献——将贡献的价值与其他贡献进行比较是一个坏主意。
作为学生,为开源做贡献有很多好处。这是一个让你将课堂上学到的知识应用于实际项目并获得经验的好方法。它可以将你提升到一个新的水平,并可以提高你的职业前景。这也是一个很好的交流机会。在开源社区中,你会遇到许多令人难以置信和聪明的人。在我在 Fedora 的这段时间里,我遇到了许多贡献者,并且有各种导师帮助我参与进来。我结交了新朋友,并遇到了我通常永远没有机会遇到的人。
开源项目中也存在领导机会。无论是仅仅一项任务、一个错误,甚至是一个角色,你可能会发现,有时只需要有人愿意说“我会做这个!”就能在某些方面发挥领导作用。起初可能具有挑战性或困难,但这是一个让你了解如何在团队环境中工作、即使是远程工作也能有效地工作,以及如何分解任务并努力寻找复杂问题解决方案的好方法。
最后,年轻人更多地参与开源社区非常重要。作为学生和更年轻的社区成员,我们为开源项目带来了独特的视角和想法。任何值得贡献的项目都应该欢迎愿意花时间在项目上工作的学生。简而言之,学生绝对有参与开源的空间!
2 条评论