人工智能技术杂谈杏仁丶的iOS学习专题学以致用

谈谈开源协议

2016-07-16  本文已影响847人  诺之林

目录

引言

如何看懂所引用文件头的版权声明, 这是一个问题

如何为代码开源选择合适的许可证, 这是一个问题

如何为商业软件引用不侵权的软件, 这也是一个问题

带着这么多问题, 我们就看看到底有哪些常见的开源协议

常见的五种开源协议

BSD

BSD (Berkeley Software Distribution)

BSD开源协议是一个给于使用者很大自由的协议, 基本上使用者可以"为所欲为", 因此是对商业集成很友好的协议

但"为所欲为"的前提当你发布使用了BSD协议的代码时, 需要满足这三个条件

采用BSD协议的软件有

为所欲为协议, 只是要有版权声明, 且不侵犯"肖像权"

APL

APL (Apache License)

该协议和BSD类似, 同样鼓励代码共享和尊重原作者的著作权, 同样允许代码修改再发布

该协议相比BSD的区别是

采用Apache License协议的软件有

另一个为所欲为协议,只是版权声明稍微"严了点"

MIT

MIT (Massachusetts Institute of Technology)

MIT是和BSD一样宽范的许可协议, 作者只想保留版权, 而无任何其他了限制

采用MIT协议的软件有

如果你只想让别人记住你, 请用MIT

GPL

GPL (GNU General Public License)

上面的三个协议都是鼓励代码重用的, 所以说他们不仅是商业友好的, 更是程序员友好的

GPL相比他们就没有那么商业"友好"了

GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用

但是不允许修改后和衍生的代码做为闭源的商业软件发布和销售

通俗地说就是:

只要你用了任何该协议的库、甚至是一段代码, 那么你的整个程序, 不管以何种方式链接, 都必须全部使用GPL协议、并遵循该协议开源

采用GPL协议的软件有

俗称"传染病"协议, 用了它你也就被开源了

LGPL

LGPL (GNU Lesser General Public License)

鉴于GPL是如此的隔绝商业, 就出现了一个宽松版的GPL即LGPL

但LGPL其实只是GPL的一个为主要为类库使用设计的开源协议

LGPL允许商业软件通过类库引用方式使用LGPL类库而不需要开源商业软件的代码

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

采用LGPL协议的软件有

适用于类库引用而不是二次开发的GPL

iOS常用第三方库的开源协议

Android常用第三方库的开源协议

附录

更多文章, 请支持我的个人博客

上一篇 下一篇

猜你喜欢

热点阅读