最近,我有幸参加了 Gina Likins 在 2015 年学院计算科学联盟 (CCSC):中南部会议上关于开源教学的演讲,Gina 来自 Red Hat。
开源是...
Gina 首先询问听众,有多少人教开源?没有人举手!这意味着 Gina 必须从开源的背景开始讲起——她说开源就像一块饼干(美味)。当你烤饼干时,你可以与你的朋友和家人分享饼干和食谱。如果你分享食谱的人对坚果过敏,而食谱中需要坚果,那么这个人可以修改食谱。人们也有可能拿走食谱并加以改进。当然,你可以去商店买饼干而不是做饼干,但你不会确切地知道这些商店购买的饼干的所有成分。而且,很难复制它们。如果你尝试了,你将面临因分享专有饼干而被起诉的风险。
另一个开源的例子:你不会买一辆焊死了引擎盖的车,那么为什么我们要购买专有软件呢?如果你看不到发生了什么,看不到引擎盖下发生了什么,那么你就只能接受这辆车的现状,这可能不是很好。虽然有些人对此感到满意,但计算机极客不应该如此。我们应该想深入其中并进行修改。
许可
理解版权非常重要。Gina 分享了一张漂亮的花朵图画,这张图画自动受到版权许可的保护,因此她将其更改为知识共享许可。开源和自由及开源软件之间有什么区别?区别在于,自由许可始终要求你以自由许可的方式分享你所做的事情。因此,如果你在开源许可下,并且你进行了修改,你可以更改许可。如果你在自由许可下,你就没有这个选择——许可必须保持不变。
开源历史
了解开源魔力的来源非常重要。在 50 年代,软件和硬件捆绑在一起销售。在 60 年代,这种情况发生了变化,因为司法部认为捆绑硬件和软件是垄断行为。1983 年,Richard Stallman 发起了 GNU 项目,这是自由及开源运动的开始。然后,在 1989 年,第一个 GPL(GNU 通用公共许可证)发布。
这段历史是每个计算机科学毕业生都应该知道的最低限度的知识!特别是理解开源许可,因为我们需要知道人们有什么权利使用我们的软件。
有趣的数据
90% 的财富 500 强公司使用开源软件。
美国所有 50 个州的政府都使用开源软件。
如今 76% 的开发者使用开源工具。
致学生
学生需要了解开源,以便他们在找工作时做好准备。通过学习开源,学生通过在虚拟团队中工作和协作来向他人学习编码。通过参与开源项目,学生学习如何学习,因为没有人会手把手地教你,你必须自己学习很多东西。这就是学生学习如何解决问题、提出聪明的问题和阅读文档的方式。通过教授开源,学生可以接触到真实的代码,fork 代码,并讨论为什么这是一个好/坏主意。
作者注: 我个人不记得我在计算机科学课程中编写的任何程序;它们对我没有任何好处,也没有被保存下来供我回顾。参与开源项目的学生知道他们正在处理真实的代码,这些代码正在被真实的人使用。
贡献项目
如果你正在寻找项目,请查看人道主义自由及开源 (HFOSS) 项目,因为这些项目会吸引更多样化的受众。它们也是让更多女性参与进来的好方法。参与项目是教授学生的一项重要技能,因为在现实世界中你永远不会单独工作。此外,你自己编写代码的可能性非常小。通常你会在一个已经存在的项目上进行添加,并学习如何与其他开发者沟通。
参与开源项目还将使你与行业贡献者建立联系;学生会在找工作时发现这有很大的帮助,而且这是一种证明自己的方式!
开源的狂野西部
我们如何区分开源和专有?我们已经讨论了许可,但还有其他需要了解的事情,例如开源原则和开源社区。
原则包括
- 开放交流:沟通是透明的
- 参与:当我们可以自由协作时,我们创造
- 快速原型设计:可能导致快速失败,但这会带来更好的解决方案
- 精英管理:最好的想法获胜
- 社区:团结起来,我们可以做得更多
所有这些听起来都很棒,对吧?嗯,有一些问题。首先,如果你是一名教师,你习惯于了解你所教内容的一切。开源项目很可怕,因为你不会完全了解它们。这里有一个机会,通过让自己扮演这个角色,你教会你的孩子们不知道一切是可以的,并向他们展示如何提出正确的问题并学习如何学习。这就是我们成长的过程:即使我们的代码没有被接受,我们也会成长。学习到这一点将使学生能够学习任何系统。
其次,贡献开源可能会让你成为一个陌生环境中的陌生人。很多时候没有经理或负责人,这可能有点像狂野西部。这不是一个你可以控制的环境。你将是一位客人。这不会像走进教室并说:我们今天要做这个那样。此外,有时开源社区中的某人可能会具有攻击性。有了自由和透明度,就会有意见,有时这些意见的表达方式并不礼貌。如果开源中有一个人力资源部门,那么其中一些事情就不会发生,但开源不是这样运作的。它就像互联网,一切都是开放的,任何人都可以说任何话。好处是,作为一名教师,你可以在这些情况下帮助你的学生,并告诉他们什么是适当的礼仪,什么是不适当的礼仪。你可以从 Gina 在 ApacheCon 的主题演讲中了解更多关于开源项目礼仪的信息。
“令人惊叹的是,可怕的事情可以多么美好,”Gina 说。
教师如何以开源作为合作伙伴向前迈进?请查看 POSSE:一个旨在教导教育工作者他们需要知道什么,以便他们可以在课堂上教授开源的会议。另外,请查看 TeachingOpenSource.org 并注册邮件列表。最后,请务必探索 OpenHatch,以寻找构建课程的机会和工具。
修订自 这篇文章。
9 条评论