开源协议的那些事

开篇

最近的 00 后 CEO 的新闻,相信大家都听说了吧!00 后 CEO 豪言:可能一些三四十岁的老一辈企业家,他们就没办法了解互联网!

00 后 CEO 语出豪言

这让雷布斯先生表示压力很大啊,我也感觉压力好大,毕竟从事 IT 工作都好几年了,我居然没办法了解互联网,我最近在考虑要不要转行。。。然而,网上有人爆出这位年轻的 CEO 涉嫌抄袭,不对,都算不上是抄袭,明明就是赤裸裸的拷贝好么!故意这位 CEO 是不懂开源协议呢还是不懂开源协议呢?哪怕不懂开源协议,这么赤裸裸地照搬别人的作品拿去做商业用途,你的良心居然不会痛?

你的良心居然不会痛?

既然扯到了开源协议,那么我们就来唠唠嗑,关于开源协议的那些事!在开始之前,首先需要简单介绍一下 自由软件(free software) 这个词,根据自由软件基金会对其的定义,是一类可以不受限制地自由使用、复制、研究、修改和分发的,尊重用户自由的软件。这方面的不受限制正是自由软件最重要的本质,与自由软件相对的是专有软件(proprietary software)非自由软件,或被称为私有软件、封闭软件(其定义与是否收取费用无关──自由软件不一定是免费软件)。

开源协议,或者叫开源许可证,就是为保护自由软件原作者的相关知识产权,在作者与用户之间设立的一种虚拟合同,或者称之为授权方式。其中的条款内容,就是用来限制软件使用者的使用方式等。他人如有违反协议,作者有权利发起诉讼,维护自身权益。

如果把开源协议细分的话,能分出上百种,宽松程度不一,用以满足开源项目的各种场景。比如:是否可以修改,修改之后是否需要继续开源或者是否允许闭源,是否允许商业用途等等。。。那么,作为普通用户,或者是开源爱好者,我们如何选择适合自身的开源协议呢?

早期一名乌克兰程序员画有一张分析图,简单明了地描述出六种流行开源协议的使用区分。阮一峰老师翻译如下:

开源协议分析图

有了上面这张图,我们就可以很轻松的做出选择,是不是很方便呢?但是这个问题还没彻底解决,上面有说到,如果细分的话可以分出上百种,图中才 6 种,这明显不够啊。别担心,你可以试试这个网站:http://choosealicense.online/

choosealicense.online

选择你想要的开源协议,复制粘贴内容到 LICENSE 文件即可。

最后的话

如果不遵守开源协议或者是抄袭、拷贝等不尊重别人劳动成果的行为,都有可能会遭受他人谴责,情节严重的甚至会被起诉,所以,我们需要严格遵守开源协议,尊重他人劳动成果。