1. 首页
  2. 养车用车
  3. GPL前世今生

GPL前世今生

简介:关于GPL前世今生的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于养车用车技术大全及相关资讯,可以多多关注茶馆百科网。

任何参与Linux开发的人都听说过GPL,但是GPL到底是什么呢?他有什么用?这篇文章将给你一个详细的解释。

在我们了解GPL之前,我们必须了解GNU是什么。

GNU: GNU 'snotunix。也被称为Genu计划。

GNU的创始人Richard Matthew Stallman。

GNU是一个自由的操作系统,其内容软件完全按照GPL发布。

这个操作系统是GNU项目的主要目标,它的名字来自于**GNU的NotUNIX!**缩写【这种递归命名方法也只有程序猿大神能想到】

GNU也是软件的集合,如Emas、gcc、bash、gawk等。

因为没有内核(这意味着GNU系统在实验室中已经过时了)。

因为GNU的设计类似于Unix,但它不包含受版权保护的Unix代码。

当计算机工业在第二次世界大战后(1939-1945)兴起时,闭源软件的概念还没有诞生。在那个时代,所有的代码都是自由共享的,可以随意修改和重新分发。

后来,一些人开始只分发闭源程序,这些程序通常是二进制文件,其原始代码几乎无法破译。1983年,IBM成为第一家发布闭源软件的大型企业;ATT紧随其后,对原本免费的Unix更新收取数万美元的费用。

对于许多人来说,很难接受日常使用的Unix突然变得如此昂贵。

他们中的一个,理查德斯托曼(被称为RMS)挺身而出。他发起了GNU工程,他希望有一天能使从操作系统到应用程序的一切都可以免费获得。

做到这一点的方法是将我们今天谈到的GPL许可证包含在你的软件中。

GPL:只要软件包含另一个GPL下的产品或代码,该软件也必须在GPL下开源和免费。

它具有以下特点:

总而言之,更改必须在GPL许可下开源发布。

通过将这个称为GPL的许可证添加到您的代码中,您可以保证您的软件的用户可以自由地运行、学习、共享和修改您的代码。

此外,源自您软件的任何修改都必须遵守本许可协议。

有趣的一点是,拥有代码的人有权使用它来开发软件并赚钱。

然而,在某人购买了软件之后,该人可以自由地与他人共享软件,而不必担心侵权甚至被起诉,因为对于符合开源协议的软件来说,不存在“盗版”这样的事情。

因此,开源协议极大地增强了软件用户的权利。

要理解GNU的精神,就要理解GPL所说的是什么,也就是开源。

在现实生活中,我们受益于GPL的地方,事实上,除了windows之外,几乎所有的操作系统都是基于linux开源代码的。

以下是Linux内核网卡DM9000驱动的版权声明:

DM9000是由Davicom公司生产的一款非常受欢迎的网卡芯片。

第一个红框声明代码的版权属于作者StenWang。第二个红框表示用户必须遵守GeneralPublicLicense (GPL)。

LinusTorvalds相信GPL是Linux成功的重要组成部分

虽然不是每个开源软件都喜欢GPL,但是如果没有它,Linux和整个开源世界可能就不会存在。

以下摘自LinusTorvalds自传07555 -79000

其他开源协议的比较

BSD开源协议是一个给用户很大自由的协议。基本上,用户可以“做任何他们想做的事”。他们可以自由地使用源代码,修改它,并将修改后的代码作为开源或专有软件重新发布。

当您发布使用BSD的代码或基于BSD代码重新开发产品时,

需要满足三个条件:

BSD代码鼓励代码共享,但尊重代码作者的版权。BSD是一个业务集成友好的协议,因为它允许用户修改和重新分发代码,以及使用或在BSD代码之上开发用于分发和销售的商业软件。许多公司在选择开源产品时更喜欢BSD协议,因为他们可以完全控制第三方代码,这些代码可以在必要时进行修改或重新开发。

ApacheLicence是Apache使用的协议,Apache是一个著名的非盈利开源组织。

与BSD类似,该协议也鼓励代码共享,尊重原作者的版权,并允许修改和重新分发代码(作为开源或商业软件)。

需要满足的条件与BSD类似:

您可以添加您的权限通知,但它不应该改变ApacheLicence。

ApacheLicence也被授权用于商业用途。用户还可以根据需要修改代码以满足他们的需要,并将其作为开源或商业产品发布/销售。

LGPL是GPL的一个开源协议,主要是为库使用而设计的。

与GPL不同,GPL要求任何使用/修改/派生GPL类库的软件必须使用GPL协议。

LGPL允许商业软件通过库引用使用LGPL库,而不需要开放源代码的商业软件代码。

这允许使用LGPL协议的开源代码作为类库被商业软件引用和分发。

但是,如果修改代码或LGPL的派生代码,则所有修改的代码、涉及修改的附加代码和派生代码都必须使用LGPL。

因此,LGPL开源代码适合商业软件作为第三方类库参考,但不适合商业软件希望以LGPL代码为基础,通过修改和派生的方式做二次开发。

GPL/LGPL既保护原作者的知识产权,又防止他人使用开源代码复制和开发类似的产品

MIT是一个和BSD一样广泛的许可证,作者只想保留版权而不受任何其他限制。

也就是说,您必须在您的发行版中包含原始的许可声明,无论您是以二进制还是源代码的形式发布它。

下图展示了一个完整的Android软件系统所使用的所有协议的分布。

与Android最密切相关的两个领域是驱动程序和glibc

Glibc是linux上占主导地位的c运行库,几乎每个linux程序都依赖于c运行库。

由于glibc是由gpl授权的,因此如果使用glibc作为crt,那么根据上一个问题的第二部分,这些程序必须是开源的。

所以Android使用bionic作为c运行时库,而不是glibc来绕过gpl

至于驱动程序,Android是基于Linux内核的,它是由GPL授权的。

驱动程序通常作为内核模块添加到内核中。

内核模块是Linux内核的衍生物,应该在GPL下开源发布。

Android是由开放手机联盟(Open Handset Alliance)联合开发的,为了保护联盟中手机厂商的利益,驱动程序不能完全开源。

所以Android引入了HAL,一个linux内核的后门,并增加了一些系统调用。

按照GPL的要求,HAL在内核的某些部分是开源的。

驱动程序开发人员可以在用户模式下使用这些新的系统调用来完成驱动程序开发。因此在驱动程序方面绕过了GPL。

了解更多关于:

版权俗称版权,又称版权。

版权,又称著作权,用来描述创作者对其文学艺术作品享有的权利。版权可以通过两种方式获得:自动获得和注册获得。在中国,根据著作权法,作品在完成后自动获得著作权。

简单地说,版权只是定义了谁拥有作品的权利,具体的权利取决于当地的法律。

例如,其中一个定义是:

根据规定,作者享有以下权利:

在此基础上,作者还可以制定许可协议(license),具体界定用户的权利。

换句话说,

例如,商业许可协议(license)可能倾向于强调用户的行为是侵权行为,以保护他们的商业利益。

与这种商业许可风格相反的是由RMS等人领导的copyleft思潮。其理念是允许作者在保护其基本版权的同时,通过在其作品中添加开源许可来扩大用户的权力。

以RMS在1998年为GNU项目编写的GLP协议为例,该协议允许用户自由地运行、研究、共享和修改源代码。

本文主要介绍了关于GPL前世今生的相关养殖或种植技术,养车用车栏目还介绍了该行业生产经营方式及经营管理,关注养车用车发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解养车用车技术怎么管理的要点,是您养车用车致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/1616399.html