企业开源该选什么软件许可证?
开源软件和自由软件的概念与其许可证紧密绑定。
通常,开源软件被定义为使用 OSI 认可的,即符合开源定义的许可证来分发的软件,而自由软件被定义成使用 GPL 或说 Copyleft 式许可证分发的软件。
尽管今天人们最关心的可能是软件的生产过程即如何进行开源协同,但是为软件选择什么样的许可证,仍然是一个项目启动时必须考虑和决定的问题。某种意义上说,软件可以被如何使用和分发,反过来约束了可能实现的协同模式。
GitHub 维护了 ChooseALicense.com 网站以准确、中立地提供常用开源许可证的介绍,并指引开发者为他们的项目选择合适的许可证。不过,这个页面并没有针对企业开源的情形做出针对性的讨论。
本文从企业开源的场景出发,讨论选择不同开源许可证或源码可得的软件许可证,对企业和项目的影响,并给出主观的建议。