使用Apache协议的是自由软件吗?( 三 )


注:本文中,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.不得以任何违法的方式使用该软件;不得创建或传播恶意软件;


推荐阅读