点击下方“JavaEdge”,选择“设为星标”

第一时间关注技术干货!

免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」; 不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。 怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」

打开网易新闻 查看更多图片

其实,早在 19 年我大学毕业时,redis 就有了行动。

Redis当年增加新的可用源代码许可证RSAL(Redis Source Available License)。

打开网易新闻 查看更多图片

Redis Labs 2018年8月份已经对Redis自建模块的许可协议进行过变更,由之前的AGPL(Affero GPL),变更为非OSI(开发源代码促进会)规范的Apache2.0和Commons Clause相结合的许可。

2018年8月Redis Labs对于Redis及各自建模块的授权规范。

截至 2024 年 3 月末的模块许可证:

BSD是啥?

1979年加州大学伯克利分校发布BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。Redis核心(Redis Core)初期就是BSD。

BSD开源协议是给于使用者很大自由,基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。最新的BSD许可也称3-Clause BSD,当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需满足:

  • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议

  • 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广

Apache Licence

Apache Licence则是另外一个知名非盈利开源组织Apache基金会所采用的许可协议。目前的版本是Apache Licence 2.0。此前Redis部分模块就是用该协议许可。和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布。该协议需满足:

  • 需要给代码的用户一份Apache Licence。

  • 如果你修改了代码,需要再被修改的文件中说明。

  • 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明

  • 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改

AGPL协议

1983年,自由软件运动的先驱、精神领袖理查德·斯托曼决心要开发一个完全自由的、与Unix完全兼容但功能更强大的操作系统,以便为所有的计算机使用者提供一个功能齐全、性能良好的基本系统,为了把这个系统和UNIX区分开来,他采用“递归”方式把它定义为GNU,即:GNU’s Not Unix,一般读作[gru:]。

1985年理查德·斯托曼又创立了自由软件基金会(FSD)来为GNU计划提供技术、法律以及财政支持。GNU计划开发了一系列知名的软件,GNU/Linux(或简称Linux)、Emacs文字编辑器、GCC编译器,以及大部分UNIX系统的程序库和工具。

GPL是GNU最重要的一款协议,全称是GNU通用公共许可证(GNU General Public License)。GPL要求软件以源代码的形式发布,并规定任何用户能够以源代码的形式将软件复制或发布给别的用户;如果用户使用了受 GPL 保护的任何软件的一部分,那么该软件就继承了 GPL 软件,并因此而成为 GPL 软件,也就是说必须随应用程序一起发布源代码,也因此GPL很难被商业软件所应用。所以后来GNU推出了LGPL许可证,全称是:GNU较宽松公共许可证 (GNU Lesser General Public License)。LGPL允许实体连接私人代码到开放源代码,并可以在任何形式下发布这些合成的二进制代码。只要这些代码是动态连接的就没有限制。

即不许销售,不许存在于商业环境。

2024.3.20

就在不久前,redis 核心模块声明:

打开网易新闻 查看更多图片

Redis从 7.4 开始使用 RSALv2 与 SSPLv1,不再满足 OSI 关于 “开源软件” 的定义。但不要搞错:Redis “不开源” 不是 Redis 的耻辱,而是“开源/OSI”的耻辱—— 它反映出开源组织/理念的过气。

开软软件自由的头号大敌

是云计算服务!“开源” 与 “闭源” 也不再是软件行业的核心矛盾,斗争的焦点变为 “云上服务” 与 “本地优先”。公有云厂商搭着开源软件便车白嫖社区成果,注定引发社区的强烈反感!

抵御云厂商白嫖,修改协议是最常见做法:但AGPLv3 过于严格容易敌我皆伤,SSPL 因为明确表达这种敌我歧视,不被算作开源。业界需要一种新的歧视性软件许可证协议,来达到名正言顺区分敌我的效果

开源风格已经过气

真正重要的事情一直都是软件自由,而“开源”只是实现软件自由的一种手段。而如果“开源”的理念无法适应新阶段矛盾斗争的需求,甚至会妨碍软件自由,它一样会过气,并不再重要,并最终被新的理念与实践所替代。

“我想直率地说:多年来,我们就像个傻子一样,他们拿着我们开发的东西大赚了一笔”。—— Redis Labs 首席执行官 Ofer Bengal

当 Redis 宣布更改协议后,马上就有 AWS 员工跳出来 Fork Redis —— “Redis 不开源了,我们的分叉才是真开源!” 然后 AWS CTO 出来叫好,并假惺惺地说:这是我们员工的个人行为 —— 云厂商们真是杀人诛心,恬不知耻!

公众号:JavaEdge 专注分享软件开发全生态相关技术文章、视频教程资源、热点资讯等,如果喜欢我的分享,给 点一个赞 或者 ➕关注 都是对我最大的支持。

欢迎长按图片加好友,我会第一时间和你分享软件行业趋势面试资源学习途径等等。

添加好友备注【技术群交流】拉你进技术交流群

关注公众号后,在后台私信:

  • 更多教程资源应有尽有,欢迎关注,慢慢获取