阅读第 1 部分,了解关于启动周末课程以教大学生如何参与开源项目的故事。
在星期六的课堂式工作之后,我们利用星期日作为开放项目日,学生可以随时来访并获得参与项目贡献的帮助。 也许是因为我们没有强迫学生承诺,只有大约二十名学生来了。
当学生陆续到来时,我们帮助他们选择一个要贡献的项目。 许多人在 Yuvi 父亲的建议下致力于构建一个新的 Android 应用程序。 一名学生查看了 OpenHatch 志愿者机会查找器上的选项,并希望参与 Sugar 项目。
当她按照说明在 VirtualBox 中运行 Sugar 时,她注意到在她安装的 VirtualBox 中“导入”选项是灰色的。“我做错什么了吗?”她问道。
“没有,”我回答。“显然是坏了。” 一旦她跨越了这个障碍,她就和坐在她旁边的另一位也安装了 VirtualBox 的学生配对。
Yuvi 安排一名学生创建 GTKJFileChooser 的版本,这是一个为 OpenJDK 做出贡献的文件选择对话框。 该学生创建了一个补丁来提升版本号,编写了一些发行说明,并创建了发行文件。
其他四名学生不确定要从事哪个项目,所以我建议了 Firefox。 我向他们指出一个 Mozilla 教育维基页面,其中包含有关更改 Firefox 的 XUL 代码的教程。 其中一位与会者已经了解 Mercurial; 他工作迅速,并且是第一个发现该文章指向无法编译的修订版本的人。
到星期日中午,我感到绝望。 我把四个兴奋的学生引入了歧途; 我担心我已经耗尽了我想建立的热情。 一名学生在玩电子游戏,而她的笔记本电脑,两个小时过去了,仍在编译; 我知道构建甚至无法完成。
当我深吸一口气后,我意识到我们都“富有成效地迷失了方向”。 Mercurial 用户发现已经提交了一个关于构建失败的错误报告; 这让他感到欣慰,因为这意味着构建失败不是他的错。 另一名学生成功编译了当前 Firefox 的 HEAD 版本。“这是 Beta 版吗? Alpha 版?”他问道。
“不,”我回答。“这是最新版本。” 他仍然不理解,所以我指着 hg log。“看,这是 30 分钟前的 Firefox 版本。” 他 burst into laughter。
在他平静下来后,他解释说:“我从未使用过如此新鲜的软件!”
当这位游戏玩家等待 Firefox 构建时,她问我们:“安装 Linux 值得吗?” 我们说服她尝试一下,她很快就运行了 Ubuntu。 然后她面临着由于安装程序未提供的专有组件而无法工作的 Wi-Fi 卡。 看到她的不耐烦,我向她保证我们可以在十分钟内修复它。 她找到了正确的 Ubuntu 社区帮助页面并在五分钟内修复了它。 然后她花了五分钟时间修复那个维基页面,以便她可以在没有我的帮助下理解它。
此时,她抱怨 Ubuntu 通知小程序 的行为:当她将指针移到它上面以将其关闭时,它变得透明并忽略了她的点击。 她没有 C 语言经验,但在稍加帮助下,她对源代码进行了修改,直到令人沮丧的行为消失了。 她重建了软件包并安装了它。 到最后,她学习了 GTK 事件处理程序和 .deb 打包。 此外,她亲身看到了她现在对计算机的控制程度。
到最后,我感到很高兴。 我们的学生为文档和打包做出了重要贡献。 他们变得更习惯于构建和破解开源代码,并且他们发现当他们有问题时,他们可以获得帮助。
构建社区
从某种意义上说,学生们现在是独立的。 通过举办这次活动,我们希望创建一个可以自我维持的本地社区。 既然他们可以通过邮件列表和 IRC 频道相互联系,他们就不必感到 分裂和无助。
一个周末不足以将他们都变成邮件列表狂热者和 IRC 频道闲逛者,但一个社区正在成长。 即使现在,在活动结束后两周,一些学生仍然在 ##penn 上闲逛,并且每隔几天就会有新的访问者进来提问。 Yuvi 正在组织 Ubuntu 发布派对,并且 RSVP 正在涌入。 我希望学生们能够继续扩大彼此的热情。
举办你自己的活动
在 11 月,我计划在波士顿地区举办类似的活动。 如果您想举办这样的活动,我建议您遵循我们经历的类似步骤,并吸取一些经验教训
最重要的是,我们将事先排练教学。 对于 John Stumpo 和我教授的项目组织模块,我们进行了两次演练才微调练习和课程,使其在一小时内完成。(您可以在维基页面的“延伸阅读”下找到最终版本。)此外,我们将“试用”我们使用的教程。
我们出去吃午饭(Yuvi 安排 Github 赞助食物),我很喜欢和我的学生聊天,以至于我推迟了我们小组的返回。 我们结束活动的时间几乎晚了一个小时。 为了对学生当天剩余时间的计划公平起见,下次我们将按计划进行。 我们可能还会选择更简单的午餐计划。
最后,我们在星期六上午花了太长时间帮助学生们登录 IRC。 在未来的活动中,我们将把 IRC 纳入注册过程,以便学生们做好使用它的准备。 此外,我将使用比电子邮件更智能的方式来处理涌入的潜在学生!
展望未来,我希望看到更多这样的活动涌现。 我希望这些活动的参与者能够吸取经验,并在没有我的情况下举办类似的活动。 无论您是否参加过,如果您想举办这样的活动,那就去做吧!
联系我们的最佳方式是通过 Teaching Open Source 邮件列表。 我们想了解我们如何提供帮助以及事情进展如何!
延伸阅读
- OpenHatch wiki 上的后续页面
- 如果您错过了,请查看我们星期六和星期日的照片库。
- OpenHatch 博客
- 我写的一篇文章,宣传了这项和其他旨在不规模化的外展活动
2 条评论