成熟的社区都有丰富、完备的文档来介绍如何融入到社区,但还是经常会有朋友抱怨不知道如何给上游提交代码,或者如何给开源社区做一些力所能及的贡献、参与到开源社区中去,本文就以我个人比较熟悉的 Wine 社区为例子,说一下社区的基础实施和如何提交代码、报 bug 这些事情。 ( 个人经历有限,如文中有遗漏、不妥,还请各位不吝赐教,谢谢 :) ) Wine 社区的基础设施Bugzilla这是给 Wine 报 bug 的地方。 WikiWine 社区的 wiki,上面有大量的文档向新手介绍如何参与到社区,从如何报 bug 到提交代码、包罗万象。得益于来着华文世界的诸多朋友的辛勤劳动,wiki 上一些面向用户、基础的文档已经被翻译成中文。 这里列出一些常用的条目: 邮件列表
(注意:以上除最后一个是中文列表外,其他四个都是以英文为交流语言的列表) IRCIRC 有时候也是一种快速和其他开发者交流、寻求帮助的途径。Wine 的 IRC 都在 Freenode.net 上:
尽管 IRC 有时候确实比邮件列表快捷,也能一定程度加强自己和其他开发者的“私交”,但是 IRC 也有一些需要遵守、注意的规定:http://www.winehq.org/irc 。 代码仓库
其他设施
如何给 Wine 提交 bug简单说,给 Wine 提交 bug,就是要用英文把这个 bug 是什么、怎么重现说清楚,让开发者能够重现、调试、修复。必要时我们还得附上 log 或者图片加以说明。 上图是著名的“QQ 登陆窗口点击密码框崩溃”的 bug,这里面有些地方值得注意:
这里再举一个比较成功的例子:Bug 35837: The progress bar always stop at %87 when installing the Kingsoft disk installation package 这个 bug 是一位中文用户上报的,因为他提供的信息很全面,问题描述也很到位,所以开发者得以迅速地分析了这个问题,然后修复,整个过程大概历时大概一个星期(2014.03.21~03.28)。可见一个良好的 bug 报告对于尽快修复一个 bug 很有很大作用的! 如何向 Wine 提交代码首先在邮件客户端中设置 reply-to 字段为 wine-devel 邮件列表地址,再将 patch 发送到 wine-patches 列表。提交完系统会自动将 patch 推送到 Wine 的 testbot 进行测试。如果测试失败 testbot 会发送一封邮件回复到 wine-devel,其他开发者如果检查了你的 patch 发现有问题也会回复到 wine-devel 进行讨论。 之后就是等待 Alexandre Julliard 的审核,如果通过就会被顺利合并到 Wine 的主干。有时候 Alexandre Julliard 也会把 patch 进行一些小修改然后再合并。具体的 patch 状态是什么可以在 http://source.winehq.org/patches/ 查看。 (注意:Wine 对代码的版权、合法性要求十分严格!微软员工、实习生,看过通过任何途径获得的 Windows 代码的人,做过 Windows 逆向工程的人皆不能为 Wine 提交补丁!具体可以查看:http://wiki.winehq.org/CleanRoomGuidelines) Wine 中文社区概况大概 3 年前,现 wine-zh 的成员有些已经开始有目的地为 Wine 社区做一些贡献、参与到 Wine 上游去,同时也在中文社区积极开展“科普布道”,以此希望 Wine 能够对中文软件提供更优良的支持。 3 年过去了,虽然 Wine 在中文世界依然还有种种误会、直接到上游参与的开发者也在 10 位以内,但是通过诸位的努力和坚持,也积累了这样一些成果:
你想参与?(广告 2333)欢迎各位对 Wine 开发感兴趣的朋友加入到 wine-zh 邮件列表进行交流,也可以私邮和我交流!特别欢迎大学低年级学生:
如果你不嫌罗嗦,我们的排比句可以写五百行,因为 Wine 项目有 500 多个模块,总有一个对你的胃口... 我们的愿望就是: pian ni tiao jin zui xian e de da keng 帮 你 找 到 最 好 玩 的 课 题
谨以此文,献给对开源世界有贡献的前辈、朋友! 本文地址:https://linuxtoy.org/archives/brief-guide-about-wine-infrastructure-and-how-to-contribute.html |