开源协议的比较(翻译)

      过去的几个月里,我很想在我的小论坛使用一些代码。这些代码是一些添加到博客上解释怎样格式化URL之类的,但是我不能合法使用它们。  根据“伯尔尼公约”,你写的每bit文本或代码会自动获得版权。你不需要添加©或者签署日期。其他人未经你同意不可以使用你的代码。但是很多作者还是不知道他们的代码该采用哪种开源协议。 我不是专家,但我把不同的开源协议放在了一起来快速地比较。强调一下,我只是一个系统管理员,而不是一个法律顾问。

        需要注意的一点是,不管你是在什么协议下发行你写的代码,你把这些代码更新以后,它都不会限制你对这些代码的进一步行为。比如,你在GPL下发布你的代码,但是你却可以保持所有的更新是闭源和付费的。只要你是代码的原作者,你就只需解释其他人该怎么用你的代码。比如,很长一段时间,Mozilla都释放了MPL,GPL,LGPL协议下的firefox,将选择版权的主动权交给了使用者。再比如,Oracle在GPL协议下释放了MySQL,但是在其他协议下卖给你商业版本的。只要代码是你写的,那么你可就以自由想干任何事。唯一注意的一点是,别人会改动你的代码,你得保证他们分配给了你的版权(就像是你自己改动的一样,这样你才能对你的代码为所欲为)。

        不同的协议有以下不同的地方:       

        署名--不同的协议你可以通过不同的方式了解到作者。有些让你给好评,有些让你在关于部分添加一行,有些想放置他们提供的广告。一些协议包含了一项条款,即你不能在谈论自己的产品时提及源代码的公司名字。这被称为“反代言”条款。

        Copyleft-使用copyleft的协议有时候被称作“病毒式”协议。如果你的代码包含了使用了copyleft协议的代码的话,那么你的整个项目必须在一个兼容的协议下发布。这么做的目的是阻止公司使用了你的代码以后,却把自己更新的代码闭源。他们使用了你的代码,那么他们就必须把自己的代码发布出来。

         *一个“强”的copyleft协议表明只有在同样协议下的程序才能使用这些代码。

         *一个“弱”的copyleft协议表明如果你更改了源代码,那么你必须把你的整个软件源代码公布。但是如果你的软件只是使用了源代码,并未改变它,那么你的软件就可以不是copyleft的。

        专利保护--传统的,抱括开源协议在内的软件协议并未处理专利问题。这导致了某一家公司以开源协议释放了他们的软件,但多年后却说,他们有一个在基本思想上专利的问题。即使在版权法律下你被允许使用他们的软件,但是他们仍然可以根据专利法来限制你。抱括专利协议在内的一些开源协议可以避免出现这种情况。

        web应用--另一个转变是公司从分发软件到在他们自己的网站托管软件。如果你确实分发了这个软件给其他人,那么一些copyleft协议要求web应用释放这些代码,这样其他人就可以申请获得这些代码。

        宽松--有时候人们会谈论一个协议有多么宽松。一个协议越宽松,你就越可以不用考虑协议的作用去处理软件。有从非常宽松的协议,比如MIT/X,到非常严格的协议比如EULA(有商业软件包)。值得注意的很重要的一件事情是OSS协议在分发上几乎是非常普遍的,在使用上却不是。不像EULA,你可以不同意这个协议就可以使用这个软件。

       如果你分发它,或者直接(GPL/LGPL/等等)或者作为一个webapp来暴露,那么这些协议就生效了。

       

       

       

       

       

        什么乱七八糟的!更有”趣“的是把这些协议结合起来的情况。一些协议是可以互相兼容,有些则不是。我在下面的组合中加入了自己的个人理解。通常,请咨询律师,看我是否有什么遗漏的地方。下面这个表格反映了假设我已经有了代码A,那么我是否能被允许导入代码B呢这种情况?

       

        上图续图如下:

       

  也请注意,我已经稍稍地简化了结果,以反映其实际效果。例如,我说,MIT/X11+4-Cluase BSD结果= 4-clause BSD。实际上,代码是结合了两个协议,只是表现起来想4-clause BSD一样。

      [1]  在许多情况下,协议包含一个条款允许你将协议升级到稍后的版本。例如,默认的GPLv2的版本包括一个条款,允许用户“升级”为GPLv3。如果这个条款被被包含的话,你就可以自由组合代码,只要组合的结果是稍后的协议。你应该检查这个条款是否被包含了。一些著名的软件,如Linux内核,并没有包含它。其他软件可能需要双方都更新到较新版本的协议。例如,AGPLv1和GPLv2的是不相容的,但如果这两方面包中都包含“可以升级到更高版本”的条款,那么他们就可以升级到AGPLv3和GPLv3。AGPLv3和GPLv3是兼容的

    [2]MPL2协议的情况比较诡异。它可以间接地和GPL系列的协议保持兼容。MPL协议的代码和GPL系列的代码组合的结果是,MPL协议的代码还遵循MPL协议,GPL系列的代码还得遵循GPL系列协议。

    注:原文地址-http://e1ven.com/2012/03/21/comparison-of-open-source-licenses/。

          不当之处请谅解。

转载于:https://my.oschina.net/2011xuesong/blog/51942

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值