历史悠久的开源和闭源软件的风行 说起开源,可能大家会觉得和普通用户的距离十分十分遥远,几乎就是仰望星空才能看得见,而且也未必看得明白的惑星。但是,开源的历史远比想象中的久远,甚至可以说从古至今,人类的文明很大程度上就是靠开源支撑起来的。什么,你不信?看看各种你能翻我能瞟的公开食谱、大众药方,都是开源的产物。早在IT业出现之前,开源精神已在地球植根,只是那时还不叫这个名字而已。
开源精神源远流长,在整个人类文明史上如此,在IT业界中亦是如此。计算机发展伊始,软件开放源代码可谓是个潜规则。当时电脑尚未走近千家万户,仍然高端大气上档次令人无法直视。能够接触到电脑的人,基本只有知识分子,这些人是电脑用户的同时,也是软件的作者。在他们小圈子当中,软件并非是商品,只是作为工具和研究对象存在,源代码自己用,别人也用,就相当于相互交流论文。你能想象一拨人在论坛上相互交流,内容还要加密卖钱吗?只要不是放图不放种打算卖小电影的,极少出现这种情况。
早期的电脑用户兼有软件作者的头衔,要用好电脑,也意味着要写好软件,为此他们还专门开通了不少交流源代码的渠道。1955年,IBM为了交换编程材料、深入研究IBM操作系统开发了“IBM用户组分享”系统,就是这样一种情况。除了主观方面的原因外,技术也为巩固开源的主流地位起到了一定的作用,比如说80年代出现的BASIC语言是解析运行的,要发布BASIC软件就必须要开源。在计算机尚未走向大众之前,开源软件是当之无愧的主流。 然而历史的车轮总是翻滚得比翻书还快,就在大家玩开源玩得不亦乐乎的时候,某人突然发了一文,叫“给玩家的公开信”(An Open Letter to Hobbyists)。在此人眼中,软件的使用者被视为“玩家”,你用我的东西,可以,但不能白玩,请付费后使用。他认为大家并不注重软件开发者的利益。没有钱,谁会有动力来保证软件质量呢?虽然没有直接的证据,但是不少人都认为这封公开信直接摇摆了开源大厦,刮起了闭源商业软件的流行风。
这封信的主人,就是大名鼎鼎的比尔·盖茨。软件不会永远阳春白雪,就如不是每个人都会写书,但天下读书人何其多。电脑正在逐渐变得简单易用,微软前瞻性的眼光看到了软件商业化的未来。随着微软买卖软件大获成功,软件开发者和公司纷纷效仿,一波又一波的闭源商业软件相继出炉。开源者们仍在低声交流源代码,但更多人选择将代码敝帚自珍,软件买卖的吆喝声已经响彻全球。 理想主义的号角:那些著名的开源软件 从一开始,开源就以曲高和寡的姿态出现。和席卷消费市场的闭源商业软件相比,开源软件和开源项目一直以更深层的支点推动世界前进。当然,并非说开源软件就没有商业化,但开源总免不了和“自由”二字站在统一队列。和闭源商业软件相比,开源软件更像是理想主义的化身,利润只是用以维持生计而非人生追求。
理想主义者的坚持往往能令人肃然起敬。在闭源商业软件赚的盘满钵满的80、90年代,大型开源项目GNU计划在1983.年面世,随之诞生的还有影响力最大的开源许可证GPL;Linux则在1991年诞生,和GUN结合后成为了史上第一款完全自由开源的操作系统;1993年红帽组织的前身ACC成立,人们知道原来开源也能自食其力甚至年年有余。千禧年后,开源项目进一步蓬勃发展,在Google的运营下,Chrome和安卓甚至成为了消费市场的顶梁柱。自由给开源灌注了动力,理想在物欲横流的海洋中劈波斩浪扬帆起航。 现在世界上有哪些开源软件正在深切地影响我们的生活呢?我们一起来看看。 Linux
说起开源软件,Linux是第一个逃不掉的了。GNU为Linux注入了活力,GPL则为Linux竖起了保护伞,Linux得以将自身的优秀发挥得淋漓尽致。看看每天和宇宙法则打交道的超级计算机们的灵魂,看看支撑起了信息时代的遍布世界的服务器群落,说Linux在为人类的未来斩荆披棘毫不为过。如果你觉得这些太过遥远,环视一周,相信你会发现地球已被使用Linux内核的安卓占领了大部。 安卓
这是一个大家再熟悉不过的名词了。十数年前,开放的Windows击败了封闭的Mac;现在,更加开放的拥有自家开源项目AOSP的安卓正在以比Mac更加封闭的iOS为对象,重演昔日的故事。iOS立足仍然稳固,但满场飞奔的安卓,让触屏风暴席卷了世界。 Chrome
嗯,严格来说,应该是Chromium而不是Chrome,具体区别可以点此查看说明。按照习惯,权且就叫Chrome吧。Chrome有什么本事?如果你生活在国外,就能够亲眼目睹IE帝国因为Chrome而分崩离析的惨烈场景。即使你生活在中国,靠Chrome养肥的N多个“双核/极速浏览器”,不也在述说Chrome的伟大么? Webkit
对浏览器有研究的朋友肯定知道这个名字,Webkit影响力之大,几乎撑起了当今的互联网标准的半边天。Webkit老爸是KDE开源项目,但背后的大奶妈才是关键——Webkit是苹果Safari项目的一部分,兴旺发达离不得苹果。Webkit很大程度上框定了未来浏览器的设计思路,Chromium拥有浓重的Webkit血统,连最有个性、最富创造力的Opera,最新版也使用了Webkit核心。 eMule
eMule这个词大家也许比较陌生,但说到“电驴”,可能大家就明白了。eMule在中国以“VeryCD电驴”的形象为大家所熟知,一度让VeryCD成为中国最大的网络资源集散地,当然这个形象充满争议,这里限于篇幅就不提了。eMule的最大功劳无疑是普及了eD2k,看看塞满你硬盘的小电影,在寂寞的晚上别忘了感谢伟大的eMule哦。 这是一些比较有代表性的开源软件及项目,实际上开源的化身远不止这几样,还有7-zip啦,Firefox啦,各种BSD啦等等。闭源商业软件的海洋已经覆盖IT业界十数年,但仍有未被淹没的高地。大陆架上的列列岛弧,如珍珠璀璨,少了它们,想必世界会黯然失色好几分。 秩序带来的繁荣:束缚源代码的开源许可证 虽然说了很多开源软件的好,但这里要强调一个事实:尽管闭源商业软件看上去不那么高风亮节,但闭源和商业并不是邪恶的象征。相反,严格的代码控制、庄重的商业行为,建立起了一条又一条高效的井井有条的IT产业链,数以亿计的人因此沐浴到了来自高科技的曙光。繁密但又有条不紊的商业规则,似乎在述说着这样一个道理:自由与否并不重要,但合理的秩序却必然能带来繁荣。
开源世界也意识到了这个问题,闭源软件有它们的规则,开源世界自然也有自己的秩序,不然哪来上文这么多重量级的开源软件。开源世界的规则叫“开源许可证”,如果开源软件选择了某种许可证,你要使用这些开源的代码,就必须遵循许可证的条条框框。没错,你抄是可以抄,但不能随便抄。把别人的书抄一边,然后说这是自己的著作,还有没有天理了? 目前比较流行的开源许可证有下面几种。 GPL(GUN General Public License)
GPL无疑是影响最深远的开源许可证,谁叫GUN社区如此强势,而Linux的代码又这么多人要用呢。GPL的特点两字可形容:“严格”。只要你写的软件某部分使用了遵循GPL协议开源的代码,你软件的这部分也必须使用GPL开源。GPL能够促进更多开源软件的出现,但也因其相当烈性的传染性倍受争议。这种武功秘籍人人能看的激进思想,不是什么人都能接受的。 使用GPL许可证的著名开源软件有Linux、eMule、MySQL等等。 BSD(Berkeley Software Distribution license)
和GPL相比,BSD这个许可证可是宽容多了。使用了BSD开源软件的代码,你不需要将修改后的代码再次开源,只需要注明原作者的版权声明即可。不过如果你选择开源,也只能选择BSD许可证开源,不能使用GPL这类的许可证。BSD是一个很宽松的协议,可是即使如此宽松,往往也有人不遵守,抄了代码就说是自主研发。这究竟是个什么理呢?我不仅陷入了深深的沉思。 使用BSD许可证的著名开源软件有FreeBSD、OpenBSD等一系列的BSD操作系统。 APL(Apache License)
APL也是一个十分松散的许可证,很受商业软件的欢迎。如果你使用了APL许可证的开源代码,不会被强制开源,只需要一一说明有哪些代码被修改过即可。和BSD相比,APL兼容性更好,能够兼容GPL和商业授权。 我们熟悉的安卓就使用了APL 2.0许可证,对商业公司十分友好,不会被强制开源,所以大家都爱用。不过,某些厂商的脸皮超乎想像,用了安卓的代码还说自主研发,不遵循APL 2.0声明Google的版权,说多了都是泪。 开源许可证还有很多种,如MIT、LGPL等等,这里就不一一罗列了。在许可证的加持下,开源软件能够按照作者的理念传承。比如说如果作者想要坚守开源精神,并希望能够汇聚大家的力量共同研究,可以使用GPL许可证;如果作者希望源代码能够赚取更多的利润,可以选择宽松的BSD和APL。开源固然自由,但和商业也并不矛盾。许可证的存在,让开源软件成功融合商业运作成为了可能。 山寨的乐园:中国开源运动发展现状 对于开源世界带来的恩惠,中国人一向是笑纳的。君不见小小一个7-zip让中国一夜间出现了多少个国产自主研发的压缩软件,Chromium养大了多少种自主创新的双核/极速浏览器,eMule则化身成了“电驴”,安卓产下了多少款国产深度定制系统就更不用提了。开源软件的代码种到了中国的土壤中,但开源精神却远未植根。枝繁叶茂的参天树,似乎对外人田流进来的肥水依赖得太多。
除此以外,很多使用了开源代码的中国开发者似乎不太愿意提及自己力量的来源。对普通用户来说,“×压”、“某压”是最强的、最适合中国人用的压缩软件之类的词是听得多了,但绝然很难知道7-zip的名号。大家都“电驴”“电驴”地叫,但似乎没有什么人知道原版eMule和各有精彩的eMule Mod。 不仅如此,有的开发者还奋力用他人的劳动成功为自己圈钱,甚至不惜伤害用户利益来进行“微创新”。比如说某压缩软件宣称自己创新了压缩算法,其他压缩软件不能兼容,但其实质还是使用7-zip的算法,只不过是篡改了文件头,没有技术上的创新,只有技术上的故意不兼容。自己山寨就算了,还扬言自己才是正宗,实在可怕。
不过,开源运动在中国的展开也有乐观的一面,只不过相应的项目太过高端,大家耳闻不多。比如说阿里巴巴就开发了TFS并开源,这是一套分布式对象存储系统,淘宝几百亿张图片和交易快照能够安安稳稳存放在服务器上,就是它的功劳。这套系统在2010年进行了开源,现在新浪微博的某些图片就是使用TFS系统储存。 虽然中国开源项目问题多多,大家对开源软件的态度往往又是“啊,这块肥肉不吃白不吃”,但我们也能看到一些大企业开始积极参与开源运动。国内的开源运动起步较晚,环境也非常恶劣,但还不至于暗无天日。
开源能够集众人的智慧,创造为世瞩目的产品。但很明显,只汲取他人的养分是无法成就顶尖的。只有对开源项目作出自己的贡献,甚至自己来运营一个开源项目,才能触碰到开源的精华——从某些角度上来说,这样得到的利益要比赚眼下能看到的钱来得更多。不信?看看Linux为人类带来了多少的财富吧。 后话 开源在新世纪无疑迸发出了新的活力,以往我们仅仅关注舞台上的英雄和小丑,现在有越来越多的幕后功臣在聚光灯下发光发亮。闭源的商业软件搭造起了软件世界琳琅满目的繁华,但开源软件也未曾离开过栋梁的位置。开源还会创造出什么奇迹吗?我们共同期待吧。 |