百度词条上的图👇
一、第一层:是否可以闭源
不允许修改后和衍生的代码做为闭源的商业软件发布和销售。如同Linux(采用了GPL),在各种衍生版出来后也必须得开源,这是一个很好的出发点
YES,增加了使用者的自由度。
NO,促进了开源。
二、第二层
1、left 新增代码是否采用同样许可证
该限制下产生的就是GPL协议,修改后的代码或者衍生代码产生的产品必须也采用GPL协议,既必须也是开源和免费,这也就是为什么我们能用免费的各种Linux。
YES,即增强传染性,开源的东西会越来越开源。
NO,可以更换许可证。
2、right 修改过的文件是否放置版权说明
允许代码修改,再发布。
YES,则在衍生的代码中需要带有原来代码中的协议、商标、专利声明和其他原来作者规定需要包含的说明(允许有自己的许可,但不可以表现为对Apache Licence构成更改)。
NO,进一步增加使用者的自由度。
三、第三层
1、left 是否需要对源码的修改之处提供说明文档
这一项简单易懂,即是否需要提供修改的说明文档,以便于其他使用者进行阅读、使用。
2、right 衍生软件广告是否可用开源作者的名字进行促销
YES,MIT最自由,简直就是没有任何限制,任何人都可以售卖作者的软件,甚至可以用作者的名字促销。
NO,BSD开源协议是一个给于使用者很大自由的协议,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
四、是否可以不选择license
至少在GitHub上,没有 License 的内容是默认会被版权保护,如果你想要的是让大家都放心使用,就需要选择一个合适的 License,赋予任何人使用,分享和修改这个软件的权力。
否则公司或个人不会选择使用你的作品,因为协议不仅是对作者的保护,也是对使用者的保护。