您当前的位置:搜集网首页 >> 开源 >> 软件 >> 正文

开源许可协议简明指南

分类:开源频道  打印  更新日期:2010年04月02日

许多开发者都想把他们的作品以开源项目的形式推向全世界。他们希望别人能使用并分享他们的代码。开源社区也正因为如此才充满活力。开源软件几乎适用 于你所能想到所有应用场景。大多数设计者都会经常使用开源软件或者代码(WordPress,Drupal以及其他许多内内容管理系统都是开源的)

Opensourceubuntu in A Short Guide To Open-Source And Similar Licenses

但是许多开发者和设计者对于不同开源许可协议之间的差并没有一个真正的了解。对于在选择一种开源许可协议时所要放弃的权利并不清楚。如果不清楚每个协议本身的意义,以及各个协议运用的最佳方式,开发者在为他们的作品选择开源许可协议时就不会做出最佳决策。

什么是许可协议?

许多混淆不解是关于许可协议本身。当你给你的作品设置许可协议的时候,你并不是放弃了所有的权利。你仍然拥有作品的最终版权(或专利权,如果有的话)。许可协议是给别人使用你的作品授予具体的权限。

授权许可是让作品进入公共领域,或者单个授权方式之外的一个很好的替代方法。因为进入公有领域,你则放弃了所有版权,任何人都没有义务将你罗列为原始作者或贡献者。而单个授权的情况是,你最终会花大量的时间处理各个许可申请,而没有时间用来设计或是开发。

开源许可协议可以让其他人为一个项目贡献内容而不用寻求专门的许可。它也保护你做为原创者的权益,至少可以确保你会因为你的贡献而获得一些荣誉。这样也有助于避免人将你的作品占为己有。

通用公共许可协议(GNU)

通用公共许可协议(GPL)可能是开源项目用的最多的一个许可协议。GPL承认并保证开源项目开发者的各种权利。基本上,它允许用户合法复制,传播以及修改软件。这表明你可以:

  • 复制软件 将软件复制到你的服务器,你客户的服务器,你自己的电脑上,差不多任何一个地方都可以。复制的数量没有任何限制。
  • 随意分发软件 在你的网站上提供下载链接。将软件复制到U盘上,然后送人。将源代码打印出来,然后从房顶上扔出去都是尅。(不过还是不要这样干,这很浪费纸,也会把周围搞的一片狼藉的)
  • 分发软件时收费 如果你想在提供软件时收费,你可以在自己的网站上提供下载或者或者其他方式分发,这样做都是可以,但是你也应该给他们提供一个GNU GPL的许可协议副本,告诉对方该软件是可以从其他地方免费获得的,以你为什么要收费,这些内容最好是协议的前面就说明。
  • 对软件随意做修改
    如果你想添加和删除功能,你可以放心去做。如果你想在另一个项目使用这段代码,也是可以。唯一一个限制是这些项目也必须在GPL许可协议下发布。

需要注意的是源代码版本的发行和二进制代码版本的发行是两件完全不同的事。另外在某些许可协议下,使用这两版本的应用程序存在一些问题和限制。你可以在《GPL协议遵循实战指南》一文(作者:@PierreJoye))中了解更多细节。要使用GPL协议,你需要软件代码中包含特定信息,并附带一份许可协议副本。

宽松通用公共许可协议(LGPL)

你应该注意另一个GNU的许可协议:宽松通用公共许可协议(LGPL)。它给作品授予的权利相对标准的GPL要少。一般来讲,LGPL适合那些需要链接非 GPL和非开源软件的库。因为GPL要求其他使用了部分GPL许可代码的软件也要以GPL许可协议的形式进行授权。开发者不能在付费和私有软件中使用 GPL授权的代码。LGPL不要求其他使用了部分GPL代码的项目也要以GPL的形式发布,从而绕过了这一限制。

BSD许可协议

BSD许可协议代表了一类比较宽松的自由软件许可协议,相对其他软件许可协议比如GNU来说,它对分发的限制更少。该协议有不同的版本,其中有两个 版本最为重要;新BSD许可协议/改进版的BSD许可协议,和简版BSD协议/FreeBSD许可协议。两个都是与GLP自由软件许可协议相兼容的。并被 开源促进会(Open Source Initiative)确认为一种开源许可协议。

新BSD许可协议(“3条款许可协议”)对重新发布没做任何限制,只需保留版权和协议的免责声明。该协议也包含一个限制条款,该条款限制用户在没有 得到源代码贡献者同意的情况下以他们的名义给衍生作品做担保。新BSD许可协议与简版BSD许可协议主要区别在于后者删掉这个非担保的条款。

MIT许可协议

MIT许可以协议是最短也可能是所有开源许可协议里运用的最广泛的一个。它的条款非常松散,相对其他协议更宽松。这个许可协议的基本的条款()如下:

该协议在这里免费授予所有人获取该软件以及相关文档的许可,所有人都可以不受限制的处理该软件,其中包括对软件的使用,复制,修改,合并,出版,分发,转让许可以及销售不做任何限制,并授予软件的提供对象同样的权利,但需要遵循下面这样这个条件:

以上这些版权声明和声明必须包含在软件的所有拷贝中。

这意味着:

  • 你可以随意使用,复制和修改软件。你可以在任何项目中使用,随便复制,随便修改。
  • 你可以免费提供或付费提供软件,在分发形式上没有任何限制。
  • 唯一一个限制就它必须带有本许可协议的声明

MIT许可协议时上面这些协议中限制最少的。基本上可以所所有人都可以随意使用该协议授权下的内容,只需附带上该协议的许可声明即可。

Apache 许可协议

2.0版本的Apache许可协议给用户授予众多权利,这些权利可以适用于版权和专利,因为有一些协议只能适用版权而适用于专利,这种灵活性成为许多专利开发者选择许可时的一个吸引因素。

下面是Apache许可协议的一些具体内容“

  • 权利永久性
  • 一旦授予,你可以无限期使用
  • 权利的非地域性
    .如果这种权利一旦在一个国家里授予,那么它也所有国家都是如此。比如,你在美国,最初的许可却是在印度授予的,但是你可以继续在许可协议下继续使用代码。
  • 免费授权
    不光不收使用费,也不收取其他费用
  • 权利的非排他性
    你可以用,别人也可以用
  • 授权不可撤消
  • 一旦授权,无法撤消。换句话说,如果你在许可代码下做了一些非常不错的衍生作品,你也无须担心将来有人跑过来说,”对不起,这段代码你现在不能用 了。“(这个许可协议的其中有一项条款就声明,如果你起诉所某个遵循该协议的人为专利侵权,你自己的许可也已也将终止,但这适用于专利作品。只要你不起诉 其他人了,你也无须担心其他人起诉你)

在分发的代码也有特殊的要求,大多数只是要保留代码作者的名字

知识共享协议(CC)

知识共享协议并不完全是开源协议,但是它通常用于设计类作品。CC协议的种类很多,各种协议都授予了一定的权利。CC许可协议有四个基本的组成部分,每个可以单独颁布或者组合使用,下面是四部分的大致介绍:

  • 署名
  • 必须写上作品的原作者。除此之外,作品可以随意修改,分发,复制和做其他用途
  • 相同方式分享
  • 作品可以修改,分发等,但是必须遵循同一CC许可
  • 非商业使用
  • 作品可以修改和分发等等,但是不能用作商业目的,关于”商业“的定义有些模糊。所以你可能需在你自己的作品中做一个澄清。比如,一些人会把”非商业“简单的理解为你不能卖作品,其他人则认为,你不能把这些作品放在有广告的网站上。不过很多人则认为”商业“是与盈利相关。
  • 禁止演绎
    这表明你这你可以复制,分发这些授权作品,但是你不能做任何修改,或者在原作品的基础上出创作作品。

我们已经提到过,这些CC许可以条款是可以组合使用的。最为严格的授权许可是”署名,非商业使用,禁止演绎。“许可,这意味着你可以随意分享作品, 但是你不可以修改作品,或者对作品收费。你还必须附带作者的署名。这种许可协议可以让你的作品传播,但是仍然对作品的使用或多或少的保留一些控制。限制最 少的当属”署名“许可,你只要保留作者名,你就可以随意使用这个作品。

CC协议一般用于设计作品而非程序类作品,但是协议也没限制你将CC运用与后者。只需要注意CC协议每部分覆盖的内容即可。

[责任编辑:不拘束的寅]

关于 opensource 开源软件 开源代码 的相关新闻

首页|娱乐|汽车|时尚|美图|男人|女人|美食|旅游|游戏|数码|视频|财经|生活|知道 > 淘宝返利 > SEO之家 > 返回顶部↑