开源协议

开源协议

自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。注意,自由并不代表着免费。正是这种开放、开源的精神,计算机软件才得以如此飞快地发展。而开源协议,或者叫开源许可证,就是为保护自由软件原作者的相关知识产权,在作者与用户之间设立的一种虚拟合同,或者称之为授权方式。其中的条款内容,就是用来限制软件使用者的使用方式等。他人如有违反协议,作者有权利发起诉讼,维护自身权益。

开源届定义有几百种不同的开源协议,宽松程度不一,用以满足开源项目的各种使用场景。比如,是否允许商用,是否允许修改,修改后是否需要继续开源,开源是否必须继续使用相同协议授权等。

我们最常用的几种开源许可证关系如下:

更简单点的话,也可以参考来自 GcsSloop 博文的这张图,更加通俗易懂:

更多的开源协议,我们还可以参考这张图(目前只发现英文版):

商用项目的协议选择

开源技术选型考量

1 商业风险 1.1 License 风险 1.2 知识产权 2 软件质量评估 2.1 功能满足度分析 2.2 技术架构分析 2.3 竞争力 2.4 易用性 2.5 可靠性 2.6 可维护性 2.7 性能 3 社区质量评估 3.1 开源社区版本分支及其发展趋势 3.3 版本稳定度 3.4 活跃度 3.5 专业性