刘毅同学

About Python, MySQL & Life

开放与开源,自由与封闭

| Comments

前几天偶然间看到了一个淘宝又一个非常不错的网站——Taocode(http://code.taobao.org/),是淘宝为国内开源社区做的又一个贡献吧。(越来越喜欢淘宝了)

大致的逛了一逛,发现了我浏览的大部分项目都是“死”项目或者是一个人的表演。这不是开源,而是源码开放而已。

什么是开源?

在我看来,开源不是单单的源代码开放,更本质的来说一个革命性的软件开发方式——任何人都可以参与到软件的开发当中。在我看来一个好的开源项目绝不是一个人的项目,而是多个人甚至是由许多人组成的社区共同进行开发,可以说开源是hacker的coding party。一个人玩着没意思,大家协作着一起玩才是开源的内涵。

在国内的开源社区,可能因为我的了解太少,很成功的开源项目我知道的真不多。国内的开源还需努力啊。

android在我看来不是严格来说不是一个开源的操作系统,它更像是一个开放的操作系统,因为android是google内部封闭开发,之后再公布源代码,也就是说任何人都可以查看代码,但是你不能提交修改的代码,也不能决定android的发展方向。

相比较来看,linux kernel才是最典型的开源。

什么是自由软件?

自由软件和开源不是一回事。自由软件强调的是使用者的权利(例如使用者应该有修改权利、重新分发的权利等等),具体来说就是五花八门的协议,其中最有名的当属GPL协议、BSD协议等等。

封闭软件是魔鬼吗?

答:是,也不是。读完《乔布斯传》之后,对于开放与封闭、自由软件与封闭软件的认识不再如Richard Stallman那样的偏激了。

在大众消费领域,对消费者、普通用户来说,其实他们在乎的是用户体验,是产品是否好用,是否拥有产品的修改、分发权利对他们来说毫无意义。因此封闭的还是自由的对消费者来说都一样,在这个领域封闭软件不是什么妖魔鬼怪,不是魔鬼。正所谓黑猫白猫,抓到耗子的就是好猫。苹果公司是IT业界最出名的封闭王国,它的产品从硬件到软件都是最封闭的,但可以说也是最优秀的,最好的。因此它的产品最畅销。

然而从一个行业角度来看,从一个企业的角度来看,开放比封闭具有更多的优势,也是更受欢迎的。依旧是苹果公司的例子,个人电脑市场上微软战胜苹果公司,成为业界的PC霸主,一大原因就是它采用的是开放策略(不是开源哦)——微软负责操作系统,硬件归硬件厂商、配件厂商生产,这个策略在现在看来似乎是理所当然,但在当时来说是一个非常巨大的创新。而苹果公司依旧是走硬件到软件的一体化封闭策略。(不是原创思想,吴军的浪潮之巅中有精辟的介绍,极品好书,力荐!)

封闭也会导致垄断的出现,最终使用者还是会受到伤害。因为垄断会扼杀创新,抑制进步。

当然开放也有它的弱点:你无法掌控每个环节的品质,木桶理论告诉我们,你讲一个环节做的再完美,也未必会是整个产品完美。乔帮主的封闭策略恰恰没有这个顾虑,因此你会发现虽然Windows PC占据了绝大份额,可不得不承认Mac是最美的。

Comments