为什么开源许可证激增?

时间:2020-03-05 18:42:11  来源:igfitidea点击:

开源许可证的增加仅仅是程序员遭受NYI(此处未发明)综合症的又一个例子吗?我知道某些大型许可证(例如GPL,Apache,BSD)之间有一些较大的区别,但是当我们开始看到许多项目在创建自己的许可证时,就存在很大的差异。为什么?

参考:

http://en.wikipedia.org/wiki/Open_source_licenses
http://developer.kde.org/documentation/licensing/licenses_summary.html

解决方案

回答

拥有自己的许可证(通常是现有许可证之一的变体)可让我们完全控制它。我怀疑诸如GPL2和GPL3之间的巨大变化(尤其是如果我们处理Web服务)之类的事情会使人们对使用超出控制范围的协议的许可持怀疑态度。

回答

Is the proliferation of open source licenses just another example of programmers living NYI (Not Invented Here) syndrome?

恕我直言,是的,绝对如此。以Microsoft PL许可证为例。这是完全多余的。不过,我还是很喜欢那个,因为它的措词非常清晰,比大多数其他许可要短得多,并且提供了很大的自由度。

另一方面,制作新许可证充满风险,因为在实际法庭上证明其价值之前,不值得将其写在纸上(如果有的话)。

恕我直言,很少有值得了解和使用的许可证,其中包括GPL(我个人不喜欢),LGPL,BSD和Ms-PL,当然还有知识共享许可证,但这些许可证不适用于软件。

回答

这是一个已知的问题:开放源代码计划(Open Source Initiative)拥有一个许可证扩散委员会,该委员会建议使用"流行且被广泛使用或者拥有强大社区的"八个许可证之一。

  • Apache许可证,2.0
  • 新的BSD许可证
  • GNU通用公共许可证(GPL版本2或者3)
  • GNU库或者"更小"的通用公共许可证(LGPL版本2.1或者3)
  • 麻省理工学院执照
  • Mozilla公共许可证1.1(MPL)
  • 共同开发和发行许可证
  • Eclipse公共许可证

其他许可证分类为:"冗余"(例如NCSA许可证与BSD冗余),"特殊用途"或者"不可重复使用"(例如NASA许可证,Apple Public Source许可证),"被取代"(例如,MPL v1.0),等等。

回答

我也认为某些许可证与某些意识形态紧密相关。许多知识共享许可用户对版权法规持相同的态度。另一方面,GPL在Linux开发方面有着悠久的历史。与通常附有特定许可证的哲学不同意的个人或者组织可以选择寻找替代方案。

回答

Having your own license (usually a
  variant on one of the existing ones)
  allows you full control over it. I
  suspect that things like the huge
  change between GPL2 and GPL3
  (especially if you deal with web
  services) make people leery of
  licensing with an agreement outside of
  one's control.

我认为这在一定程度上是正确的。但是,当我们根据GPL许可时,可以选择说"版本2","版本2或者更高版本"。如果我们对将来许可证的更改方式不屑一顾,可以随意声明它是在该特定版本下获得许可的。

回答

I think this is true to some extent. However, when you license under the GPL, you have the option to say, "Version 2", "Version 2 or later". If you're leary about how the license may change in the future, you are free to just say it is licensed under that specific version.

但是,这打开了另一罐蠕虫。

如果我们仅在GPL2下发布,并且GPL3出现了,并且我们喜欢它所做的更改,那么从理论上讲,我们将必须与所有贡献者保持一致,并获得他们的一致批准以更改其代码所依据的许可。他们所要做的只是其中一个说:"不,我仅根据GPL2许可了我的捐款,但拒绝允许GPL3",或者他们只是不回答就破坏我们提议的许可证变更。

回答

If you released under GPL2 only and
  GPL3 comes out and you like the
  changes it makes, you're theoretically
  going to have to go around to all your
  contributors and get their unanimous
  approval to change the license their
  code is released under. All it takes
  is one of them to say "nope, I only
  licensed my contributions under GPL2
  and refuse to permit GPL3" - or they
  can just not reply - to derail your
  proposed license change.

这带来了其他一些问题。我们打算接受来自外部开发人员的补丁程序吗?当我们接受补丁程序时,是否还要求补丁程序提交者移交版权?如果他们不转让版权,那该如何允许我们更改自己的许可以供将来考虑。如果有一个拥有自己许可证的项目,而我打算向其发布一堆代码,则表明该项目是在XYX版本N或者任何未来版本下获得许可的,这意味着控制该许可证的人不会不能在将来的版本中完成180,并使其完全封闭源代码?

回答

我不认为人们会欣赏我们通常无法将代码与不同的许可证相互链接,但是例如,我们可以将任何GPLv2代码与任何其他GPLv2代码结合使用。