为何要使用“开源协议”--开源软件诞生3

选择开源协议--第3篇git

用日志记录“开源软件”的诞生github

进入连接,点亮星标,感谢支持微信

加微信与开发者交流(请注明赤龙ERP) kzca2000app

码云:https://gitee.com/redragon/redragon-erpide

GitHub:https://github.com/redragon1985/redragon-erpspa

为何要使用开源协议

为何要用开源协议呢?这就不得不说说我本人的经历了。当我想把本身研发的开源软件发布之时,我忽然有一个担忧,就是版权如何保护?虽然这是一款开源免费的软件,但怎么能证实和保护本身的著做权呢,怎么能让这款软件远离利益的趋势,一直开源下去呢?日志

固然从法律的角度我首先想到了软著,即计算机软件著做权。这是受国家法律保护的一个软件版权的证实。我还经过多种方式了解了它的申请流程及法律效力。但在过程当中忽然发现一个致命的问题。就是关于软件的版本。从原则上来说,软著不支持大版本的更新迭代,即若是出现新的软件版本更新,要想受到法律保护,必须从新注册新的软著证书。这对于一款开源并不断迭代的系统来讲是绝对不适用的。orm

那怎么办呢,天然想到了开源协议。虽然开源协议,从国内法律角度来说,没法从根本上保护软件的版权,可是能够做为证实版权的有力依据。并且国外不少国家都广泛支持开源协议的合法版权保护地位。因此做为一款开源软件开源协议必不可少了!blog

怎么选择开源协议

da68b98e404578126b87c5afd9ba9bc3.png

 

先来看下这张图,这是一个网上很常见的说明开源协议区别的表格。下面用我本身的话简单总结一下。开发

  • Apache

(1)Apache基金会下有不少知名的开源项目,这些开源项目都遵循Apache的开源协议。因此熟悉度高,背书好

(2)代码可修改,但要加入代码说明。并保留原做者的协议和说明。

(3)在与Apache原协议不冲突的状况下,能够加入本身的许可协议。

(4)可商用

  • BSD

(1)使用者自由的修改

(2)使用者自由的商业使用

  • GLP

(1)Linux采用的协议

(2)不容许闭源的商业发布

(3)不容许修改成其余协议

  • MIT

(1)限制最少最自由的协议

(2)需保留原做者的协议信息

(3)可商用

  • EPL

(1)容许闭源的商业发布

(2)不容许修改成其余协议

(3)独立模块可不开源

如何为本身的项目加入协议

好了,若是咱们已经选择了一个合适的开源协议,那如何给本身的项目加入它,并让使用者知晓呢?很简单,完成以下步骤便可:

  • 在根目录增长许可协议,即LICENSE,协议内容去官方搜索

  • 给每一个文件头部增长协议及版权说明(最好包括JAVA、HTML、JS、XML等全部文件)