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

选择开源协议--第3篇

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

进入链接,点亮星标,支持一下

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

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

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

 

为什么要使用开源协议

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

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

那怎么办呢,自然想到了开源协议。虽然开源协议,从国内法律角度来讲,无法从根本上保护软件的版权,但是可以作为证明版权的有力依据。而且国外很多国家都普遍支持开源协议的合法版权保护地位。所以作为一款开源软件开源协议必不可少了!

怎么选择开源协议

 

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

Apache

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

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

(3)在与Apache原协议不冲突的情况下,可以加入自己的许可协议。

(4)可商用,无限制

BSD

(1)使用者自由的修改

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

GLP

(1)Linux采用的协议

(2)不允许闭源的商业发布,对使用者的商用有限制

(3)不允许修改为其他协议

MIT

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

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

(3)可商用,无限制

EPL

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

(2)不允许修改为其他协议

(3)独立模块可不开源

如何为自己的项目加入协议

好了,如果我们已经选择了一个合适的开源协议,那如何给自己的项目加入它,并让使用者知晓呢?很简单,完成如下步骤即可:

1.在根目录增加许可协议,即LICENSE、COPYING等,协议内容去官方搜索

2.给每个文件头部增加协议及版权说明(最好包括JAVA、HTML、JS、XML等所有文件)

 

带你了解不一样的【赤龙ERP】:https://www.redragon-erp.com(赤龙官网查看更多功能)

 

posted @ 2020-09-01 14:13  35岁的程序员  阅读(533)  评论(1编辑  收藏  举报