注:本文中,copyleft许可证是指满足copyleft定义的许可证,如GPL许可证 。copyleft软件是指采用copyleft许可证的软件,如linux(采用GPL许可证) 。
值得注意的是,copyleft并不是说没有版权,copyleft仍然是有版权的,只不过除版权外,所有其他权利都已开放,也即left给世人,有人把这个形象的说为all rights released 。
在我看来,作者只给自己留了一个版权,所以copyleft就是“版权仅留” 。
copyleft给了程序员自由,也限制了他们的自由(不得对修改闭源),在FSF看来,限制程序员的自由,是为了给世人更多的自由,所以这是正义的 。
copyleft要保障自由软件能始终给人们自由,一个copyleft软件,从生到死,从源头到支流,应该永远都是自由的 。从上游到下游,自由顺畅地流动,毫无阻塞,如遇阻塞,则可立即以违背copyleft许可为名发起控诉 。
FSF说:“商业软件通过版权剥夺了用户的自由,我们使用版权来给予他们自由 。这就是为什么我们把copyright改称copyleft” 。
FSF还专门说明为什么不直接把软件放到公共领域中(版权人完全放弃了版权及一切权利,作品就进入公共领域即public domain),FSF认为,把软件放在公共领域内,会有人通过修改部分或极少量的方式,将衍生品私有化,从而减少了人们应有的自由 。在Stallman的哲学理念中,信息资产(包括程序、软件)就像数学公式、定理一样,应该是公有的,而不应是私有财产 。像操作系统、编译器、数据库、浏览器、TCP/IP协议等等所有这些,都应该开源,让任何人都可以使用和改进,而且改进后的东西仍应公有 。
从本质上讲,其观念是全地球人共同拥有软件生产资料(主要指软件,如gcc)、共同生产并共同拥有劳动产品(如Linux),这在本质上是左派(left)的要求,和右派(right)倡导的私有制截然对立 。
现在你可以思考一下,是谁更害怕自由?
一些copyleft许可证最著名的copyleft当然非GPL莫属 。
LGPL也是copyleft的,但相对要弱一点,如果你的软件仅仅是链接glibc(采用LGPL),就不用开源自己的代码 。
AGPL是很强的copyleft许可证,只要你用自由软件提供云服务,即便你不发布,也要公开源代码 。
Watcom-1.0许可证(Sybase Open Watcom Public License 1.0)是更强的Copyleft许可证,只要你“部署”(该许可证对部署有定义),你就要公开源代码,即便你并不提供云服务,只是自己公司内部用用 。
copyleft的概念本身比较宽泛,不仅可以用于软件,也可以用于文档 。GFDL是GNU提出的自由文档许可证,使用了GFDL的文字作品,允许他人自由使用、修改、转载等,包括可以商业使用,但条件是衍生作品也必须使用GFDL 。
CC-BY-SA也是符合copyleft定义的,和GFDL有点类似,但并不互相兼容,因为两者都要求衍生作品使用自己的许可证 。具体可以看一下这篇文章:“Copyleft和GFDL许可证”11 。
为什么不支持自由呢!最后,为了对比,我们看一个专有软件(和开源软件、自由软件、copyleft软件相对立的)的许可证 。了解一下专有软件对用户自由的限制 。
在微软的软件许可条款中,有一部分专门描述对用户的权利限制12:
SCOPE OF LICENSE.翻译过来就是:
The software is licensed, not sold. Microsoft reserves all other rights. Unless Applicable law gives you more rights despite this limitation, you will not (and have no right to):
1.work around any technical limitations in the software that only allow you to use it in certain ways;
2.reverse engineer, decompile or disassemble the software;
3.remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;
4.use the software in any way that is against the law or to create or propagate malware; or
5.share, publish, distribute, or lend the software, provide the software as a stand-alone hosted solution for others to use, or transfer the software or this agreement to any third party.
许可范围 。
本软件授予使用许可,而非出售给使用者 。Microsoft保留本协议未明确授予的所有权利,除非适用法律赋予您权利,否则您不得(也无权)做以下这些事:
1.不得绕过本软件的技术限制,你只能按照本软件所允许的方式使用本软件;
2.不得实施反向工程,不得反编译、反汇编本软件;
3.不得删除、最小化、阻拦、修改Microsoft或其供应商在软件中的任何声明;
4.不得以任何违法的方式使用该软件;不得创建或传播恶意软件;
推荐阅读
- 你知道吗?使用 pycharm 连接服务器进行操作比 Xshell 更简单
- 不要忽视 .gitignore
- 很少使用但很方便的HTML标签
- 矿泉水敷脸有什么作用?
- bb霜的正确使用方法
- 去角质使用什么方法好
- 刘亦菲|刘亦菲素颜变“直男斩”,自曝在家使用美容设备,网友:确实好用
- 使用这个 Python 工具分析你的 Web 服务器日志文件
- 使用Docker Stack部署应用
- Mac使用Socket报错