对于开源软件来说,相信每个人心中都会有自己的TOP10,尤其是那些开源软件拥护者眼中的TOP10,可能会与我们所列的TOP10有些不同。不过,这是经过全球很多开源社区高手共同讨论的结果,我们觉得这个版本的TOP10是我们所能做到的最公正、最准确的了。当然如果你不同意这样的TOP10,没关系,尽管保留你心中的TOP10。

  1 Linux操作系统

  Linux是一个众所周知的​​操作系统​​,有关它的介绍甚至是详细的分析讲解可以用数不胜数来形容,在此我们就不赘述了,用简短的语言给大家介绍一下Linux的历史吧。

  Linux首先作为一个操作系统是由芬兰赫尔辛基大学的年轻学生Linus Torvalds编写的。起初,Linus对Minix(一个小型的Unix系统)非常感兴趣,因此他决定开发一个优于Minix的系统。Linus从1991年开始直到1994年开发出了​​Linux Kernel​​ 1.0版,它是在GNU General Public License(GPL)的许可下开发出来的,因此​​源代码​​可以被任何个人自由地使用。而Linux就是基于这个内核开发出来的,现如今世界上有成百上千的公司和更多数量的个人基于这个内核开发出了自己的操作系统。

  除了免费使用和开源以外,Linux兼具功能强大和易于移植的优点,这使得它成为除Unix和微软Windows操作系统之外的另一重要选择。IBM、HP以及其他计算机领域的大企业们纷纷使用了Linux并支持Linux的再开发。在Linux诞生20年的时候,就已经作为​​服务器​​平台被世界各地广泛地使用了,而作为家用和办公操作系统的使用数量也在不断增加。同时,Linux在嵌入式系统中也大有作为,涌现出了一大批以其为系统的​​应用​​设备和仪器。

  在上世纪90年代的大部分时间里,学者们普遍没有认识到Linux的潜在意义,错误地认为它不过是一个计算机爱好者的一个小设计,根本不适合大众的计算机应用。而随着诸如KDE、​​GNOME​​、OpenOffice和​​Mozilla​​​​ web browser​​(这些不过是开源中的很少一部分)的开发,现如今已经有大量的应用软件可以方便地在Linux上使用,即使你对计算机了解甚少。

  在64位大行其道的今天,Linux在64位处理器上已经出现了很多版本,甚至于Linux已经开始作为新计算机上的标准操作系统,全世界对于Linux的认可在逐步深入。

  编辑点评: 可以说,是开源给了Linux强大的生命力,而Linux也当之无愧地成为最有影响力的开源软件。

  2 Mozilla Firefox浏览器

  Mozilla​​ Firefox​​(中文名为火狐)是一个免费的开源图形交互平台网络浏览器,它是由Mozilla公司以及很多志愿者共同开发的。Firefox包括了完整的弹出模块、标签浏览和即时​​书签​​功能,支持开放的标准,还为插件提供了扩展机制。虽然可能其他浏览器也拥有同样的特性,但Firefox是第一个包括以上所有特性并得到了广泛使用的开源浏览器。

  其实,Mozilla并非传统的软件公司,而是一个全球性的公共服务组织,其致力于提高人们在因特网上​​体验​​。Mozilla的技术和产品全部属于非盈利组织Mozilla Foundation,Mozilla公司独特的经营模式使得其能够获得足够的财政支持,并在增加了竞争力的同时还激发了公众的创新精神。

  Firefox就是由一群激情四射的人们开发出来的,所有的产品都可以免费地运行在Windows、Mac和Linux上,并且可以支持超过35种语言。屡获殊荣的​​Firefox浏览器​​正在被世界上数千万的人使用,基于其开源的本质,同时也正在点燃着全世界人们的热情,这使得Firefox更具有竞争力。

  除了普通浏览器的优点以外,Firefox仅仅5.7MB左右的“身材”不得不为人称道。独特的分页浏览功能使你可以在同一窗口内查看多个网页,可以将链接在后台标签页中打开,当准备好要阅读其他页面时,它们已经载入完毕,无需花费时间等待。

  而强大的JavaScript/CSS控制台、文件查看器等,提供了洞察网页运作详情的能力,这个优点成为了网络开发人员眼中最强的亮点。

  编辑点评: 无论你是否在使用Firefox,有一点都不可否认,它正在被世界各地的人们使用并继续开发着,它已经成为开源软件的杰出代表之一。

  3 MySQL数据库

​MySQL​​被人们熟知也许是因为下面的两个原因:一是因为它是开源的;其次也是至关重要的,它也是免费的。MySQL在网络应用中十分流行,而这种流行与另一重要的开源软件​​PHP​​息息相关,因为两者常常是捆绑使用的。

  可以说MySQL是中小企业Linux平台的首选开源数据库系统,它是一个跨平台数据库系统,一个真正的多用户、多线程的SQL数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统;也是Linux系统中使用最为简单的数据库系统,安装简单、使用简单、管理也简单,且数据库系统的稳定性也相当不错。

  MySQL是免费的(如果你不需要提供技术支持的话),这一点使得用户可以零成本地建立容量巨大的数据库或者网上交易系统,无疑这是十分诱人的。事实上也的确如此,迄今为止MySQL仍然是最受欢迎的开源数据库软件。而且,在来自MySQL网络社区的帮助信息足可以应付几乎所有的问题;同时,你还可以找到你所喜爱的已经支持MySQL数据库服务器的软件和语言,而这些软件和语言通常是十分丰富的。

  MySQL公司设立在瑞典,由两个瑞典人和一个芬兰人共同创立,这三个人从20世纪80年×××始就在一起工作。MySQL公司是MySQL服务器软件源代码的惟一拥有者,并提供MySQL的开发、发布和支持。世界各地的人们都可以使用MySQL的源代码,比如开发一个网上数据库;但是如果你使用MySQL开发了商业产品,就理应需要付钱给MySQL公司了。

  编辑点评: 开源的、免费的MySQL,让你用零成本就可以建立容量巨大的数据库或者网上交易系统,再加上无数社区精英的技术支持,不风靡都难!

  4 Apache Server服务器软件

​Apache HTTP Server​​是一个免费且开源的服务器软件,支持类Unix系统(如BSD、Linux和Unix操作系统等)、Microsoft Windows、Novell NetWare和其他平台。Apache自1996年4月以后就成为互联网上最流行的Web服务器软件,而“Linux+Apache”的组合也是目前免费服务器中的最佳拍挡。

  据统计,目前Apache HTTP Server已成为占有率最高的HTTP Server软件,而且它的功能与执行效率并不会比一般的商业Web Server软件差,甚至会领先许多。Apache快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,并且又完全免费、完全源代码开放。

  Apache的所有软件皆来自于Apache Software Foundation(Apache软件基金会),它是一个美国的非盈利性组织。1999年,Apache Software Foundation由一群早先就在一起工作的并自称是“Apache Group”的人建立的,起初的目的是继续支持并使用NCSA编写HTTPD Web server。

  Apache HTTP Server软件是由Apache HTTP Server Project提供的(Apache HTTP Server Project是隶属于Apache Software Foundation的),由来自世界各地的志愿者通过互联网共同管理、计划、开发并撰写相关文档。同时,很多使用者也提供了他们的创意、源代码和相关文档,这无疑也丰富了Apache HTTP Server。

  编辑点评: Apache HTTP Server由一群网络精英首创。通过世界各地人们的努力,其已经成为网络服务器软件的代表。如果你需要创建一个每天有数百万人访问的Web服务器,Apache HTTP Server无疑是首选。

  5 OpenOffice办公套件

  OpenOffice是一个免费的、开源的​​办公软件​​套件,包括文字处理、电子数据表格、演示文稿、矢量绘图和数据库等几个部分;其适用于许多不同的操作系统平台,包括Windows操作系统和GNU/Linux、BSD、Solaris、Mac OS X等。事实上,OpenOffice试图在与​​Microsoft Office​​谐调兼容的同时并与之竞争。

  OpenOffice主导OpenDocument标准,其方便数据交流,并且可以免费地使用。OpenOffice以C++为程序架构,并在LGPL及SISSL开放源代码之下提供已授权的文件化应用程序界面,其允许任何的程序开发者从源代码中获益。

  事实上,OpenOffice原是Sun公司的一套商业级Office软件,经过Sun公司公开程序源代码之后,正式命名为OpenOffice,并由许许多多热心于开源软件的人士共同来维持。这使得大家能在Microsoft Office之外能有免费的Office可以选择。

  OpenOffice是个整合性的软件,里面包含了许许多多的工具,其功能绝对不比微软的Office差,不但有Word一样的字处理和制作简单图形的功能,更有强大的图表功能,也能编写网页,还可以做出Microsoft Office中很难处理的数学符号等,并支持XML、微软的doc、​​Excel​​、ppt等文件格式。

  编辑点评: OpenOffice与它的母系统linux一样,能够完全兼容Word2000/xp的字符,同时对格式兼容也达到了70%上下,更重要的是,它是开源并免费的。

  6 Gimp图像处理软件

  GNU​​ Image​​ Manipulation Program或者叫它GIMP,是一个免费的图形图像处理软件。GIMP是由Peter Mattis和S

  pencer Kimball在1995年共同创建的,而如今,有许许多多的开发者都为其做过贡献,同时更有成千上万的用户在对其进行测试并提交错误报告和建议。

  GIMP的功能相当强大,它可以作为一个简单的绘图程序来使用,也可以作为一个高质量的图像处理软件来使用,还具有图像格式转换等功能,完全可以与​​Photoshop​​相媲美。

  另外,GIMP具有很强的可扩展性,能通过扩展插件来完成各种任务,其高级脚本接口允许用户通过编写脚本程序来完成从最简单到最复杂的各种图像处理过程。而GIMP的完全安装只需要约30MB的磁盘空间,“身材”令人咋舌,并且其还支持包括简体中文在内的很多语言。

  此外,GIMP的优势还在于获取它的多种来源和对大量操作系统的广泛可用性,可以说GIMP是当今对操作系统支持最全面的图像处理程序,能运行的平台包括:GNU/Linux、Apple Mac OS X、Microsoft Windows、BSD、Solaris、SunOS、AIX、HP-UX、Tru64、Digital UNIX、OSF/1、IRIX、OS/2、BeOS等。

  GIMP与PHP一样,是在GNU通用公共许可下的开源软件,这让使用者享有对程序源代码获取和更改的自由,并使得使用者对GIMP的改进可以公之于众。

  编辑点评: 由于GIMP功能相当强大、适用性又广,所以被誉为Linux下处理图像的法宝,是Linux下的“Photoshop”。

  7 PHP编程语言

  PHP是一个开源的、很讲究思考性的编程语言。起初,它是用做制作动态网页的高级工具,但是现在PHP主要用于服务器方面的应用。

  PHP是由Rasums Lerdorf创建的,它开始是一个简单的、用Perl语言编写的程序,用来记录Rasums自己在线简历的访问者。后来,PHP被用C语言重新写过,范围扩大到了访问数据库。在这期间,有许多人向Rasums要此程序的拷贝,以便于自己使用,为此,他就编写了一些介绍此程序的文档,并发布了PHP v1.0。

  越来越多的人开始使用PHP,并强烈要求增加一些其他的特性,如循环语句和数组变量等,其他的一些程序员也开始参与PHP源代码的编写。很明显,为了以后的发展,PHP必须重新编写,因此,著名的PHP v3.0就出现了。

  事实上,PHP是编程语言和应用程序服务器的结合:PHP和其他的编程语言类似,使用变量存储临时数值,使用操作符处理变量;而PHP的真正价值还在于它是一个应用程序服务器。

  PHP是免费的,而且所有的源代码、文档都可以免费地复制、编译、打印和分发。用户的任何一个用PHP编写的程序都属于用户自己,可以按照自己的意愿进行处理,而不需要付任何版税。就PHP本身而言,用户可以无限制地发布自己编写的程序。

  PHP采用的是GNU通用公共许可证,这避免了其他人占有自己的劳动成果。在符合GNU许可的条件下,源代码可以自由地发布,并且任何一个人都可以使用,但是任何来源于此代码的程序必须以同样种类的许可方式发布。换句话说,如果用户从任何GNU许可下的源代码中得到代码而编写自己的程序,用户必须给任何想得到代码的人公布自己的程序。

  编辑点评: PHP易学易用,可以方便快捷地编写出功能强大、运行速度快,并可同时运行于Windows、Unix、Linux平台的Web后台程序,非常适合Web上的工作。

  8 OpenSSH加密软件

  OpenSSH是一个提供网络信息传输加密的免费开源软件,其使用的是SSH协议。其实,使用telnet、rlogin和​​ftp​​的人可能并不会意识到他们的密码正在网上被不安全地传输着,但是事实上的确如此。

  而OpenSSH可以将你的所有通信加密,并有效地阻拦窃听、劫持等攻击。另外,OpenSSH还提供了安全通道功能和一些鉴定方法,并且支持所有版本的SSH协议。

  另外,使用OpenSSH工具将会增进系统的安全性,所有使用OpenSSH工具的通信,包括口令都会被加密。而telnet和ftp所使用的是纯文本口令,并被明文发送,这样传送的信息就很可能会被截取,口令也可能会被检索,然后未经授权的人员可能就会使用截取的口令登录进入你的系统并对你的系统造成危害。

  所以,你应该尽可能地使用OpenSSH的工具来避免这些安全问题。因为OpenSSH套装使用ssh程序代替了rlogin和telnet,使用scp代替了rcp,使用sftp代替了ftp,同时还包含了sshd和其他功能。

  OpenSSH是在允许密码技术出口的国家中开发的,并且可以被任何人在BSD许可下使用和再开发。目前,OpenSSH的开发是朝向两个方面发展的:一是严格基于OpenBSD的开发,即意在开发尽可能清晰、简单并安全的代码,他们认为朴素而严谨能够带来更好的代码质量和更方便的使用;另一方面是追求可移植性,使得其可以在多种操作系统上运行——这也就是所谓的-p版本,比如OpenSSH 4.6p1。

  编辑点评: 传统的管理方式显然已经不能适应安全的需要,因为所有的传输过程都是没有经过编码的,只要有人监听,就很容易得到你传输的一切信息甚至是密码。而OpenSSH这种开源的、免费的软件能很好地解决这个问题。

  9​​ BitTorrent​​ P2P软件

  2002年,布莱姆·科亨在CodeCon初次露面,发表了首个BT软件BitTorrent,它是以Python编写而成的,并以MIT许可证发布。BitTorrent客户端软件以其对等计算(P2P)文件分布程序和它的相关文件共享协议著称,而这两者都是由布莱姆·科亨首创的。

  监测全球互联网流量的CacheLogic公司认为,在近五年中P2P已经成为互联网上最流行的用户应用程序之一,同时它也是公认的消费者使用宽带的关键驱动因素之一,而BitTorrent几乎占用了互联网35%的流量。

  事实上,BitTorrent的风靡是可以理解的,因为它能够给予你同样的自由去发布以前只能被一小部分人用一些特殊的设备和很多金钱才能欣赏到的东西。如果你有一些很特别的东西想要发布给别人——比如一个很大的音乐或者视频文件、大型软件、游戏,或者任何别人想要的文件,而在这个时候,你的东西越受欢迎,带宽就越受限制。如果同时有成百上千的人想要下载,那么你的服务器显然就会崩溃,而且没人能得到这个资源。而BitTorrent很好地解决了这个问题。

  普通的HTTP/FTP下载使用的是​​TCP/IP​​协议,而BitTorrent协议是在TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层。根据BitTorrent协议,文件发布者会根据要发布的文件提供一个.​​torrent​​文件,即种子文件,也简称为“种子”。下载者如果想要下载文件,就需要先得到相应的.torrent文件,然后再使用BT客户端软件进行下载。

  另外,对于一般的HTTP/FTP下载,发布的文件仅在某个或某几个服务器上,下载的人太多,服务器的带宽就很容易不胜负荷而变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也就越多,种子也会越来越多,下载速度反而越来越快。

  编辑点评: BitTorrent是一个多点下载的源码公开的P2P软件,而BitTorrent开创了一种革命性的下载方式,因为它下载的人越多反而速度越快。

  10​​ Audacity​​音频编辑软件

  Audacity是用于录制和编辑音频文件的免费软件,可以在Mac OS X、Microsoft Windows、GNU/Linux等操作系统上工作。Audacity是由一组志愿者在GNU General Public License(GPL)的许可下发布的。

  不过,作为免费的开源软件,Audacity却拥有不逊于收费商业软件的强大功能。Audacity可以通过​​麦克风​​或混音器进行现场录音,也能从盒式​​磁带​​、CD唱片或MD中转录。而通过某些​​声卡​​,它还能够捕获音频流;同时还可以在现有的音轨上配音,以生成多音轨。

  Audacity的导入导出支持多种格式,包括WAV、AIFF、AU及Ogg Vorbis。另外,其也可以使用libmad导入MPEG音频(包括MP2和​​MP3​​文件);而导出MP3文件,则是使用可选的​​LAME​​编码库。可惜的是,Audacity目前并不支持WMA、AAC及其他私有的或者受限制的文件格式。

  在特效方面,Audacity能够去除静电噪声、嘶嘶声、嗡嗡声和其他的持续背景噪声;还可以使用均衡器、FFT过滤器以及低音增强等特效来改变频率。另外,Audacity还拥有许多内嵌特效,比如回声、移相器、前后反转等。

  最后还要强调的是,Audacity可以进入频谱图模式,这便于将频率图形化,并使用“频谱图”命令来进行详细的频域分析。