向学生介绍开源世界:第一天

还没有读者喜欢这个。
open source button on keyboard

Opensource.com

从 Blake Ross 到 Linus Torvalds,学生们在开源社区取得了重大成就。但这并不是 Yuvi Masory 在费城 OpenHatch 聚会上坐在我对面时描绘的情景。

Download Free eBook

“我的实验室正在招聘,”他解释说。“我们需要有编程经验并且能够找到问题答案的学生。但是宾夕法尼亚大学的学生甚至从未听说过 IRC。他们从未为开源做过贡献。”

Yuvi 是一名研究生和工作人员程序员。他恳求我来学校,向本科生做一个小时的关于 OpenHatch 的讲座,我的项目旨在帮助新的贡献者在社区中找到方向。

“给我一个周末的时间,”我说。

周末沉浸式体验

我们安排了 Yuvi、我和 Felice Ford(一位热爱 Linux 的哈佛大学古典文学专业学生,当时正在访问)之间的计划会议。

我们决定进行为期两天的丰富互动。即使编程专业的学生可以编写代码,但大多数人从未见过错误跟踪器,而且很少有人了解版本控制。这造成了一种文化隔阂,很多人因为构建问题或缺乏社区领导而 碰壁 开源项目。我们想在那里帮助学生解决类似的问题。

我们建立了一个 网站,解释了这次活动。对于星期六,我们计划了四个小时的会议。每个会议都侧重于不同的主题,并为学生提供一些实践练习。第二天是更典型的“黑客马拉松”,一个项目日,我们帮助学生在他们选择的项目中找到方向。

为了增强学生的承诺感,并确保师生比例紧密,我们将星期六的人数限制为 20 名学生。为了帮助我们优先考虑那些特别兴奋和特别新的学生,我们要求

  • 用一句话描述他们如何发现活动网站
  • 用一句话描述他们目前参与开源的情况(例如,“从未听说过”、“运行 Ubuntu”、“编写了大部分 Linux 内核”)
  • 用一句话描述他们对学习什么感到兴奋

由于我们的目标是让更多的学生了解开源文化,我们希望直接与学生合作,启动本地社区。据我们所知,这种策略是独一无二的。您可能读到过 教授开源暑期体验,该体验教导教授,以便他们可以为学生开设一个学期的课程。

他们会来吗?

为了宣传,我们请宾夕法尼亚大学的计算机科学系向其所有 250 名学生发送电子邮件。我们还联系了斯沃斯莫尔学院和其他附近学院的学生。Yuvi 张贴了神秘的索引卡,他的一位朋友张贴了传单。

在发送公告后的几分钟内,电子邮件开始涌入。到最后,我们收到了 51 位申请人的回复。我们立即感到不知所措,从担心广告转向阅读申请。

对我们来说感觉正常的事情对这些学生来说显然非常令人兴奋。阅读电子邮件就像阅读粉丝来信。有些人写出了这样的佳句

  • “我对开源的参与主要由毫不掩饰的钦佩和赞美组成。”
  • “我最兴奋的是学习如何初步参与一个项目,我以前也尝试过,但最初的学习曲线对我来说太令人生畏了,无法迈出这一步。”
  • “我只是读了很多关于开源软件的文章。我真的对这种合作如何创造创新和有效的产品(Firefox!),以及这些合作如何组织和高效运行的商业视角感兴趣。”
  • “我对学习几乎所有与开源软件、创建它的社区及其社会影响有关的东西感到兴奋。”
  • “我希望我能成功!这听起来非常有趣!”

我只是坐在电脑前,一遍又一遍地阅读,大声地说:“这太令人兴奋了!这些人太兴奋了!”

学生来自广泛的种族和文化背景。超过三分之一的申请者是女性,这个比例(略微)比宾夕法尼亚大学 CIS 项目本身还要均衡。Yuvi 和我选择了 30 名最兴奋的学生,并告诉他们星期六来见我们。

现在我们需要老师了。Felice 在 Freenode 上创建了 #penn 作为我们新兴社区的聊天室。幸运的是,一位名叫 Zach Goldberg 的 GNOME 黑客出现在频道中,我们说服他从纽约乘公共汽车前往他的母校。我的朋友 Jonathan SimpsonJohn Stumpo 组成了教学团队。

我们花了周五下午和晚上来确定后勤保障。大约凌晨 1 点,Yuvi 和我决定交换我们教授的主题。Felice 根据学生的经验水平将学生分成小组。最后,我们都可以去睡觉了。

忙碌的星期六

老师们都在上午 10 点前到达,我们为学生设置了无线网络。老师们连续四次教授相同的主题,因此我们有机会改进我们的课程。学生们在老师之间轮换,并对开源社区内的四个领域进行了旋风式的巡视

  • 通信技术,如 IRC 和邮件列表
  • 如何获取、构建和修改开源代码
  • 项目组织,包括版本控制、错误跟踪器和项目中的个人角色
  • Linux 和命令行技能

我们休息了一次吃午饭,另一次讨论了自由软件的总体伦理和具体的许可。最后,在学生们参观完所有四个模块后,我们进行了公开讨论,以结束这一天。我们三十名学生中约有二十人坚持到了最后。

很多反馈都是积极的。一位学生在谈到为开源做贡献时说:“你们让它感觉更容易实现了。” 他继续说,“你不必成为专业的程序员才能提供帮助或贡献一些东西。” 另一位学生喜欢老师的多样性以及他们“不同的个性,对事物的不同看法”。

一位学生尤其被关于自由软件运动背后的原则和伦理的讨论所吸引。“它把一切都放在了一个不同的角度,”她肯定地说。但是,她发现我们使用“黑客”这个词令人感到不适。

在总结快结束时,一位学生问我们什么时候会举办另一次活动。在那一刻,Yuvi 和我面面相觑,难以置信。

总的来说,学生们很喜欢这次活动的平易近人。一位学生喜欢我们“对话式的语气”,并解释说:“很高兴了解到开源人士不是半机械人。” 另一位学生呼吁我们“继续保持免费 [收费]!”

下一步是什么?

User profile image.
(照片由 Chris 拍摄。)Asheesh 喜欢在极客之间培养友谊。他曾担任约翰·霍普金斯大学计算机协会主席,并在旧金山的 Noisebridge 和 EFF 教授 Python 课程。他意识到,使项目成功的大部分工作都隐藏在表面之下。

18 条评论

一篇优秀的总结。迫不及待想读到关于第二天的文章。

作为加州大学伯克利分校的 EECS 专业学生,我看到我的许多同学都在争取行业工作,但没有意识到他们可以在开源中充分利用自己的技能。我迫不及待想看到关于如何举办此类活动的文章。

另外,文章太棒了!

嗨 Sam,

如果您想参与我们几个朋友正在组织的一个作为 CS 人员参与开源的社区的章程,请通过 kiyer@berkeley.edu 与我联系。

我喜欢这个想法。我也在 HN 帖子中评论过,但我认为这是一个很棒的想法。我绝对想看看您的材料,并尝试帮助在其他地方实施这个想法。凭借奥斯汀的所有科技以及德克萨斯大学的规模,我敢打赌我们也可以在这里实现它。

期待听到更多关于这方面的信息。我已经订阅了您网站上的作者 RSS,但是一旦您有更多关于推广我们自己的信息,请随时通过电子邮件 ping 我。

好的,伙计,这很有道理。

www.web-privacy.edu.tc

这是一项了不起的努力,我正在关注第二天之后会发生什么。我认为广泛实施这些努力将是很棒的,但也想知道为什么 CS 专业学生没有从他们的课程作业中获得这些经验?我的评论变得冗长,所以我发布了一篇文章,详细介绍了我的开源“梦想”场景
http://imperialwicket.com/open-source-in-higher-education-why-not

大家继续努力。

这些听起来像是一些内容丰富且鼓舞人心的课程。有什么方法可以将这些讲座/课程在线提供吗?类似的东西对于许多开源项目来说将是一个很好的常见问题解答链接。我知道很多人不在大学里,但很想贡献力量,但真的不知道从哪里开始。

他是一位 Mozilla 开发者,安大略省塞内卡学院的教授,也是他们开源技术开发中心的创始人。他教授 <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD600">关于开源开发的课程,使用 Mozilla 项目作为课程的基础。学生与常规项目开发人员一起处理实际问题,并为大量使用的程序做出持久贡献。

他在他写得很好且发人深省的博客中广泛地介绍了这个过程

http://vocamus.net/dave/?cat=22

我知道在线版本不会完全相同,但我认为这种研讨会的在线版本将对很多人有所帮助。我从石器时代(20 世纪 80 年代的 BASIC 方言)就开始编程,并且相当熟悉几种语言(C、一些 PHP、一些 Java 等),但真的不知道从哪里开始参与开源项目。“开源 101”自定进度的在线课程听起来对于像我这样可能无法参加面对面研讨会的数千人来说将是非常棒的。
您可以解决的一些问题
* 什么是 GIT?为什么要关心它?如何使用它?
* 如何将您的能力与需要帮助的项目相匹配
* 在这些项目中工作的礼仪是什么?任何人都可以直接加入并开始贡献,还是应该先联系一些协调员?

谢谢 -- 您的研讨会是一个绝妙的主意;在线版本不是为了取代它,而是为了将一些热情和信息带给大众。

是的,请...如果有人找到更多关于同等在线版本的信息,请发布!

Yuvi Masory 和 Felice Ford 在组织研讨会中发挥了巨大的作用。我想确保 Felice 尤其得到赞扬,因为我不知何故没有在文章中提及她。

Felice 和 Yuvi 处理了所有的后勤工作,将所有细节都落实到位 -- 这包括向 Github 寻求赞助,在前一天晚上熬夜将学生分成小组,预订房间,并获得宾夕法尼亚大学计算机科学系的支持。在 Yuri 和 Felice 落实所有环节之前,研讨会只是一个白日梦。我向他们致敬!

进一步感谢 John Stumpo、Jonathan Simpson 和 Zach Goldberg,他们都从外地赶来帮助这些学生开始接触开源。

很高兴看到开源材料被引入到年轻人中。他们是未来。

您可以分享课程材料吗?我自己对其中一些主题很感兴趣。我自己可以使用一些关于这些主题的介绍。

然而,对于那个发现正确使用“黑客”一词令人感到不适的女孩来说,好吧,我不会同情那些相信媒体(以及 IT 安全行业和各种其他笨蛋)对这个词的滥用的人。有空查阅一下行话文件。

关于沟通,我希望你们确实教授了 RFC1855 和 IRC 网络礼仪。这对“我们”来说是如此显而易见,以至于我们认为每个人都会自然而然地掌握它(并且附带地,它在 fidonet 上基本上以相同的方式工作,甚至包括引用和修剪要求!),尽管自 9 月以来这已不可行,而且无论如何这是一个加速教学,所以不妨解释一下 /正确/ 的引用是如何工作的,以及在列表和 IRC 上绝对不能做什么等等。

我们需要在人们所处的位置接纳他们。如果他们一生都被教导黑客是坏人,那么再多的阅读行话文件也无法改变他们的感受。这 <strong>确实</strong> 会让人分心。

问候,eMBee。

作为西班牙南部格拉纳达大学 (http://www.ugr.es) 的开源办公室,我们去年组织了类似的事情 (http://osl.ugr.es/2010/03/09/hackathon-lecciones-aprendidas/,通过 Google 翻译翻译)。我们没有对学生进行筛选,大约有 30 人出现,其中一些来自外地,其中三位来自翻译和口译专业。我们的想法是在星期五介绍他们将要从事的项目,给他们一些关于开源开发的想法,然后让他们选择一个项目在周末进行黑客攻击,并在下周一报告结果。这非常成功,我们打算今年重演;它也可能会在格拉纳达所在的安达卢西亚地区的其他大学进行。
然而,提前选择人员可能是一个好主意。干杯!

我读了你的整篇文章。它真的非常激励我,期待第二天的报告。

请发布一个关于如何为开源项目做出贡献的教程,带一个简单的例子...

从 sourceforge / github / launchpad 获取源代码
编译
运行
修改
等等..

这将非常有用...

感谢您这项非常必要的倡议。这也是我在中国深圳与一些当地程序员一起开展的项目(特别是考虑到开源在这里仍然不太为人所知,即使是那些使用它的人)。(brettz9 at_ yahoo 适用于该地区的任何人)。

虽然我知道您必须利用现有的技术,但我认为这个项目的需求指出了通过维基进行版本控制的必要性。如果有人不必经历设置存储库克隆、离开浏览器等初始麻烦,入门门槛会低得多,至少对于他们第一次做出贡献的体验而言,更不用说对于高级用户来说,他们只是注意到一个小错误,或者想为一个他们不愿花时间下载的项目做一个快速补丁。

版本控制环境真的可以从“维基”作为“快速”的含义中吸取教训,并希望克服“好吧,我不得不学习如何做,所以你必须先学习它才能参与”的类似欺凌的心态。

虽然这有点跑题,但也许它可以通过解决其根本问题之一来激发更多地促进这个问题。

Creative Commons License本作品根据知识共享署名-相同方式共享 3.0 未本地化许可协议获得许可。
© . All rights reserved.