当我们谈论开源时,我们经常谈论“社区”,但重要的是要记住,就像城市、城镇、州和国家内的本地社区一样,每个社区都有自己的文化。一个社区与另一个社区不完全相同。每个社区都有自己的沟通、跟踪和决策方式。代码提交流程各不相同——可能两个社区都使用 Bugzilla,但使用不同的标志。其他社区可能还要求您通知邮件列表。一个大型软件项目甚至可能在其内部有更小的子社区,它们有自己的习俗和怪癖。
了解这些差异对于您成功参与开源项目至关重要,学生在参与时需要理解这些细微之处。对于今年的 POSSE 课程,Heidi Ellis 和 Joanie Diggs 提出了一些建议,这些建议广泛适用于指导教师和班级参与社区。
富有成效地迷失方向。 也许您已经参与了一个大型社区,但您只是感到迷茫。范围太广了。您能做的最好的事情是了解当您有问题时应该向谁提问。
回馈社区。 FOSS 依赖于贡献而生存。这是流程的核心。您可以通过文档、评论和测试来回报社区——所有这些方式不一定涉及代码。小小的贡献也很有价值!最终,您可以成为下一个新来者的资源,解答他们曾经像您一样的问题。
机会主义盛行。 FOSS 开发往往具有高度的机会主义,这意味着您为期 10-15 周的学期计划可能会在学期开始后的两周内瓦解。认识到这一点并做好准备。
如果不是公开的,那就没发生过。 FOSS 中的决策仅在公共制品上做出,包括邮件列表、论坛和 IRC。如果不是公开的,那就不可问责,也不是贡献。想法在完善之前就被分享,这没关系。习惯公开沟通,并让您的学生也习惯它。
先斩后奏。 FOSS 中几乎没有什么东西是不可逆转的。尝试新事物。有些东西可能最终不符合社区的意图,但最终可能会被证明对他们来说是有趣和有用的。分支是免费的,有时奇怪的实验会有有趣的结果。
保留历史记录。 版本控制非常有帮助——历史记录应尽可能自动进行。历史记录帮助学生理解项目,并为您提供项目为何朝着特定方向发展的背景信息。它还有助于其他人接手前一位贡献者(例如学期末离开的学生)未完成的工作。
最后,请记住,在课程结束时,沟通未完成的工作比做未沟通的工作更好。学生需要优雅地交接他们的工作。让他们记录下剩余要做的事情,并尝试找人继续(并改进它),或者将其放在容易找到的地方,并附上明确的说明,说明它需要维护者。贡献只有在完成交接后才算完成。
POSSE(教授开放源码夏季/软件体验) 是为有兴趣让学生参与自由和开源软件的教师提供的专业发展项目。这篇文章基于 Joanie Diggs 和 Heidi Ellis 在 POSSE 2013 上的演讲。
4 评论