OSI强调:SSPL并不是开源许可证

喜欢就关注我们吧!

日前,开放源代码促进会 OSI(Open Source Initiative)强调,SSPL 并不是一个开源许可证。

OSI 表示,SSPL(Server Side Public License) 是一种典型的 “fauxpen”(faux,法语词,同英语 fake,此处强调不是 open) 源许可证:进行更改的人员声称其产品在新许可证下仍保持“开放”状态,但新许可证实际上已夺走了用户权限。实际上,SSPL 曾经提交过给 OSI,然而很快就被其许可证管理人撤回了,因为很明显,该许可证不会被通过。

开源许可证是开源软件生态系统的基础,该系统可以促进软件的协同开发。而 “fauxpen” 源许可证尽管允许用户查看源代码,但不允许其他受开源定义保护的重要权利,比如在任何工作领域都有权使用该程序。虽然其最新采用者 Elastic 在标题为 “Dobling Down on Open” 的帖子中解释,使用该许可证是为了“限制云服务提供商以 OSD6 的形式提供我们的软件即服务”,但实际上损害的是 Elastic 项目外部贡献者的权益: 他们付出了时间和精力,却无法享受自己和共同贡献者的劳动成果,除非同意专有许可证或者自己去 fork。

并不是说像 Elastic 这样的公司不能采用适合自身业务需求的许可证,或者每个人在所有情形下都要选择开源,OSI 只是坚信开源开发模式是开发优质软件更好的方法。对于一个公司来说,随着时间和业务变化,调整许可证也许是正确选择。所以,Elastic 更换许可证不是因为开源模式或者开源协议有缺陷,只是因为其当前的商业模式与开源许可证不一致,他们需要一种专有许可证。

最后,OSI 指出:

What a company may not do is claim or imply that software under a license that has not been approved by the Open Source Initiative, much less a license that does not meet the Open Source Definition, is open source software. It’s deception, plain and simple, to claim that the software has all the benefits and promises of open source when it does not.

一个公司不会宣称或承认处于未被 OSI 认可的许可证下,且该许可证不符合开源定义的软件是开源软件。如果它反而宣称该软件拥有开源的所有好处和承诺,毋庸置疑,这是一种欺骗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Remoting

轉自:http://www.iiiedu.org.tw/knowledge/knowledge20030430_2.htm.NET Remoting 資策會數位教育研究所講師 董淑惠     概念簡介 微軟以往使用COM/DCOM的技術來處理分散式系統架構,透過Client端的Proxy代理程式來呼叫遠端Server機器上的物件。.NET Framework則…

jdbc连接mysql8的一些坑_mysql8.0 jdbc连接注意事项

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼url增加参数useSSL 和时区 : jdbc:mysql://localhost:3306/mydb?useSSLfalse&serverTimezoneUTCdriver变化: com.mysql.jdbc.Driver > com.mysql.cj.jdbc.Driver常见错误提示1:如果driver没有添加cj&#xff0c…

通过python实现linux切换用户_Python操作远程服务器切换到root用户

在自动化运维过程中,需要远程服务器切换到root用户下执行命令,尝试了一些方法,得到如下好用的方法,供大家使用: import time import paramiko def verification_ssh(host,username,password,port,root_pwd,cmd): spara…

RabbitMQ 入门:1. Message Broker(消息代理)

Message Broker(消息代理)维基百科对 Message Broker 的定义是:Message broker是一种中介程序模块,它把消息从发送方的正式消息传递协议转化为接收方的正式消息传递协议。这个定义略繁琐,下面看看 RabbitMQ 官网对 Mes…

ASP.NET中常用输出JS脚本的类(改进版)

在ASP.NET中我们经常需要输出一些JS脚本,比如弹出一个警告窗口,返回到历史页面等JS功能,我看到网上流传得比较广的是马先光写的一个JScript类,这个类基本将经常用到的JS脚本包含了,非常方便,唯一的不足是作…

mysql从库夯住_MySQL从库维护经验分享

前言:MySQL 主从架构应该是最常用的一组架构了。从库会实时同步主库传输来的数据,一般从库可以作为备用节点或作查询使用。其实不只是主库需要多关注,从库有时候也要经常维护,本篇文章将会分享几点从库维护经验,一起来…

python frame用法_python—dataframe用法

#行处理 #df.iloc[1] 行索引号——获取行 #df.iloc[0,1] 行列索引号——获取一个元素 #df.iloc[[0,1]] 双括号默认都是行索引号——获取n行 #df.iloc[0:2,1:3] 行列索引号——获取区域元素 #df.loc["A"] 行名称——获取行 #df.loc["A","c1"] 行列…

什么时候我们应谈及性能?

【导读】实际项目开发中、有部分童鞋可能无时无刻都在关注性能,那么我们到底应该什么时候关注性能呢?个人以为,性能并非一次性就可完全成全,需结合实际业务有一个大致评估或预期,比如数据量大小,若预期短暂…

基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历

http://blog.csdn.net/dongfengsun/archive/2007/12/12/1930577.aspx 上次用J2SE写了一个文件夹传递工具,把所有文件都以字节流的形式写入到一个*.txt文件里。结果回到家后,光分目录筛选文件就浪费了我整整一个晚上。痛定思痛,决定还是从程序上来解决问题。 那么所有的磁盘文件…

python编写正则表达式匹配单词_Python正则表达式匹配整个单词

守候你守候我 我认为,通过给出的答案,OP所期望的行为并没有完全实现。具体来说,布尔值的期望输出没有完成。给出的答案做帮助说明这一概念,我认为他们是优秀的。也许我可以说明我的意思,我认为OP使用了下面的例子。给出…

python中可以表示任意大的整数_Python无法表示99999999999999999999这样大的整数。

被邓为“小平和国一部意义义的具有际意称赞法律历史,无法”的性的一个具有杰作创造“是是(。表示。对于的容性要密封求高器,样整数包括性试验的要求中应进行气密各种。无法喷涂金属及工具有设备。吊装台起用多重机设备时,表示为(吊装用的常采…

数据写入规则IBufferWriterT

IBufferWriter<T>从名字上看大概已经猜到作用&#xff0c;这个接口是在.NET Standard 2.1作为标准支持。那这个接口的实际使用场和作用是什么&#xff1f;在了解之前先看一下System.Text.Json的一些代码:public sealed class Utf8JsonWriter : IAsyncDisposable, IDispos…

[转]简单介绍如何用Reporting Service制作报表

1&#xff09; 在安装好Reporting Service后&#xff0c;打开Visual studio .net ,选择新建项目&#xff0c;选择建立商业智能项目&#xff0c;选择新建一个报表项目&#xff0c;命名为reportservice1,再选确定&#xff0c;如下图&#xff1a; 2&#xff09;之后&#xff0c;在…

freertos源码详解与应用开发 pdf_互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了...

不用说&#xff0c;Spring已经成为Java后端开发的事实上的行业标准。无数公司选择Spring作为基本开发框架。大多数Java后端程序员在日常工作中也会接触到Spring。因此&#xff0c;如何很好地使用Spring&#xff0c;已成为Java程序员的必修课之一。同时&#xff0c;Spring Boot和…

adonis.js mysql_Adonis.js——数据库基本操作

一、配置数据库adonis支持 PostgreSQL&#xff0c;SQLite&#xff0c;MySQL&#xff0c;MariaDB&#xff0c;Oracle&#xff0c;MSSQL 数据库&#xff0c;默认为SQLite。在 config/database 中修改配置。connection: Env.get(DB_CONNECTION, mysql),二、创建数据库模型(Model)λ…

C# ObservableCollection和List的区别

一、ObservableCollection和List的区别1&#xff09;ObservableCollection比较简单&#xff0c;继承了Collection, INotifyCollectionChanged, INotifyPropertyChangedCollection&#xff1a;为泛型集合提供基类。INotifyCollectionChanged&#xff1a;将集合的动态更改通知给侦…

MS-SQLSERVER--错用了LEN()函数

sqlserver数据导入oracle时发现字符长度不对。。下面是两个函数的区别&#xff1a;DATALENGTH 返回任何表达式所占用的字节数。LEN 返回给定字符串表达式的字符&#xff08;而不是字节&#xff09;个数&#xff0c;其中不包含尾随空格转载于:https://www.cnblogs.com/yooplmqj/…

rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)

原文托管在Github: https://github.com/shellhub/blog/issues/52数据结构与算法之线性表-顺序表实现(C语言版本)前言数据结构与算法是一个程序员必备的技能之一,而顺序表更是每个程序员在面试过程中要经常被问到的&#xff0c;如Java语言中的ArrayList类的底层实现就是使用顺序…

浅析 record 使用场景

浅析 record 使用场景Intro之前我们有介绍过 record 基本知识&#xff0c;可以参考 C# 9 新特性 — record 解读&#xff0c;record 会实现基于值的类型比较&#xff0c;最近遇到的几个问题觉得用 record 来解决会非常方便&#xff0c;分享一下基于值的类型比较最近有遇到一个场…

jax rs mysql_Jersey / JAX-RS ExceptionMapper MySQL

我正在学习Jersey / JAX-RS&#xff0c;我需要一些ExceptionMapper的帮助 .我有一个UserFacade类&#xff0c;AbstractFacade类和User类本身&#xff0c;都非常标准&#xff0c;主要是通过在Netbeans中创建一个带有Database的新Web Service RestFUL项目生成的 . 我的问题是&…