事实上,有无穷无尽的方法来为开源做贡献,其中一个简单的方法就是回答我们的投票问题。
你是如何参与开源贡献的呢?我们组织了一个投票,结果如下:
- 提交错误报告 - 67 票(35%)
- 解答用户的问题 - 39 票(20%)
- 写作(指南、故事、文档等) - 73 票(38%)
- 其他 - 12 票(6%)
我的第一次开源贡献可以追溯到 20 世纪 80 年代中期,当时我们的机构第一次连上了 UseNet,在那里我们发现了贡献代码,以及在其开发和支持过程中和别人分享的机会。
在今天,我们有无尽的贡献开源的机会。无论是贡献代码,还是制作一个视频教程,都是贡献的一种途径。
不过,我将直接跳过整个贡献代码的部分。诚然,我们中有许多写代码但不认为自己是开发者的人,他们也可以 贡献代码。但是,我更想提醒大家,还存在很多 非代码形式可以贡献开源。接下来,我会谈到其中的三种。
提交错误报告
有一种重要而具体的贡献形式,它可以被描述为“不要畏惧 提交一个像样的错误报告”以及 与此相关的所有后果。有时,要 提交一个像样的错误报告 是很有挑战性的。比如说:
- 某些错误可能很难记录或描述。当计算机启动时,屏幕上可能会出现又长又复杂的信息,其中包含各种不能理解的代码。或者屏幕上可能显示有一些“异常行为”,但是却没有提供具体的错误信息。
- 某些错误可能很难重现。它可能只发生在某些特定的硬件/软件配置上,或者它可能很少被触发,或者错误的产生场景不明确。
- 某些错误可能与一个非常特殊的开发环境配置有关,但是这个配置庞杂混乱,无法分享,需要先耗费大量精力创建一个精简后的例子才行。
当向发行版报告一个错误时,维护者可能会建议将该错误提交给上游,这有时会需要付出大量的工作,因为发行版所提供的版本不是上游社区感兴趣的主要版本。(当发行版提供的版本落后于官方支持的发布和开发版本时,就会有这种情况发生)。
尽管如此,我还是鼓励那些潜在的错误报告者(包括我)继续努力,并尝试让错误得到完整的记录和确认。
但如何开始呢?你可以使用你最喜欢的搜索工具寻找类似的错误报告,看看它们是如何描述的,它们被归档在哪里,等等。你也可以留意你使用的发行版(例如,Fedora、openSUSE、Ubuntu)或软件包(LibreOffice、Mozilla)的错误报告页面,它们定义了正式的报告机制,你可以按步骤为他们报告相关错误。
解答用户的问题
我潜伏在各种邮件列表和 论坛 里,偶尔也会冒个泡,例如 Ubuntu 质量控制团队 和 论坛、LinuxQuestions.org,以及 ALSA 用户的邮件列表 等。在这里,我的贡献可能与错误报告的关系不大,更多的是记录复杂的用例。不过,看到有人热心帮助他人,解决他人在某个问题上的遇到的麻烦,对每个人来说,这都是无疑一种很棒的体验。
从事开源相关的写作
最后,另一个我非常喜欢贡献的领域是 撰写 关于使用开源软件的文章。无论是使用指南,还是对某一特定问题的不同解决方案进行比较评估,或者只是笼统地探索一个感兴趣的领域(就我而言,是使用开源音乐播放软件来享受音乐)。一个类似的选择是制作一个教学视频。你很容易就可以做到边演示一些复杂的桌面操作(比如用 GIMP 创建一个绚丽的标志),边录制桌面。而那些精通两种或多种语言的人,也可以考虑将现有的使用指南或视频翻译成另一种语言。