什么是开源?许可、历史及更多

还没有读者喜欢这篇文章。
Beginners to Open Source, code background

Opensource.com

最近,我有幸参加了 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,以寻找构建课程的机会和工具。

修订自 这篇文章

标签
User profile image.
Nicole C. Baratta (Engard) 是 Red Hat 的高级内容策略师。她获得了 Drexel University 的 MLIS 学位和 Juniata College 的 BA 学位。Nicole 担任 ChickTech Austin 的志愿者主管。Nicole 以其众多出版物而闻名,包括她的著作《Library Mashups》、《More Library Mashups》和《Practical Open Source Software for Libraries》。

9 条评论

“许可”段落说:

“开源和自由及开源软件之间有什么区别?区别在于,自由许可始终要求你以自由许可的方式分享你所做的事情。因此,如果你在开源许可下,并且你进行了修改,你可以更改许可。如果你在自由许可下,你就没有这个选择——许可必须保持不变。”

这种“自由”和“开源”之间的区别是非标准的。“开源”和“自由软件”本质上是同义词,“自由软件”是一个更古老且更具政治色彩的术语。这里描述的区别似乎是指 copyleft 和 permissive 之间的区别,这是自由软件/开源许可的两个主要变体。Permissive 许可允许修改后的版本在其他更具限制性的许可下发布,但 copyleft 许可要求分发的修改后的版本至少在某些情况下必须在相同的许可下发布,并且在一定程度上进行了简化。例如,GPL 是一种开源许可,但如果你分发 GPL 许可软件的衍生作品,它们必须在 GPL 许可下获得许可。

Richard,你是对的,我指的是 copyleft 和 permissive 的区别。我也使用了术语 “permissive” 和 “copyleft”,将来我会坚持使用这些(更清晰的)术语,而不会用 “自由许可” 来混淆视听。 :-)

回复 ,作者 fontana

是的,“许可”部分完全错了。

相反,*真正的*自由许可*不*要求衍生作品在相同的许可下共享,例如 BSD 风格的许可。这些许可与 GPL 和其他 copyleft 许可一样,都获得了 OSI 批准。另一个例子是 CC-BY:它几乎与大多数版权法下的任何许可一样自由,并且它不对衍生作品强制执行许可。

当你谈论自由时,你必须牢记用户自由的目标。在这种背景下,*真正的*自由许可*确实*要求衍生作品在相同的许可下共享,否则代码可能会变为专有,用户的自由会被剥夺。
人们必须理解,所谓的 “permissive 许可” 损害了用户的自由和社会。
就像说一个每个人都可以自由杀戮任何人的社会是 *真正的自由* 社会一样,但我认为没有人会想住在那里或认为这是一个自由的社会 :)

回复 ,作者 Dominik George (未验证)

感谢您的澄清。请记住,我当时正在直播活动,可能错过了一些内容,但在将任何这些信息付诸实践之前,我会做更多的研究。

回复 ,作者 Dominik George (未验证)

有趣,我也觉得许可被过度简化/不正确了。开源许可(OSI 批准)是一个超集,其中包括所有(我认为)“自由”许可。这里的自由通常指的是 copyleft,以及任何衍生作品都必须在相同许可下共享的要求。Permissive 开源许可通常没有这样的要求,在法律上通常更简单,因为它们不需要关注 “衍生作品” 是什么,不会受到兼容性问题的影响,并且当你的主要目标是共享、传播、重用时,它们可能更可取。它们几乎总是需要署名,最简单的例子是 CC-BY 与 CC-BY-SA。

自由和开源之间的争论可能会变得非常激烈,就我个人而言,我最初的开源工作是作为自由的倡导者,但发现 permissive 许可更简单、更务实(恕我直言)的方法更好。项目不仅仅是许可,但这是你开始新项目时的关键选择。有趣的是,学术开放获取出版似乎在很大程度上选择了 CC-BY(至少在 STEM 领域是这样),Figshare 对文章使用 CC-BY,对数据使用 CC0。随着数据共享变得更容易,许多领域的最佳实践正在建立。关于许可的最重要信息之一是使用一种许可,其次是使用现有的许可,而不是创建自己的许可(或添加任意修改)。

这是第一个给出“法庭”的说法...我只是想冒险猜测你指的是美国或加利福尼亚州的法院,但这只是为了滑稽的闹剧... 60 年代的信誉,对捆绑表示轻微的认可,紧接着是 RMS,就好像 RAND 公司的 50 年代初期的军用标准诚实(这与任何没有在国家/参议院/委员会工作的营销部门形成鲜明对比)或早期的 RMS 软件自由都没有花费时间来反击那些带着装满 XML 风格许可证的活页夹的人。这使得空军基地在 03 年(当钥匙扣(装满 SGML)和反腐败进行了一场大战,最终邀请了 OAS)之前一直很奇怪地干净。

那么,为什么(有人可能会问 Gina)我们要教授许可证而不是特定的项目(机制、SPA 和 FOSS 选项等)?我不理解课程的原子性!
从 Nicole Engard 的 http://www.web2learning.net/2015/04/18/ccsc-sc-opensource/ 文章中删除的链接
RedHat.com/posse/ 教授的开源暑期体验;在离你所在大陆不远的地方占用七月底的一个周末。
teachingopensource.org 获取其他资产,以及你学生的语言!
openhatch.org 非营利性 FOSS 媒人和入门平台。
我希望这能使内容更加完善?

开源是大多数用户或计算机最糟糕的敌人,许多人都有情况,因为开源的概念也相当于是伪装成专业副学士学位的侦探的罪犯,这些人与那些利用开源力量作恶的 Hector 敌人或仅仅是做肮脏的杀戮或造成任何损害代码工作的人是相同的
我作为开源平原 No. 1 电话移除 ubuntu 或任何其他操作系统黑暗家族 Linux 的总裁来到这里,目的是吞噬无辜的人们,让他们拥有自闭症等能力,并且仍然有困难让我 qun 家族毫不理会 现在 redhat ubuntu touch firefox 并成为对法律的最大威胁,因为像稀有系统 linux 带来的恶魔 木马 恶意市场 他们用它们来骚扰其他用户或造成情感伤害或杀戮 带来的可怕的暗示是不对这种类型的恶意人开放的技术概念

人们喜欢你这里的观点。像 <a href="http://www.pureassignments.com/someone-do-my-homework-for-money.php">Pureassignments</a> 这样的组织如此有吸引力。当我在一个容器中努力同时完成三项作业时,它的论文作者帮助了我。我称赞他脱颖而出,但任务最好,他出色地适应了它。

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