如何让班级参与到开源项目中

目前还没有读者喜欢这个。
word learn in chalk on blackboard

Opensource.com

当我们谈论开源时,我们经常谈论“社区”,但重要的是要记住,就像城市、城镇、州和国家内的本地社区一样,每个社区都有自己的文化。一个社区与另一个社区完全相同。每个社区都有自己的沟通、跟踪和决策方式。代码提交流程各不相同——可能两个社区都使用 Bugzilla,但使用不同的标志。其他社区可能还要求您通知邮件列表。一个大型软件项目甚至可能在其内部有更小的子社区,它们有自己的习俗和怪癖。

了解这些差异对于您成功参与开源项目至关重要,学生在参与时需要理解这些细微之处。对于今年的 POSSE 课程,Heidi Ellis 和 Joanie Diggs 提出了一些建议,这些建议广泛适用于指导教师和班级参与社区。

POSSE 2013 discussion

富有成效地迷失方向。 也许您已经参与了一个大型社区,但您只是感到迷茫。范围太广了。您能做的最好的事情是了解当您有问题时应该向谁提问。

回馈社区。 FOSS 依赖于贡献而生存。这是流程的核心。您可以通过文档、评论和测试来回报社区——所有这些方式不一定涉及代码。小小的贡献也很有价值!最终,您可以成为下一个新来者的资源,解答他们曾经像您一样的问题。

机会主义盛行。 FOSS 开发往往具有高度的机会主义,这意味着您为期 10-15 周的学期计划可能会在学期开始后的两周内瓦解。认识到这一点并做好准备。

如果不是公开的,那就没发生过。 FOSS 中的决策仅在公共制品上做出,包括邮件列表、论坛和 IRC。如果不是公开的,那就不可问责,也不是贡献。想法在完善之前就被分享,这没关系。习惯公开沟通,并让您的学生也习惯它。

先斩后奏。 FOSS 中几乎没有什么东西是不可逆转的。尝试新事物。有些东西可能最终不符合社区的意图,但最终可能会被证明对他们来说是有趣和有用的。分支是免费的,有时奇怪的实验会有有趣的结果。

保留历史记录。 版本控制非常有帮助——历史记录应尽可能自动进行。历史记录帮助学生理解项目,并为您提供项目为何朝着特定方向发展的背景信息。它还有助于其他人接手前一位贡献者(例如学期末离开的学生)未完成的工作。

最后,请记住,在课程结束时,沟通未完成的工作比做未沟通的工作更好。学生需要优雅地交接他们的工作。让他们记录下剩余要做的事情,并尝试找人继续(并改进它),或者将其放在容易找到的地方,并附上明确的说明,说明它需要维护者。贡献只有在完成交接后才算完成。

POSSE(教授开放源码夏季/软件体验) 是为有兴趣让学生参与自由和开源软件的教师提供的专业发展项目。这篇文章基于 Joanie Diggs 和 Heidi Ellis 在 POSSE 2013 上的演讲。

标签
User profile image.
Ruth Suehle 是 Red Hat 开源和标准团队的社区领导经理。她是《Raspberry Pi Hacks》(O'Reilly,2013 年 12 月)的合著者,也是 GeekMom 的高级编辑,GeekMom 是一个为那些在极客和育儿中找到乐趣的人们提供的网站。

4 评论

今年六月的 POSSE 参与者在包括 OpenMRS、GNOME Accessibility 项目、Sahana 和 Ushahidi 在内的各种 HFOSS 项目中取得了巨大进展。另一个 POSSE 计划于 2014 年春季举行,请密切关注公告!

听到这个消息真棒,Heidi。参与者是否为他们的项目建立了 Web 存在?或者也许他们想为我们写一些东西,以便我们可以突出他们所做的伟大工作?请告诉我们!

根据我在工业界和学术界教授软件开发的经验,我发现学生研究别人编写的软件至关重要。当您遇到陌生人设计和实现的 code 时,有很多学习机会。我力求在一个学期内进行两次这样的代码迁移。

大多数学生立即想重写他们不理解的代码。造成这种不理解的原因包括代码中平庸或糟糕的注释、难以使用的标识符约定,甚至编码风格。甚至源代码文件划分组件的方式也常常导致组件中的烟雾多于光明。

经验丰富的开发人员会欣赏第一次传递的代码和为第二次迁移创建的代码之间的巨大差异。第二次传递的学生几乎普遍采取一种态度,即创建更好的制品,因为他们希望自己也能收到更好的制品。这是一个很好的教训。

同意!当学习嵌入到真实世界的项目中时,学生们会更认真地对待学习。学习的机会是无数的。

Creative Commons License本作品采用 Creative Commons Attribution-Share Alike 3.0 Unported License 许可。
© 2025 open-source.net.cn. All rights reserved.