首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为代码选择正确的“开源”许可证

为代码选择正确的“开源”许可证
EN

Software Engineering用户
提问于 2020-03-01 22:06:38
回答 1查看 129关注 0票数 -4

在编程术语中,什么定义了开放源码?

我正在构建一个开放的平台,供其他程序员在公共云上运行自己的应用程序时使用。

我唯一想要的限制是,如果任何人,包括公司,想从中获利,把它变成一个SaaS或部署在公共云中的“软件即服务”,他们必须首先获得商业许可。

这是否破坏了开源的精神?在许可方面,有哪些选项可以让程序员/开发人员参与编程/塑造平台,同时不让它成为_SaaS_ified,而不向负责监督平台代码的组织颁发许可证?

我调查过MongoDB SSPLMariaDB BSL

由于BSL更倾向于开源,而SSPL不是开源的.

EN

回答 1

Software Engineering用户

发布于 2020-03-01 23:19:13

在编程术语中,什么定义了开放源码?

关于许可,最经常引用的定义是开放源码倡议(OSI)开源定义自由软件基金会(FSF)的自由软件定义

我唯一想要的限制是,如果任何人,包括公司,想从中获利,把它变成一个SaaS或部署在公共云中的“软件即服务”,他们必须首先获得商业许可。

您所描述的不是开源许可,而且可能会与OSI定义和FSF定义中的需求发生冲突。虽然您可以有一个也是在开源许可下发布的商业产品,但是开放源码许可证不会限制源代码的免费分发或派生的作品。开放源码许可证不能阻止商业使用。

有些许可证的设计是为了让人们更难从开源中获利。一个很好的例子是阿法罗通用公共许可证。此许可证要求通过网络访问的软件(例如SAAS应用程序)将有任何相应的源代码可供最终用户使用。因此,如果有人拿走了您的软件并创建了SAAS应用程序,他们将不得不向用户发布代码和任何修改。

双重授权也是解决这一问题的一个途径。例如,企业客户可能希望托管SAAS应用程序,而不发布它们所做的任何修改。软件可以在两个或多个许可证下使用。作为支付的交换,该软件可以在不同的开放源码许可下发布给客户,甚至可以使用自定义许可证,而无需将源代码发布给客户端。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/405965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档