搜索
中关村商情网 首页 IT业界 科技资讯 查看内容

开源许可:你需要知道的一切

2025-1-13 01:27| 发布者: admin| 查看: 351| 评论: 0

摘要: 开源让技术世界运转,形成高达90%现代软件堆栈,通过结构; 图书馆; 数据库; 操作系统;不计其数独立应用程序.开源软件的好处是众所周知的,承诺更大的控制和透明度。然而,有一个长期斗争在开源和专有领域之间,导致 ...
开源让技术世界运转,形成高达90%现代软件堆栈,通过结构; 图书馆; 数据库; 操作系统;不计其数独立应用程序.

开源软件的好处是众所周知的,承诺更大的控制和透明度。然而,有一个长期斗争在开源和专有领域之间,导致许多公司退出开源以保护他们的商业利益。这一切的核心是棘手的许可问题。


有两种广泛的许可符合正式的开源定义正如开放源码倡议(开放式系统互联参考模型(Open System Interconnect Reference Model)).“许可”许可证在用户如何修改和分发软件方面几乎没有限制,这使得它们受到希望将其用于商业用途的公司的欢迎。还有“左版权”许可证,它提供了类似的自由,但有一个值得注意的警告:软件的任何修改版本也必须在相同的原始左版权许可证下发布。这对于希望保护其专有作品的企业来说并不那么有吸引力。

但是不止如此,每个桶中存在各种许可证。此外,有数不清的许可证,虽然不是严格意义上的开源,但也值得了解。

自由的
麻省理工学院(Massachu-setts Institute of Technology)
起源于20世纪80年代的麻省理工学院,名副其实麻省理工学院(Massachu-setts Institute of Technology)许可证是大多数标准中最受欢迎的开源许可证,位于榜首在GitHub开发社区中很多年了.

由项目使用,包括反应(前端JavaScript库)和红宝石(通用编程语言),麻省理工学院的许可证允许开发者以他们喜欢的方式使用软件。与大多数此类许可一样,它是无担保提供的,这意味着作者免除因其软件造成的损害(如数据丢失)而导致的任何责任。所有开发者需要担心的是在任何衍生作品中包含原始版权声明和麻省理工学院许可证。

但是麻省理工学院的许可证有一个缺点:它没有明确授予专利权。这意味着,如果某个软件依赖于专利技术,这可能会给开发人员带来法律上的不确定性,因为他们部署软件时没有为所述专利技术获得单独的许可。

然而,这强调了麻省理工学院许可证的一个关键卖点:只要200字,语言简洁明了。用含糊不清的、词藻混乱的专利言论来搅浑事情,会给不太可能与专利有关的项目增加不必要的复杂性,比如高级编程语言或web框架。

但是许多开源项目确实与专利技术交叉,比如像Android这样以硬件为中心的软件。

Apache许可证2.0
Apache软件基金会发布了Apache许可证2.02004年,对早期许可证的更新,明确授予专利以保护用户免受诉讼。例如,如果一个开发者为一个Apache 2.0许可的项目贡献了一个独特的图像处理算法,那么该开发者拥有的关于该算法的任何专利都会自动许可给该软件的所有用户。

大多数人都熟悉谷歌品牌的Android,它充满了应用商店和一套自主开发的工具和服务。但是在Apache 2.0许可下,基本的Android开源项目(AOSP)实际上是可用的谷歌的故意之举2008年,为了对抗苹果,并鼓励手机制造商使用Android,而不是当时的其他专利厂商(如Symbian)。而且成功了。三星、HTC、LG和所有其他公司都跳到了Android上。

不过,这种做法的一个副产品是Apache License 2.0字数的五倍麻省理工学院,由于专利授权文本,除其他补充和澄清。但这是一种权衡,它说明了两种最常见的许可性开源许可证之间的关键区别。

其他许可许可证
BSD 2条款许可证与麻省理工学院相似,但是在语言使用上有很大的不同。例如,它规定许可证的副本应该包含在源代码和编译后的二进制文件中。然后是BSD 3条款许可证,它有一个附加的“不认可”条款,限制在任何衍生项目中出于推广目的使用版权所有者和贡献者的姓名。

还有一个麻省理工学院无归属许可证(MIT-0),它比MIT更简单,因为在衍生软件中没有归属的要求。除了作者保留版权和将来改变事物的能力之外,使用它接近于把软件放入公共领域。

向左复制
GNU通用公共许可证(GPL)版本2.0和3.0
自由软件基金会(FSF)于1989年发布了GNU通用公共许可证(GPL),是第一批用于一般用途的copyright left许可证之一。

与单个公司实体支持的项目相比,copyright left许可证通常更适合需要社区投入的项目。通过要求所有修改在相同的开源许可证下仍然可用,这向贡献者保证了他们的辛勤工作不会被用于专有软件,而不会使更广泛的社区受益——至少在理论上,因为很难发现每个违规行为,然后强制执行许可证的条款。

于2007年推出,GPL 3.0是第三受欢迎的许可证,根据GitHub的数据。该许可证带来了显著的更新GPL 2.0,包括专利授权条款和改进的与其他开源许可证的兼容性。它还禁止所谓的“Tivoization”,即受益于GPL许可软件的硬件制造商使用数字版权管理(DRM)机制阻止用户安装该软件的修改版本。

值得注意的GPL采用者包括WordPress,它在GPL 2.0“或更高版本”的许可下可用,让开发者决定他们在哪个许可下发布任何修改。

就Linux而言,它是有史以来最成功的开源项目之一,被用于服务器、云基础设施、嵌入式系统甚至Android。然而,基础Linux内核只有在GPL 2.0许可下才可用,因为Linux创造者Linus Torvalds反对其中的一些条款在许可证的3.0版本中添加—包括Tivoization条款。

GNU Affero通用公共许可证(AGPL) 3.0
Affero通用公共许可证(AGPL)类似于GPL 3.0,在某种程度上,它是一个“强大的”版权许可,促进软件自由并确保修改后的版本保持开源。然而,与AGPL的一个关键区别是,它专注于基于网络的服务和应用程序,软件从服务器上运行,而不是作为可执行文件分发。

在GPL 3.0许可下,如果修改后的软件在网络上运行,开发者不需要像SaaS应用程序那样发布源代码。AGPL许可证堵住了这个漏洞,要求第三方提供源代码,即使修改后的软件只在服务器上运行。

由自由软件基金会于2007年发布的AGPL 3.0许可证越来越受欢迎,这在很大程度上是由于云计算和SaaS的兴起第五大最受欢迎的开源许可证.

GNU宽松通用公共许可证(LGPL)
也是自由软件基金会的产品GNU宽松通用公共许可证(LGPL)是一个“弱”的左版权许可证,因为它对商业更友好,对共享的内容没有那么严格的规定。LGPL通常用于软件库,项目作者希望鼓励来自社区的贡献,但它允许专有软件链接到库,而不必开放其全部专有代码的源代码。如果有人修改了开源库本身,那么他们只需要在LGPL许可证下发布这些修改。

Mozilla公共许可证2.0
由Mozilla基金会于2012年发布Mozilla公共许可证(MPL) 2.0是当今第十大流行的开源许可证GitHub的许可证指标。MPL也是一个弱版权许可证,旨在保护专有代码,同时使开发人员能够从开源软件中受益。

然而,当LGPL专注于库级别,而GPL专注于项目级别时,MPL在单个文件级别运行,要求用户共享一组更窄的代码。

公共领域和知识共享
虽然“开源许可证”授予特定的权利,但总是有附加的规定。然而,那些想把他们的软件完全放在公共领域而没有任何限制的人,可以通过其他方式来实现。

仅仅发布没有许可证的软件是不够的;版权法默认适用于大多数创造性作品,包括软件。这就是“公共领域奉献”可以有所帮助的地方。

专为软件设计的无执照是GitHub上第九受欢迎的许可证(尽管它是否真的可以被称为“许可证”还有待商榷)。尽管OSI被认可的作为2020年的许可证,它指出该文件“起草得很差”,并质疑其在司法管辖区(如德国)的法律效力,在那里不可能向公共领域捐赠作品。

比如无许可,知识共享CC0-1.0也是一个公共领域的奉献工具,尽管它更广泛地关注于创造性的作品。它使用更清晰、更专业的法律语言,可能更符合国际法。值得注意的是,知识共享已申请CC0-1.0认证作为2012年的开源兼容许可,但是撤回申请在OSI提出明确排除专利授权的担忧后。

还有其他公共奉献工具,如零子句BSD,这可能很有吸引力,因为它有更简单的语言。然而,对于放弃给定软件的所有权利的最佳机制,还没有达成共识。

“假笔”来源
软件领域还有无数其他的许可范例。

在某些情况下,企业会在双许可证模式,用户可以根据自己的意图在公认的开放源码许可和商业许可之间进行选择。然后是“开放核心”,它在开源许可下提供软件,但关键特性是付费的。在其他情况下,公司可能会添加一个公地条款一个许可的开源许可证的附录,将商业限制放在适当的位置。

也有很多许可证看起来和闻起来像开源,但最终与开源的定义不兼容。

2018年,数据库巨头MongoDB从版权所有的AGPL许可证过渡到服务器端公共许可证(SSPL),一个MongoDB自己创作的许可证。虽然SSPL仍然相当“开放”,但它被称为“源代码可用”,因为代码是可访问的,但有重大的商业限制,这是一个大忌就OSI而言。

这MariaDB的人们商业源代码许可证(BUSL)也走了一条类似的路,它在经过一定年限后过渡到真正的开源许可证之前施加商业限制。还有一个类似的运动正在进行那就找机会赚”公平来源“许可一个东西。这包括功能源许可证被吹捧为比BUSL更简单的选择。

你可能还会遇到所谓的“伦理来源“许可证不时,如希波克拉底许可证,禁止使用违反国际公认人权的软件。类似地,开放标准JSON文件格式有一个非常宽松的许可,除了结尾有一个滑稽的条款:“该软件应用于正义,而非邪恶.”

鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部