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

尚无读者喜欢此文。
Beginners to Open Source, code background

Opensource.com

最近,我有幸参加了红帽公司的吉娜·莱金斯在 2015 年学院计算科学联盟 (CCSC):中南部会议上关于开源教学的演讲。

开源是...

吉娜首先问听众,有多少人教开源?没有人举手!这意味着吉娜必须从开源的背景开始讲起——她说开源就像一块饼干(美味)。当你烤饼干时,你可以与朋友和家人分享饼干和食谱。如果你分享食谱的人对坚果过敏,而食谱中需要坚果,那么这个人可以修改食谱。人们也有可能拿走食谱并加以改进。当然,你也可以去商店饼干而不是饼干,但你不会确切地知道这些商店购买的饼干的所有成分。而且,也很难复制它们。如果你尝试这样做,你将面临因分享专有饼干而被起诉的风险。

开源的另一个例子:你不会买一辆引擎盖被焊死的汽车,那么为什么我们要购买专有软件呢?如果你看不到发生了什么以及引擎盖下发生了什么,那么你就只能接受这辆车的现状,这可能不是那么好。虽然有些人可以接受,但计算机极客不应该接受。我们应该想进去摆弄一下。

许可

理解版权很重要。吉娜分享了一张漂亮的花朵图画,这张图画自动受到版权许可的保护,因此她将其更改为知识共享许可。开源自由和开源软件之间有什么区别?区别在于自由许可始终要求你以自由许可的方式分享你所做的事情。因此,如果你在开源许可下并进行了修改,你可以更改许可。如果你在自由许可下,你没有这个选项——许可必须保持不变。

开源的历史

了解开源的魔力来自哪里很重要。在 50 年代,软件和硬件捆绑在一起销售。在 60 年代,这种情况发生了变化,因为司法部认为捆绑硬件和软件具有垄断性。1983 年,理查德·斯托曼启动了 GNU 项目,这是自由和开源运动的开始。然后,在 1989 年,发布了第一个 GPL(GNU 通用公共许可证)。

这段历史是每个计算机科学毕业生都应该知道的最基本知识!尤其要理解开源许可,因为我们需要知道人们使用我们软件的权利。

有趣的数据

财富 500 强公司中有 90% 使用开源软件。

美国所有 50 个州的政府都使用开源软件。

如今 76% 的开发人员使用开源工具。

致学生

学生需要了解开源,以便在找工作时做好准备。通过学习开源,学生可以通过在虚拟团队中工作和协作来向他人学习编码。通过参与开源项目,学生学会如何学习,因为没有人会手把手地教你,你必须自学很多东西。这就是学生学习如何解决问题、提出明智的问题和阅读文档的方式。通过教授开源,学生可以处理真实的代码,fork 代码,并讨论为什么这是一个好/坏主意。

作者注:我个人不记得我在计算机科学课程中编写的任何程序;它们对我没有任何好处,也没有保存下来让我回顾。参与开源项目的学生知道他们正在处理真实的代码,这些代码正在被真实的人使用。

贡献项目

如果你正在寻找项目,请关注人道主义自由和开源 (HFOSS) 项目,因为这些项目会吸引更多样化的受众。它们也是让更多女性参与进来的好方法。参与项目是教授学生的一项重要技能,因为在现实世界中你永远不会单独工作。此外,你编写自己的代码的可能性非常小。通常,你会在已有的项目上进行添加,并学习如何与其他开发人员沟通。

参与开源项目还将使你能够与行业贡献者建立联系;学生们会在找工作时发现这有很大帮助,这也是他们证明自己的一种方式!

开源的狂野西部

我们如何区分开源和专有?我们已经讨论了许可,但还有其他需要了解的事情,例如开源原则和开源社区。

原则包括

  • 开放交流:沟通是透明的
  • 参与:当我们可以自由协作时,我们就会创造
  • 快速原型设计:可能导致快速失败,但会带来更好的解决方案
  • 精英管理:最佳想法胜出
  • 社区:团结起来,我们可以做得更多

所有这些听起来都很棒,对吧?嗯,有一些问题。首先,如果你是一名教师,你习惯于了解你所教授的内容的一切。开源项目很可怕,因为你不会完全了解它们。这里有一个机会,通过让自己扮演这个角色,你可以教你的孩子,不知道一切是可以的,并向他们展示如何提出正确的问题并学习如何学习。这就是我们成长的方式:即使我们的代码没有被接受,我们也会成长。学习这一点将使学生能够学习任何系统。

接下来,为开源做贡献可能会让你成为异乡的陌生人。很多时候没有经理或负责人,这可能有点像狂野西部。这不是你可以控制的环境。你将成为客人。它不会像走进教室说:我们今天要做什么。此外,有时开源社区中的人可能会具有攻击性。有了自由和透明,就会有意见,有时这些意见表达得不够礼貌。如果开源中有个人力资源部门,那么其中一些事情就不会发生,但开源不是这样运作的。它就像互联网,一切都是开放的,任何人都可以说任何话。好处是,作为一名教师,你可以帮助你的学生处理这些情况,并告诉他们什么是适当的礼仪,什么是不适当的礼仪。你可以从吉娜在 ApacheCon 的主题演讲中了解更多关于开源项目礼仪的信息。

“令人惊叹的是,可怕的事情可以多么美妙,”吉娜说。

教师如何以开源作为合作伙伴向前迈进?请查看 POSSE:一个旨在教给教育工作者他们需要知道的知识,以便他们可以在课堂上教授开源的会议。此外,请查看 TeachingOpenSource.org 并注册邮件列表。最后,请务必探索 OpenHatch,以寻找构建课程的机会和工具。

修订自 这篇文章

标签
User profile image.
妮可·C·巴拉塔(Engard)是红帽公司的高级内容策略师。她获得了德雷塞尔大学的 MLIS 学位和朱尼亚塔学院的文学学士学位。妮可作为 ChickTech 奥斯汀分会的董事志愿者。妮可以其众多出版物而闻名,包括她的著作《图书馆混搭》、《更多图书馆混搭》和《图书馆实用开源软件》。

9 条评论

“许可”段落说:

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

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

理查德,你说得对,我想要表达的是 copyleft 和 permissive 之间的区别。我也使用了“permissive”和“copyleft”这两个术语,将来我会坚持使用这些(更清晰的)术语,而不是用“自由许可”来混淆视听。 :-)

回复 ,作者:丰塔纳

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

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

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

回复 ,作者:多米尼克·乔治(未验证)

感谢您的澄清。请记住,我是在现场博客报道活动,可能遗漏了一些内容,但在将任何这些信息付诸实践之前,我会做更多的研究。

回复 ,作者:多米尼克·乔治(未验证)

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

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

这是第一个给出“法庭”的说法……我只是想冒险猜测一下,你指的是美国或加利福尼亚州的法庭,这只是出于滑稽的闹剧……“60 年代的信誉,因为对捆绑表示了虚弱的点头,紧随其后的是 RMS,就好像 RAND 公司的 mil-std 诚实在 50 年代早期(这与任何没有在国家/参议院/委员会工作的营销部门的东西形成鲜明对比)或早期的 RMS 软件自由都没有投入时间来反击每个人都在搬运装满 XML 式许可证的活页夹。这使得空军基地从头到尾都很奇怪,一直到 03 年(当时钥匙扣(装满了 SGML)和反腐败进行了一场大战,最终邀请了美洲国家组织。)

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

开源是大多数用户的敌人,也是计算机的最大敌人,许多人都有这种情况,因为开源的概念也被伪装成专业副学士学位的罪犯所利用,就像侦探一样,这些人利用开源的力量来做坏事,赫克托也是同样的敌人,或者只是像他们做肮脏的工作来杀死或造成任何代码损害一样
我作为开源平原 1 号电话的总裁来到这里,删除 Ubuntu 或任何其他操作系统黑暗家族在 Linux 中吞噬像自闭症这样的无辜人民,并且仍然有问题让我 qun 家族不尊重 现在红帽 Ubuntu Touch Firefox 成为对法律的最大威胁,因为像稀有系统 Linux 带来恶魔木马恶意市场,他们用它们来骚扰其他用户或造成情感伤害或杀戮是可怕的暗示,带来的是不对这种类型的恶意人技术概念开放

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

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