关于许可协议的一些总结

in 专业 with 0 comment

接触GitHub的这一年总是被各种许可协议绕得头晕,今天刚好有时间专门学习了一波,在这里总结一下吧。

许可协议是什么
说白了就是允不允许别人使用自己写的软件以及如何使用自己的软件,毕竟自己的劳动成果还是有版权的嘛。许可协议也用来表明原作者的身份,并且阻止别人把自己写的代码偷走。目前在GitHub上面见到的比较多的有以下几种协议:

GNU GPL
这个协议或许是用的最多的了。在这种许可之下,代码可以随意被复制分发修改甚至用来盈利。当然,在收费前必须要向客户提供GNU GPL协议并且说明可以获得免费版本的渠道以及收费的理由。在分发的过程中必须也要提供相应的源代码和二进制文件。

MIT
MIT许可协议下的软件对所有人都免费,并且限制是最宽松的一个。

「所有人...可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。」 https://www.oschina.net/question/54100_9455

Apache
这个协议我也在GitHub上见过不少次。Apache的协议允许在修改后闭源,并且作为商业软件发售。当然,针对每一份修改过的文件都要放置版权声明。当用户被授权使用软件之后,他便获得了永久拥有这款软件的权利。授权也是免费并且不可撤销的。

Creative Commons
这种许可协议在博客里面见到的比较多(包括我这一个啦)维基百科上说这种协议包含著作权、非商业和禁止演绎,多数情况下用于设计和出版物。

这里还有一张图能够更好地了解以上提到的这四种许可协议,对于我一个小白来说已经差不多够用啦~
许可协议结构图

Responses