看GPL如何利用版权法保护软件的自由
我一直以为,法律是在限制我们的自由,因为法律总是规定我们不能这样做,不能那样做。
著作权法规定,未经著作权人允许,我们不能把我们购买的软件分享给别人;我们不能对软件进行任何形式的修改(破解);我们更不能基于这些软件开发出功能更强大的软件,并且把自己强化后的软件在互联网上发布。
在使用软件的时候,只要稍微注意一下,就会发现软件的许可协议中几乎无一例外的出现了类似的话:禁止反向工程、反编译、反汇编本软件或本软件及其附属文件的任何部分。未经授权,开发或发布任何本软件的任何衍生软件均属非法。收费的软件还会写上,未经授权,禁止以任何形式传播本软件或本软件的密钥/注册文件。
无论是著作权法,还是在著作权法保护下的各软件厂商的许可协议,它们都在向每一个软件用户宣传着这样的思想:
修改/破解软件是非法的。
免费传播收费软件是非法的。
对软件进行二次开发更是非法的。
一直以来,我也是这么认为的--这些规定仿佛根植在了我的意识之中,我甚至已经习惯自己没有免费发布、修改和二次开发别人的软件的自由,就像我习惯了我每天都要吃饭喝水一样……直到,我遇到了GPL。
相信很多人都知道GPL,它是“GNU通用公共许可证”的英文缩写,Linux内核、MySQL等很多著名的开源项目都是用这种许可协议发布的;安卓操作系统中,除了Linux内核外,还有很多系统软件也是以GPL协议发布的……
人们都说,GPL是一个自由软件许可证。但是你是否知道,GPL是怎样使软件获得自由,又是怎样保护这种自由不被侵犯的呢?
为了了解这些细节,我读了GPL的中文翻译版。第一次读,我就被GPL所感动,所震撼了。我从来没有想过,原来我们还可以通过著作权法本身保护所有人被著作权法所“剥夺”的自由,并且,使这种自由永远无法再被剥夺。
著作权法说,未经授权,任何人不得传播、修改软件,也不允许开发并发布软件的衍生作品。
GPL说,本协议授权所有人,允许他们自由地传播、修改和重新发布使用GPL授权的软件或这些软件的衍生作品。并且,使用GPL协议发布软件的人必须及时提供源代码给所有人,以便他们能够完成对该软件的修改和二次开发。
世界知识产权组织版权条约中规定,禁止使用任何技术手段破解软件。
GPL说:当您以本协议发布一个程序时,您将放弃任何禁止技术手段破解的法律力量。同时,为了执行您放弃“禁止技术手段破解”这一合法权利的企图,您放弃对用户操作或修改该程序的任何限制。
著作权法说,著作权人可以向侵犯其著作权的个人或组织提起诉讼,要求停止侵权并赔偿损失。
GPL说:任何人修改用GPL协议发布的软件之后,如果想发布修改作品,则修改作品必须使用GPL协议发布,并且按GPL的规定提供源代码,允许所有人修改并发布他们的修改作品。GPL还说,如果你违反了本协议--如果你的修改作品不以GPL协议发布,如果你没有提供源代码,如果以任何方式禁止用户修改你的作品--那么,你从GPL协议获得的授权--自由传播、修改和重新发布该软件的权力--就会被终止。而失去了GPL的授权之后,根据著作权法的规定,你就不得再传播、修改软件和发布该软件或该软件的衍生作品,如果你这么做了,就是违法行为,著作权人(软件作者)就可以依法要求你停止侵权,并且赔偿损失。
通过这些规定,GPL实现了一个惊人的转变--它给了软件一种在著作权法保护之下的自由。一但软件使用GPL发布,那么软件将永远是自由的,软件的每一个版本和每一个衍生作品都将永远是自由的,这种自由,即使是软件的作者也无法阻止(GPL一经发布永久生效,无法收回)。或许,阻止以GPL协议发布的软件和其衍生软件成为自由软件的唯一方法,就是使目前的著作权法失效,并且在新的著作权法中规定GPL的这种做法不合法(而目前,GPL的每个版本都是有法律效力的)。
为什么需要GPL?
使软件成为自由软件有很多种方法,比如最简单的,声明“我放弃该软件的著作权和所有相关权利”,这不是比用GPL协议发布软件更简单和更彻底吗,毕竟,我把一切阻止软件成为自由软件的权利都放弃了。
但是这样一来,你也把“保证你的软件一直成为自由软件”的权力也放弃了。自由软件通常是多人合作项目。假如某一天,你不再是软件的主要开发人员,而新的开发人员突然不想再开放源代码,并且对软件的新版本收费--此时,你将没有任何力量阻止他们这么做,你没有任何力量阻止他们用你免费贡献的软件牟利,因为你放弃了你的著作权,你使你的软件不再受任何法律的保护。
而如果你使用GPL发布软件,这种情况就不会发生。因为一但其他开发者(个人或公司)决定不再开源,你就可以以他违反了你们之间的协议(GPL)为理由而起诉他,要求他履行协议(开源)并赔偿损失。虽然说普通人想要真的因为这种侵权而提起诉讼有些困难(诉讼费),但是任何人都会害怕承担被诉讼的风险,特别是那些大公司(你不诉讼,他们的竞争对手也很可能会去诉讼的。如果某人违反GPL,任何人都可以诉讼他,虽然除了作者外其他人都不能要求赔偿,但是他们可以要求他履行协议,提供源代码。注:多人开发项目中,每一个曾经参与开发的人都是作者)。
所以,GPL可以有效的阻止任何个人或组织把你免费贡献的劳动成果据为己有。
GPL使用著作权法和合同法做到这一切。
GPL向世人证明,法律不只是限制我们的自由,它也在保护我们的自由--只要我们愿意以GPL这样的方式来使用法律。
备注1、GPL并没有禁止软件的商业化,所以你可以卖你以GPL发布的软件,你甚至可以卖别人以GPL发布的软件(只要有人愿意花钱买)。GPL只是规定你必须在你卖软件的同时,告诉每个人这个软件是以GPL发布的,告诉用户他拥有的权力,为有需要的人提供源代码,并且不能禁止用户在网上自由传播软件的免费版本。
备注2、通常卖自由软件的公司都是软件加服务捆绑出售的,比如MySQL的企业版就是这样,捆绑一年的售后服务,卖得很贵。但是如果你不需要他们的服务,只要软件,你也可以从第三方网站合法的免费得到MySQL的企业版和它的源代码,并且可以合法的免费使用--因为GPL允许人们这么做(为了赚钱,MySQL官网只为付费用户提供企业版和企业版的源代码。MySQL先后被Sun公司和Oracle公司收购,也许正是GPL才使它没有成为一个不再开源的软件)。