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

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

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

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

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

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

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

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

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

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