如何为你的开源项目选择一个合适的开源协议?

分享发现 · littlecoder · Created at · Last by flniu Replied at · 8615 hits
420

今天又看到一个同学发布维权帖子《开源 App 被人抄袭到 iOS App Store 怎么办?》这个帖子转发到技术群的时候引发了很大的讨论,大多数同学都是声援的态度,也有较真的同学在讨论 MIT License ,那么License 是什么,MIT License 又是什么?

License就是版权许可证,里面详尽表述了你获得代码后拥有的权利,可以对别人的作品进行何种操作,何种操作又是被禁止的。软件的版权许可证可有很多方式 ,本文仅限于讨论开源软件协议 Open Source License。

世界上的开源许可证(Open Source License)大概有上百种,上文提到的 MIT License 仅仅只是其中的一种而已,而我们常用的开源软件协议大致有GPLBSDMITMozillaApacheLGPL。我们不必要每个开源协议都了然于心,但是可以了解几个主要的协议的权利和义务。

如果看完还是一头雾水的话,乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择,下图为国内大牛阮一峰汉化了版本。

来一个更加清晰和完全一点的图,目前只有英文版,希望可以用同学可以汉化。

希望以上的总结可以帮助到一些同学更好的为自己的开源项目选择一个合适的开源协议,当自己的开源项目被侵权的时候不至于处于被动的位置,也希望可以帮助到大家更“合法”的应用开源项目,很多开源协议最低要求是使用者需要保留原作者对代码的声明,估计大家都忽略掉了吧。

开源不等于免费,开源也不等于没有约束。

参考资料:
维基百科:自由及开放源代码软件许可证比较
刘哇勇:如何为你的代码选择一个开源协议
阮一峰:如何选择开源许可证?

本帖已被设为精华帖!
共收到 4 条回复
550
eveo · #1 ·

看完图后瞬间了解,不会一脸懵逼,话说国内很多开发者都是拿来就用,基本不看什么协议。。。

420

#1楼 @eveo 对于公司商业项目来说,这些协议都是具有法律效应的,如果用了修改GPL、Mozilla等开源协议的软件又选择闭源商用,那肯定要被告,但是对于大多数只是用来学习的同学来说都没有大的影响。

96

alt 哪个开源许可证?
注:
* 雷德蒙德,华盛顿州: Redmond, Washington,微软总部所在地。
* Sun公司(Sun Microsystems),Solaris操作系统和Java的开发者,2008年收购了MySQL AB公司,2010年被Oracle公司收购。
* XUL: XML User-interface Language - 基于XML的用户界面语言,由Mozilla开发。
* 自由软件: 参看FSF和GNU。
* “呼啦圈”: 一种短圆筒形薯片,参看https://en.wikipedia.org/wiki/Hula_Hoops
* 密西西比河是美国中部一条由北向南流的河,长度为北美第一、世界第四。MIT(马萨诸塞州)位于其东边,加州大学伯克利分校(BSD)位于其西边。

4Floor Deleted
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up