
此前一位开源软件作者Douglas Crockford曾使用C语言编写了一套名为JSMin的程序,程序的作用是用于压缩JavaScript程序,以便加快浏览器下载的速度,他并选择了MIT授权协议的修改版作为JSMin程序的保护协议。后来,另一位软件作者Ryan Grove使用PHP语言编写了JSMin软件的PHP版本JSMin-PHP,并将这个授权协议沿用到JSMin-PHP中去。

值得一提的是,Douglas Crockford修改了MIT授权协议,往这个协议里加入了一段话:”不许使用这款软件作恶,请将其用于善途。“(The software shall be used for good,not evil)。
Ryan Grove开发的JSMin-PHP软件今年12月初在Google Code上立项,不过这款软件后来引起了Chris DiBona的注意,此人是负责谷歌开源项目的头头,他注意到这款软件的作者将MIT授权协议做了上述的更改,并将这个项目从Google Code上移除。
”就谷歌看来,我在MIT协议中自行增加的那段话定义很不明确,这样这款软件的授权协议在一定的条件下很可能会变质。Chris向我解释说如果我能将这段话从软件的授权协议中去掉,那么JSMin-PHP项目便可以继续保留在Google Code网站上。“Grove在自己的博客上写道,”我当然不会听他的话修改软件的授权协议,因为这个授权协议的作者是Douglas Crockford而不是我本人...这样如果我私自修改协议,然后再继续软件的开发,那么我自然就侵犯了软件原作者的授权协议。“
Grove后来把自己的JSMin-PHP项目转移到了另一家开源社区GitHub,他表示:”如果你现在正在Google Code上使用jsmin.c编写开源代码,我劝你还是赶快挪窝离开这个规定死板的地方。“
软件的原作者Crockford是雅虎网站的职员,他今年七月份曾表示,添加到MIT授权协议中的那段话完全是模仿乔治布什当局反“作恶者”的口吻创作的,而且在所有他编写的开源软件中,都加入了这种修改后的MIT授权协议。
他表示:”2002年晚些时候,我们美国刚刚发动了反恐战争,为了为我国的反恐战争添一份力,因此我就在MIT授权协议里加上了这句话。“
Crockford 还说:”每年我都会从想使用我编写的开源代码的用户那里收到一些古怪的信件,这些信件中有的写道:‘我有权利用这款软件干坏事!我会等你修改了这个协议之后再使用你的代码。’有的写道:'我怎么分辨软件的用途是不是被用来作恶呢?要知道每个人的观点是不一样的,在我眼里的善举可能在别人看来就是恶行也说不定,所以我不想用这些代码。'”他由此认为添加的这句话起到了应有的作用:“看,我加的这句话已经阻止了某些作邪恶分子的行为。”
“后来,我甚至还收到了IBM的代表人给我发来的信件,信中说他们想在自己的程序中使用我的代码。可笑的是他们居然一本正经地表示:尽管他们100%地确定他们不会用这些代码来干坏事,但他们称无法保证自己的客户会不会这样做,因此他们请求我为这些代码小小地修改一下协议的部分。我后来就回复说:'我授权IBM公司,以及IBM公司的客户使用我写的JSLint软件干坏事。‘”
眼下的程序界中,律师的力量可以说是不容忽视的,尽管Crockford当初往MIT授权协议中加入这段话的目的不过是为了戏虐性的搞笑,但难免会有一些老古板型的公司完全无法理解这句话的用意。而且尽管Crockford本人并无意故意用这句话作出什么特别的限制,难免会有一些使用Crockford的代码编写出其它程序的软件作者会有其它的图谋。
希望开源软件的作者们在编写软件授权协议时尽量不要加入一些在外人看来很容易引起莫名误解的条款,否则大量本来编写得非常优秀的软件却因为类似这起事件一样的原因而就这样被人们废弃在路边,这在我看来实在是太可惜了。
CNBeta编译
原文:cnet
加载中...