Ten things you didn't know about open source
By
James Archibald星期四,作为世界上开源软件运动主要倡导者之一的Brian Behlendorf,在University of the Western Cape举办的数字自由展览会(the Digital Freedom Expo)上做了一个题为"你可能不知道的关于开源的10件事(Ten things you may not know about open source)"的报告.
Behlendorf是Apache网络服务器的关键开发人员.世界上一半以上的网络站点都是以Apache作为Web服务器的.
下面就是你可能不知道的关于开源的10件事:
1. 开源比专有软件还要早(Open Source predates proprietary software).
一般认为开源是一种新兴的极端思想.事实上,尽管在表述上不叫开源,但是早期的计算机软件的源代码是开放的,可以进行查阅和更改.在计算机时代的早期,那时的mainframe一般是需要动用卡车进行交付的,软件被交付给需要的公司,可以(根据需要)进行更改.这是当时的标准做法.直到大约1976年的时候,Bill Gates在Homebrew Computing Club公布了一封非常著名的信件,信中要求人们停止共享他的Altair BASIC.这样,专有软件的思想出现了.1985年,自由软件基金会(Free Software Foundation)成立了,来回应这种将源代码保密起来的新思想.
2. Apache保持互联网的统一和免费(flat and free)
Apache(项目)启动于1995年,那时Netscape是占支配地位的浏览器.当时有这样一种担心,如果同一家公司既拥有浏览器市场又拥有(Web)服务器市场,这样它就有太大的控制权,有可能会向其他公司征收建立web站点(web hosting)的费用.Apache的启动具有双重的目的.现实的目的是可以集思广益进行更好的开发;理想一点的目的是保持HTTP (Hypertext transfer protocol)仍然是一个开放的标准.
3. Open SSL使得每个人都可以进行加密
Open SSL是一个数学函数库,用来对数据进行加密(Behlendorf认为这是"security through transparency"的最好例子).以前,美国军方非常忧虑经过加密的数据的威胁.军方和政府认为用40位以上加密算法进行加密的数据像军火一样危险,所以将出口任何可以进行40位以上加密算法的软件视为非法(40位实际上是很不安全的,很容易被破解的加密等级,现在的安全标准是128位).Open SSL可以在一个开源的平台上提供加密算法,使得这项政府禁令失去了实际意义.因为Open SSL中负责加密的代码是公开的,所以是可以信赖的.尽管美国仍然有这条加密法规存在,但是它是不适用于开源软件的.
4. 开源使得人类基因组序列可以免费使用
在人类基因组绘制工作完成之前,一个叫做Celera的商业协会正在开展测序基因组的工作并试图将其申请专利.这种将发现而不是发明用来申请专利的荒谬想法引起了许多遗传学家们的关注.大约在2002年,一个叫Jim Kent的博士生写了一个10000行的Perl代码程序,来对大量未经处理的数据进行迅速的复杂运算.这种复杂运算在测序基因组的过程中是必不可少.这个程序运行在100多台Linux服务器上,最终基因组的测序工作成功地比Celera提前几个月完成.
5. 微软也喜欢开源
这听起来似乎有些怪异.Behlendorf解释说,微软从开源软件的开发中获益良多,也使用了那些虽然没有标明"开源",但公开地提供了源码的软件.TCP/IP在Windows中的第一次出现是使用的Berkley的代码.他指出了一些微软与之开展合作的开源项目,例如MySQL, SugarCRM和JBoss. Behlendorf引证Codeshare, Channel 9和其他的一些站点来说明这些是专有软件巨人正在进一步进行开放的积极信号, 并说到"它(指微软)很不情愿的大声抱怨着被拖进未来".
6. 利他主义并不是人们为开源软件做贡献的唯一原因
很多贡献者是专业的软件使用者,他们发现在一个小组内开展合作的话,做一些事情(比如修改bug或增加功能)会更容易.根据一个在2006年进行的调查,现有的自由/开放源码软件(FLOSS)基础相当于131000个人进行一年开发的工作量. 共享代码的成本很低,但是效益却很高.
7. 在线社区确实可以完成一些工作
尽管来至于不同的自愿贡献者的国际合作方式,天生的会容易进入一种无序混乱状态,但是一种新的软件管理模式出现了,它可以尽可能的最大化自愿者的数量和他们可以发挥作用的潜力.由于透明性,任何人都可以看到在一个项目中什么已经被完成了,这样可以使得加入这个项目变得简单快捷.
8. 最重要的自由:派生的权利
任何人都可以利用现有的开源软件的代码生成自己的版本.这对于阻止厂商将开源软件锁定是很重要的.开源软件项目必须足够的开放来满足开发小组的愿望和需求,才不致于使得人们都被赶到别的项目中去了.
9. 开源可以改变这个世界
Behlendorf非常相信开源拥有可以使世界变得更好的能力,并举了很多例子.对于政府,他认为开源软件可以为电子选票计数以值得信赖的方式提供极大的帮助,也可以增加政府行为和政策的透明性.对于像中国这样对访问互联网有限制的国家,开源已经成功的帮助人们通过绕开审查机制来获得对互联网更多的访问.第三世界国家可以极大的受益于像每个孩子一台笔记本项目(the One Laptop Per Child project)这样的活动.这个项目(the One Laptop Per Child project)完全使用了开源软件,这样既可以使笔记本更便宜也可以根据每个国家具体的需要对软件进行修改.与数字版权管理的斗争则是他给的另外一个例子.
10. 开源需要你的帮助(不论你是谁)
即使你不是程序员,也能够为开源项目提供帮助. 开始的时候,你可以仅仅通过试用(开源软件)来提供帮助.这些被推荐的能够在Windows运行的程序包括Open Office套件和Firefox浏览器.还有很多"live" CD方式的Linux发行版比如Ubuntu,你可以在不影响你的CD的情况下试用Linux.开源项目的开发常常发生在论坛里,所以加入论坛也是一种帮助.如果你在一个开源应用程序里遇到了一个bug,报告这个bug也是对开发者的一种帮助.对会两种语言的非程序员来说,另外一种提供帮助的方式就是翻译程序的文档.
(ypxing注:因译者水平有限,很多错误在所难免,如有疑问请参看原文.
转载本文请注明出处 http://blog.chinaunix.net/u1/35100/showart_284716.html)