MIT开源许可证是否要求将工作衍生产品公开(在MIT许可证下)?


9

我正在为要发布的库寻找开放源代码许可证。理想情况下,应该允许人们在免费或商业应用中使用该库而无需支付我任何费用,但是如果创建了该库的任何衍生作品(例如,对该库进行的任何改进),则应向该图书馆下的所有人开放该库。相同的许可证。

换句话说,我要提出以下道德准则:“您可以免费从这项工作中受益,如果您对其进行改进,那么我也可以免费从您的改进中受益”。这是我正在寻找的typeleft许可证。

MIT许可证看起来像是一个可能的解决方案,但我不清楚是否必须向所有人公开提供此许可证涵盖的代码的衍生作品。任何人都可以澄清/确认吗?如果还有另一个更合适的开源许可证可以满足我的需求,我也很感兴趣。谢谢。


更先进一点的讨论是在这里:programmers.stackexchange.com/questions/12394/...
DIPAN梅塔

Answers:


9

MIT许可证不需要衍生作品就可以开源。您正在寻找GPL

GPL授予计算机程序接收者自由软件定义的权利,并使用copyleft来确保在分发作品时(即使在更改或添加作品时)保留自由。GPL是一个copyleft许可,这意味着派生作品只能在相同的许可条款下分发...


1
GPL迫使用户在GPL之下发布衍生作品,这限制了太多。我只希望对我的库进行修改。我应该使用LGPL吗?
杰罗姆Verstrynge

8
在那种情况下,是的-LGPL更合适。
蚂蚁

请注意,(L)GPL仅在重新分配时触发。最终用户仅创作供私人使用的衍生作品,不受(L)GPL义务的约束。即严格来说,这不是对所提问题的答案。
MSalters 2012年

7
@MSalters:我认为几乎不可能知道有人从您的代码中派生了某些东西,除非他们以某种形式发布了该代码,从而使该问题有些争议。
2012年

6

简短答案

Eclipse公共许可证和LGPL的组合可以确保您所希望的一切:必须对代码进行修改,但是在较大的产品中使用该代码不会强制对较大的产品进行重新许可。组合是必要的,以便允许在GPL和非GPL项目中使用该代码。

这是诸如JGraphT之类的项目所采用的方法。他们在EPL和LGPL下重新许可了他们的项目。其动机和过程在其Wiki中进行描述。

长答案

我认为,Mozilla Public License(MPL)或Eclipse Public License(EPL)是您正在寻找的许可证,因为“如果从该库创建了任何派生作品(例如,对该库进行了任何改进),它[IS ),并在同一许可证下向所有人开放。

MPL和EPL许可证在GPL和MIT之间。

MIT允许用户使用它进行所有操作,包括修改,出售和不将修改后的代码回馈社区。

即使您的库仅占整个产品的1%,GPL 也会迫使用户向社区分发所有代码。

LGPL强迫用户放弃对LGPL部分代码的修改。

MPL和EPL与LGPL相似:它还会迫使用户提供修改后的源。“修改的源” 包括MPL // EPL覆盖的代码的一部分。这意味着,用户可以在您的库中构建新产品。如果他修改了MPL- / EPL-部分,则必须发布它。他的新事物不需要公开。

我觉得MPL / EPL更合适,因为LGPL明确地谈论“库”,而MPL只是谈论“涵盖软件”(范围更广)。

但是,选择EPL会导致将软件与GPL软件组合在一起的麻烦:EPL与GPL不兼容如果仅使用MPL,则不是这种情况

如果要确保在GPL和非GPL项目中都可以使用您的代码,请按照简短答案中的描述在LGPL和EPL下双重许可代码。

例子

  • JGraphT
  • 登入
  • qooxdoo。他们正在计划“简化和更新qooxdoo许可条款”,因此他们从双重许可转换为MIT。

您能否解释一下为什么您认为MPL符合OP所寻找的标准?
maple_shaft

“双重许可”应该看起来像“如果您在GPL产品中使用此软件,则该软件是根据GPL许可给您的,否则,则是根据MPL许可的”?有没有做这种事情的项目?
9000

@ 9000根据GNU常见问题解答, MPL和GNU都覆盖了该代码。第二段有些奇怪,我没有完全理解。
koppor

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.