作者:zyl910

  很多文章介绍了详细的解说了各种开源许可证及它们的区别。但是,具体该选择哪一种许可证?如何修改项目使其符合某种开源许可证?就很少见到指导了。于是本文探讨这两个问题。

一、如何选择开源许可证

  阮一峰《如何选择开源许可证?》中的图片清晰的展示了各种开源许可证的区别——

  可是,对于新手来说,一下子见到这么多种许可证,还是会感到有些眼花缭乱,难以抉择。

  于是,我建议最初时只关注三种开源许可证——

1) 如果您想为GPL世界添砖加瓦,或者项目引用了GPL许可证的模块,那么当然得使用GPL许可证;

2) 如果您想分享自己的编程心得,不想让许可证限制了知识的传播,这时可使用MIT许可证;

3) 如果您想更强的控制源代码,或者考虑商业化,那么推荐Apache许可证。

  例如在写博客或写书时,可使用MIT许可证。

二、如何修改项目使其符合某种开源许可证

  若要使项目使其符合某种开源许可证,一般需要做以下三步操作——

1) 【必须】 在项目根目录放置一个“LICENSE”文件。

2) 【可选】 修改各个源码文件,在文件顶部使用注释语句写上许可证的说明。

3) 【可选】 修改readme文件,写上许可证的说明。

  注意只有第一步是必须的,后面两步的内容时可选的。

  关于“LICENSE”文件的规范格式可参考各许可证的说明,见“参考文献”中的相关链接。

参考文献

~~~~~~~~

《GNU General Public License (GPL)》. http://www.opensource.org/licenses/gpl-license

《详细介绍 GPL 协议》. 红薯, 2009-11-30. http://www.oschina.net/question/12_2826

《The MIT License (MIT)》. http://www.opensource.org/licenses/mit-license.php

《详细介绍 MIT 协议》. 红薯, 2009-11-30. http://www.oschina.net/question/12_2829

《Apache License, Version 2.0》. http://www.apache.org/licenses/LICENSE-2.0

《详细介绍 Apache Licene 2.0 协议》. 红薯, 2009-11-30. http://www.oschina.net/question/12_2828

《The BSD 3-Clause License》. http://opensource.org/licenses/BSD-3-Clause

《The BSD 2-Clause License》. http://opensource.org/licenses/BSD-2-Clause

《详细介绍 BSD 开源协议》. 红薯, 2009-11-30. http://www.oschina.net/question/12_2825

《如何选择开源许可证?》. 阮一峰, 2011-05-02. http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

《9个主流的开源许可协议[整理]》. Univasity, 2011-12-05. http://univasity.iteye.com/blog/1292658

如何选择开源许可证如何修改项目使其符合某种开源许可证相关推荐

  1. 【修改 ruoyi-plus 项目名字很麻烦,不如来试试这个工具!开源框架修改项目名!】

    spring boot 开发中经常会用到脚手架[开源框架]修改项目名称模块的时候让人头疼且费时间!不妨来试试这个工具,超好用!!! 文章目录 spring boot 开发中经常会用到脚手架[开源框架] ...

  2. 修改软件许可证使用时间_阮一峰:为什么开源数据库改变许可证?

    CockroachDB 是一个开源的分布式数据库,最近改变了代码授权,放弃了 Apache 许可证. 许多开源数据库这一两年都改变了授权,比如 Confluent.Elastic .MongoDB.R ...

  3. 可靠、安全、稳定,开源高质量项目 | 亚马逊的开源文化

    亚马逊的领导力准则是亚马逊文化的核心,它如同亚马逊的 DNA 融入贯穿每一个重要决策,深深影响着每一位亚麻人.影响着每一位亚马逊的客户.合作伙伴以及每一位亚马逊云科技的构建者.同时,亚马逊的领导力准则 ...

  4. 致谢 开源开发者的贡献_对开源做出的贡献如何使我成为更好的开发人员,以及如何做到这一点...

    致谢 开源开发者的贡献 by Luciano Strika 通过卢西亚诺·斯特里卡(Luciano Strika) 对开源做出的贡献如何使我成为更好的开发人员,以及如何做到这一点 (How contr ...

  5. 【完结】给新手的12大深度学习开源框架快速入门项目

    文/编辑 | 言有三 这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpen ...

  6. 开源项目面试重要吗_开源是最重要项目的骨干

    开源项目面试重要吗 大小不同的组织都在改变他们对开源软件(OSS)的态度. OSS越来越被视为不仅仅是一种开发工具,而是一种战略资产. 这种变化的含义正在变得清晰. Black Duck Softwa ...

  7. 开源巨献:Google最热门60款开源项目(转)

    https://www.cnblogs.com/svili/p/7889436.html 0.机器学习系统 TensorFlow  ★Star 62533 TensorFlow 是谷歌的第二代机器学习 ...

  8. 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势

    近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...

  9. Apache DolphinScheduler 开源之夏学生项目申请开启,6 大课题等你来拿万元奖金!

    开源之夏 2023 学生报名已经正式开启!Apache DolphinScheduler 今年继续参与开源之夏的活动,2023 年 4 月 29 日-6 月 3 日 15:00 UTC+8,同学们可以 ...

最新文章

  1. C++ 函数参数传递:传值,传指针,传引用
  2. Windows7 连接Windows Server服务器时提示:计算机无法连接到远程计算机上的另一个控制台会话。...
  3. 【Pushgateway】正则匹配,分隔逗号成数组
  4. 四部门联合印发《常见类型移动互联网应用程序必要个人信息范围规定》
  5. visual studio 调试python_Visual Studio Code Python 调试设置
  6. 子进程 已安装 post-installation 脚本 返回错误状态 1 dpkg: 依赖关系问题使得 mysql-server 的配置工作不能继续: mysql-server 依赖于 mysq
  7. Double.valueOf()与Double.parseDouble()两者的区别
  8. oracle unpivot 索引_oracle pivot 和 unpivot 函数的使用
  9. C++中对字符串的分割方法
  10. 2345浏览器网址_清理流氓网站2345.com劫持浏览器
  11. 觅知网ppt模板_有哪些相见恨晚的PPT模板网站?
  12. 2019年南京大学计算机考研复试机试真题
  13. CDISC SDTM CE domain学习笔记
  14. 人工智能--学术会议排名
  15. RFID仓库管理系统解决方案有哪些功能模块
  16. PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件
  17. 慧择业务布局成效明显,戴维斯双击可期
  18. NoSQL简介及MongoDB的常用命令
  19. java版b2b2c o2o 多租户多商家电子商务之(商家管理)SpringCloud SpringBoot Mybatis Uniapp 分布式商城源码 电子商务源码 社交电商 直播带货
  20. word中出现表格错乱 ,从别的文档里面复制过来的(或者自己建表格时)表格总是格式错乱

热门文章

  1. 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
  2. 方法参数是结构体指针,报错信息是空指针怎么办
  3. SQLite学习手册(数据库和事务)
  4. 怎么给linux分区,如何合理地给你的Linux分区
  5. php gd 缩略图,[PHP GD库]①0--缩略图封装
  6. 荒唐!获得杰青的北大教授,竟被本科生质疑硕士毕业双非高校也能任教?
  7. 科技、体育、创业,三者碰撞是真的野!
  8. 【Python】用 Highcharts 绘制饼图,也很强大
  9. BERT, ELMo, GPT-2: 这些上下文相关的表示到底有多上下文化?
  10. 推荐系统的发展与简单回顾