开发网站使用MySQL的GPL协议问题

今天有花了很长时间看GPL协议的问题,终于有眉目了。我关心的不是分发或者卖我的软件该怎么绕开GPL协议,只是想知道我要开发一个网站,数据库用到了GPL的MySQL,那我也要遵守GPL协议,但是我该不该公布我的源代码?该不该开放整个网站的源代码?

网上的讨论很激烈,但是能解决问题的很少,很多是集中在我想用人家GPL的源代码在自己的程序里,或者用GPL的library,等等,其实,要想真的搞懂GPL,最好是乖乖地去看GPL的官方网站,这是我的最终感受。

http://www.gnu.org/licenses/gpl.html

这里有两个误区:

1. GPL与免费

很多人在网上搜索时包括我在内都在用类似的关键词查找“xxx GPL 免费” “XXX GPL free license”。其实GPL强调的是权利,具有GPL授权的软件的权利,“你可以自由使用;你可以获得源代码;你可以修改;你需要公布自己的源代码(在某种条件下)…” 听起来都很美,但是,它没有提到钱的问题,实际上它只关心你的权利和义务(right, not price),才不管你收不收费呢。假如你遵守GPL并且发布软件及源码,你硬要收费,那也行。只要有人肯付钱就行。所以很多GPL软件收费最多的其实是服务,而不是GPL软件本身。

2. 遵守GPL,就要开源 (至少是我的误区)

这里最最最关键的一点就是你有没有分发(distribute),传播(propagate),发布(convey)你的软件?如果没有,就不需要开源。有,就要开源。以我的例子:

我为公司开发网站用到GPL的MySQL,要开源我的网站系统吗?不用。因为我没有分发。作为GPL软件的使用者,我有权利运行使用它,覆盖它(cover),修改它,只要我不传播出去。

以下是我在官方网站上找到的证明:

引用
http://www.gnu.org/licenses/gpl-faq.html

A company is running a modified version of a GPL’ed program on a web site. Does the GPL say they must release their modified sources 

The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case. Developers who wish to address this might want to use the GNU Affero GPL for programs designed for network server use.

Is making and using multiple copies within one organization or company “distribution” 

No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders.

However, when the organization transfers copies to other organizations or individuals,  that is distribution. In particular, providing copies to contractors for use off-site is distribution.

If I only make copies of a GPL-covered program and run them, without distributing or conveying them to others, what does the license require of me 

Nothing. The GPL does not place any conditions on this activity.

发表评论

电子邮件地址不会被公开。 必填项已用*标注