zoukankan      html  css  js  c++  java
  • 为什么要使用“开源协议”--开源软件诞生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(赤龙官网查看更多功能)

  • 相关阅读:
    Eclipse修改背景颜色(豆沙绿)
    项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
    jdk1.7 环境变量配置
    Maven的安装、配置及使用入门
    tomcat端口作用
    《Maven实战》
    Maven 详解
    遍历Map的四种方法
    遍历properties文件
    题库终结
  • 原文地址:https://www.cnblogs.com/redragon/p/13595900.html
Copyright © 2011-2022 走看看