自由软件许可证杂谈

昨天刚回浙江老家,在家里闷着无聊的时候,无意间瞄到了shadowsocks的Apache自由软件许可证,一时觉得很好奇,脑海里没有这方面的了解,就开始在网上看起了这方面的知识。于是乎是到了该总结的时候了。

我仅会在此文章讨论下计算机软件的相关话题,即不会讨论别的事物的版权等问题,顶多会用别的东西来做个比方。

还是从copyright说起


在我国,copyright就是著作权或者说版权的象征1,比如小说,音乐,美术,甚至配音作品(cv一般都是在一个事务所下工作的,所以很多cv的配音版权可能都是归属于一个事务所里,但是这个是纯属我自己的猜测,我暂时也不想再上网去看看有关这方面的知识,我只知道必须一个cv配一个角色,那么除非这个cv无法继续进行配音工作,不然不能让别的cv来代役)

你也许觉得你的作品如果不发表到公共领域就不会受到著作权的保护,其实不然。其实只要你完成了一个作品,并且具有独创性,那么你就享有者著作权的保护。

我们经常可以在一些网站的底部看到copyright xxxx-xxxx by xxx .这些字样就表明了作者在声明自己的著作权,同时如果你再不经过作者同意的情况下对作品进行转发,分发,修改或者销售,就会受到法律的制裁。

一般来说一个拥有著作权的作者有权对自己的作品如果用语商业用途后对要使用自己作品的商人收取部分著作费。这些费用是支持和鼓励作者保持一个良好的创造力的方法。毕竟人都是这样,有奖励才会有动力继续做。(做自己喜欢的事情,本身就是一种奖励,所以我们都喜欢无私的为自己喜欢的事情做贡献)

那么为什么还会有copyleft机制呢?如果说copyright是为了使得人类的创造力能够源远流长,不会乱流,那么copyleft的出现岂不是“助纣为虐”,帮助那些非法使用者们非法的使用别人辛辛苦苦的制作出来的作品。

copyleft和free software


其实copyleft的出现是和“自由软件”2息息相关的。现在我们可能见到的比较多的就是“开源”“open source”这样的字样,比如我们的android系统就是(部分)开源系统,有很多大牛投入其中,并且研究出了很多类似android的衍生系统。

软件是开源的,代表我们可以阅读源代码,但其实并不意味了我们可以对其进行任意的修改,复制,或者用着其他用途,开源的软件,依然享有著作权,你可以看到大大的copyright声明贴在最下方,或者一个项目的项目说明书之类的地方。

那么,我说的自由软件和copyleft的关系呢?其实copyleft就是专门为自由软件而存在的。“自由软件”其实就是不仅“开源”而且“do what you want to do!”。可能说成做任意你想做的说法不是很合适,至于为什么不是很合适,我会在下文继续说明。

是copyleft的软件,那么就是自由软件,您可以在获取这个软件后,对该软件进行任意的修改,分发,或者改进软件后使其变成更优秀的软件,但是你必须要让这个派生作品也是一个copyleft的软件,即自由软件,不能让其变成一个私有软件或者专有软件从而让使用这软件的人们感觉不自由,或者处于不自由的状态。

如果说一个软件不是一个自由软件,那么也许就会像一个垄断一样,全世界只有你一个公司知道这个软件的源代码,你的用户对你的软件会产生极大的依赖性,从而导致你可以任意收取你想要的费用,使得你的财产越做越大!

但是如果说全世界只剩下私有软件或者专有软件,那么我们作为用户的权利就会微乎其微,因为用户无法知道自己所使用的软件,是否在正确的工作。(我相信在看的读者,一定看到过一些恶意软件的新闻,比如在后台自动收集该台电脑的各项记录或者数据等,这种在背后做的恶意软件的产生和肆意妄为,都是因为用户对源代码的未知)

从上述观点中,我们不难看出,如果赋予一个软件copyleft,那么这个软件就会是安全的,而且是可以健康成长的!而不会使得这个软件被不正当的人群拿去使坏,除非他们不怕坐牢。

不过我们也从前面的讨论中发现,也许只是一个copyright或者copyleft无法适应软件的各方面变化需求,比如你有一个copyleft的软件,但是却希望别的人可以拿去自由使用,甚至可以拿去使用做商业用途或者做出闭源这样的做法。一般来说,用户可以通过询问作者,来获取这方面的权限,但是如果用户多,问得多,就会对作者的生活感到很大的困扰。所以就有了自由软件许可证书。目前有很多自由软件许可证书,比如GNU GPL,GNU LGPL,BSD,MIT,Apache许可证等。不同的许可证有不同的对该自由软件的要求。不过关于自由开源许可证的内容,我放到下一节来讲

自由开源许可证


其实copyleft的创始人也是GNU项目的创始人,所以GNU的证书都是copyleft的,和Apache开源许可证一对比,最大的差别就是,GNU GPL等证书用户修改后不能闭源,要继续保持开源,即继续作为一个自由软件为社区社会作出贡献。

你能看到现在的很多软件,都会有一个copyright说明,同时还有一个自由开源许可证的保护。copyright保护了作者的著作权,而自由开源许可证则保护了软件的自由。如果一个软件没有说明自己是基于哪个自由开源许可证的,那么该软件就是基于我们的著作权保护法,你不能随意对作品进行复制,分发,修改或者改进。自由开源许可证就像是软件的保护法,保护着软件的各项行为。

而关于各类许可证的作用,在网上则有很多说明文档,我这里就不重复赘述,但是也并无妨碍我说一下很常见的许可证,比如Apache自由开源许可证。这个许可证的要求是很低的,它不要求修改后的源代码必须开源,但是它要求修改过的文件,必须放置版权说明。

尾语

我估摸着想讲的好像都已经讲完了。我写这篇文章的目的主要还是在于,防止自己再未来看到许可证的时候不会一脸呆滞,至少我了解过这方面的知识,我知道这些许可证和版权的区别!


  • [1]可参见https://en.wikipedia.org/wiki/Copyright
  • [2]可参见https://fsfs-zh.readthedocs.io/zh/latest/
  • Live2d