是否可以使用开放源代码创建封闭源软件?


19

当我打开帮助文件的法律部分时,我在使用一个流行的音乐包(Ableton Live),当时我看到该程序包含的代码许可证看上去既自由又自由,而且啤酒也一样。cannot,我找不到在线副本,但是如有必要,我可以列出许可的软件包。

据我所知,这里有3种可能性:

  1. 一家相当大的公司正在违反代码许可-极不可能,如果那样的话,为什么它们会包含许可文本?

  2. 实际上,出于某种原因,向包含开源代码的软件包收费并关闭源代码是合法的-绝对对我来说这是新闻。

  3. 我误会了-很有可能。


Facebook做到了…
Dynamic

1
不开玩笑-哪个?
jamesson

我的意思是Facebook是使用开源软件编写的。
动态

哪个项目?
jamesson

实际上,#2似乎有两种不同的可能性-您可以出售开源(甚至GPL)软件,也可以免费赠送封闭源代码软件。收费和关闭来源是两件事。

Answers:


34

这取决于哪个许可证。

有一些自由软件许可证是专门为防止人们执行诸如GNU GPL之类的事情而设计的。它们被称为“病毒”许可证,因为它们的许可条款会传播到您使用它们的任何代码,从而使您无法在非GPL(或兼容)程序中使用GPL库。

其他许可证更关注自由共享代码,而不是推动特定意识形态。在频谱的某个中间位置,您拥有非病毒的MPL(Mozilla公共许可证),可以在专有项目中使用,但是许可证条款要求MPL代码本身仍受MPL覆盖,并且任何您对MPL代码所做的修改(例如改进,错误修正,端口等)必须自由发布。这里的想法是“您可以免费获取此代码,因此,如果对其进行改进,则应该将改进作为付款回馈社区。”

而在最末端的是完全开放的许可证,例如BSD,MIT和Zlib许可证。他们本质上说“此代码对任何人来说都是免费的,但他们愿意。” (当然,有一些限制,但实际上并没有太多限制。)使用这些许可证的人们将免费使用其代码视为最高优先级。

因此,并非所有的免费软件许可都是一样的。看一下这里使用的许可证以及它们的条款,您将通过在专有项目中使用它们来更好地了解开发人员是否遵守这些许可证。

同样,还有第四种可能性:“相当大的公司”可能以不同的条款许可了该产品。软件许可证旨在限制软件的用户,而不是软件的创建者,并且有人会以GPL形式发布开源库,然后还将其商业许可证出售给那些希望在专有项目中使用它,而其代码库不会受到病毒许可证的“感染”。


发现。自由软件和开放软件之间存在分歧。自由如自由= GPL。打开(ala“免费赠送啤酒”)= BSD / Mozilla。参见免费与自由
菲利普(Philip)

3
@菲利普 完全错误。您提到的所有许可证(GPL,BSD,MPL)都是自由的(“自由自由”)。所有这些都具有使软件免费提供(“像啤酒一样免费”)的副作用。但是,GPL是copyleft,而BSD是宽松的。(我认为MPL在中间)
。– TRiG

1
@TRiG您的最后一行是正确的,但是Stallman的论点是GPL是“自由中的自由”,即“自由”。开源运动的反驳是他们不想要病毒许可证。他们想要“像啤酒一样免费”。好的,例如:如果BSD是“自由的”,那么基于BSD构建的Apple OSX现在又是专有的呢?在我看来,这似乎不是很“解放”。BSD是Apple所购买的开源软件,对其进行了锁定(其专有许可),并将其称为自己的。他们之所以可以这样做是因为BSD和啤酒一样免费。得到它?该链接可以更好地解释。
菲利普

1
@菲利普 不,这是因为BSD是免费的,并且是允许的,而GPL的东西是免费的,并且是copyleft的。免费啤酒与它无关,这通常是免费啤酒不可避免的副作用。
TRiG

我想说代码是可见的,成本为零,许可证是允许的。忘记开放的啤酒吧。
jiggunjer '16

2

免责声明:我不是律师。从过去与律师合作开始,软件开发人员往往会猜测法律文件及其用途的意图,而律师(1)会阅读书面内容,(2)使用法律而非常用的词语定义。小心。

正如梅森所说,这取决于开源软件使用的许可证。有许多常见的许可证类型。大多数协议允许其他人使用他们的代码,只要他们能补偿作者并包括出处(例如,帮助文件或“关于”对话框中的许可证内容)。限制性更强的许可证可能要求对开源进行任何进一步的更改(例如GPL)。

许多公司使用开源组件作为封闭源软件的一部分。只要封闭源软件符合许可条款(就像其与商业组件一样),它就可以使用。

如果您希望自己使用这些组件,那么还需要考虑其他事项。例如,在语句“我是否允许使用开放源代码创建封闭源软件吗?”中,这取决于“ with”的含义。程序包是否使用编译的库?是否直接使用源代码?它是在修改源代码还是将其包含在您的代码中?从法律或许可的角度来看,任何形式的代码修改或混合都非常棘手。

另外,该代码是分发给客户(例如在其服务器,PC或移动设备上运行)还是在云中的服务器中使用?分发软件可能受到限制。除软件许可之外的其他法律也可能适用,例如美国的出口限制(尽管我认为我现在已经超出了这个问题)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.