发布信息

开源软件协议这个话题,你真的了解吗?

作者:软荐小编      2023-07-21 23:05:15     202

大家好生产软件 合同,我是痞子恒,一个认真科技的痞子。 明天皮子恒给大家讲一下开源软件合约的基础知识。

牛顿曾说过:“如果说我比别人看得更远,那是因为我站在巨人的肩膀上。” 在软件开发中,如果有一个巨人的右臂让我们站立,我想这个巨人应该是开源软件。 一个优秀的软件开发人员应该善于学习和使用开源软件来加速自己的发展。 为了正确使用开源软件,我们必须了解开源软件合同。 明天我们来聊聊开源软件协议的话题。

1.什么是开源软件?

生产软件 合同_合同生产软件怎么做_合同制作软件

所谓“开源软件”(open-source software)从字面意思理解为开放源代码软件,即软件发布时,附有该软件的源代码,并授权用户修改/自由重新分发/派生垄断权。

开源软件一般都具有版权(垄断权),其License(许可)可能包含一些额外的限制:刻意保护其开源状态、作者身份的声明或开发控制。

说到开源软件,人们通常会想到两个形容词:自由和免费。 大多数开源软件都是免费的(但与商业收费并不矛盾),而且开源软件的使用往往是相对自由的(自由程度取决于其许可证)。 因此,还有另外两个概念经常引起对开源软件的混淆和误解:“自由软件”和“自由软件”

除了后面介绍的三类软件外,还有一个概念:“商业软件”,即作为商品来实现营利目的的软件。 这些软件通常不包含源代码,并且受到各种严格的版权限制。

从介绍中可以看出,自由软件和商业软件是完全对立的,而开源软件是自由软件和商业软件之间的折中方案。 它不仅继承了“自由软件”所倡导的知识共享理念,而且让人们以专利的形式从知识产品中获得利益,从而保护了人们生产和创造知识产品的积极性。

2. 为什么会有开源软件?

在谈论开源软件为何存在之前,我们首先应该谈谈商业软件(专有软件)的后果是什么。 以下是两种可能的后果:

既然有开源软件,就意味着开源软件肯定能带来好处,那么它能帮助我们解决哪些问题呢?

其实开源软件的目的就是让软件能够得到最大程度的利用。

3、开源软件合约浪潮

合同制作软件_生产软件 合同_合同生产软件怎么做

正如后面提到的,所有开源软件都有许可证。 猜猜到目前为止世界上有多少个开源软件许可证? 据简要统计,有数百种(GNU组织组织的开源合约清单),目前OSI(OpenSource Initiative)组织批准的开源软件合同有60多个(OSI组织批准的开源合同清单)

虽然开源软件合约非常多,但我们只需要了解最常用的几个即可。 有六种常用的开源软件许可证:

4.了解常见的开源软件合约

后面介绍6种常见开源合约的名称和由来。 要了解每个许可证的具体限制(开源状态、作者身份声明和开发控制),我们可以逐句阅读许可证冗长的原文,并且有更简单的形式来快速区分它们。 以下是快速区分的五个特征:

根据以上5个特征,我们可以快速将开源软件合约分为6类,如右图所示:

合同制作软件_合同生产软件怎么做_生产软件 合同

从个人使用开源软件的灵活性来看:MIT是最自由、不受限制的。 与MIT签约的开源软件的作者只想保留版权,其他方面你可以自由使用; 而 GPL 限制是最严格的。 如果您使用GPL开源软件,您的软件也必须在GPL合同下开源。

从开源软件对社会传播的影响来看:GPL最能促进知识共享,任何基于GPL开源软件的新成果都可以很容易地被公众学习和分享; 而MIT只是帮助分享开源软件本身的成果,而基于MIT开源软件的新成果往往被二次开发者私有。

5. 常见开源软件合约之间的兼容性

如果你已经了解了上面介绍的内容,那么你现在应该能够轻松处理基于单一开源软件进行二次开发的License问题了。 但在实际使用中,你的项目可能会引用多个开源软件。 这时候就涉及到开源软件合约之间的兼容性问题,即需要考虑两个核心问题:

开源软件合约按照使用限制的强弱可以分为三类:许可型、弱保护型、强保护型; 一般来说,强限制合约可以与弱限制合约向上兼容(这意味着软件的最终许可取决于强限制合约),但两个限制完全相反的合约很难兼容(这意味着软件开发不能同时引用这两个开源软件)。 右图展示了6种常见开源软件合约之间的兼容性。

合同生产软件怎么做_生产软件 合同_合同制作软件

从A框到B框的箭头表示A框和B框内的合约是兼容的(两个开源软件可以组合使用)生产软件 合同,最终的许可取决于B框内的合约; 如果两个方框之间没有双向箭头,则说明两个方框内的合约不兼容(两个开源软件不能组合使用)。

例如:MIT->BSD->Apache->LGPLv3->GPLv3 是双向路径。 此路径上的任何两个或多个开源软件都可以组合使用。 软件的最终许可取决于路径上箭头末尾的开源软件合同。 MPLApache是​​单向链接,链接两端的MPL和Apache合约不兼容,因此很难组合使用。

6. 如何选择开源软件合约?

至此,开源软件合约的话题就基本结束了。 虽然你应该知道如何选择合适的开源软件合约,但你应该去各大开源社区搜索你需要的开源项目。 你在等什么? 但请记住,如果你找到了合适的开源项目,请记得浏览一下它的许可内容,也许你会遇到惊喜,比如下面的WTFPL2.0合约:

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004
Copyright (C) 2004 Sam Hocevar Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long
as
the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE   TERMS AND ConDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION  0. You just DO WHAT THE FUCK YOU WANT TO.

至此,开源软件合约的基础知识已经被皮子恒介绍完了,掌声在哪~~~

参考:

[1]。 开源软件、自由软件和自由软件的区别

[2]。 科普:你应该知道的四种常见开源许可证

[3]。 9个主流开源许可合约(整理)

[4]。 如何选择开源许可证? ——阮一峰

[5].TheFree-Libre/OpenSourceSoftware(FLOSS)LicenseSlide

[6]。 最厉害最暴力的开源合约:WTFPL

相关内容 查看全部