旗帜鲜明地支持开源运动

读完本书后,全书给我留下的最深印象就是:作者在不予余力地在夸奖开源的好处,甚至号召各大小软件商,只要条件成熟,就应该把软件开源。
一、为什么作者支持开源
(1)同类的软件,先开源的往往会吸引最多的用户和最有激情的合作开发者,后开源的只能吃剩饭。社区之所以有黏性,是因为用户对软件已经熟悉,并且开发者已经更新代码上投入了太多时间。
(2)对于传统软件,一旦市场成熟,销售放慢,为削减开支,大多数供应商将不得不放弃维护和服务,使软件沦为“孤儿产品”(想想微软的XP),对此时的用户来说,即使软件仍可正常使用,却也往往只得壮士断腕进行放弃,而选择有后续维护服务的软件;但对于大型开源系统/软件来说,则不存在这类问题:由于公开了源代码,因此使得后续服务变得简单,即使官方不再提供服务,相信只要市场还在,会有后续者来进行后期维护升级的。
(3)对于像在linux这种开源系统/软件中进行奉献的程序员,他们中很多人是因为问题自身的魅力而去解决它的,激励效果有时会比单纯的金钱要有效得多。而且对于进行奉献的程序员们,还会获得一份好名声,这在现代社会,一个好名声无论是想找个好工作还是进行创业,都会是一笔无形的大额资产。
不仅如此,软件开源对提高软件商本身的服务质量绝对是立竿见影——由于软件本身免费,所以软件商只能通过后续的优质服务来进行赚钱,这不同于传统软件那种卖出就OK,后期维护却差强人意的模式,如果大部分的软件商都要通过比拼服务质量来赚钱,那么软件行业的整体水平和服务质量绝对会上一个高台阶。
二、从书中的观点对比现实世界中小米公司的做法
Linux几乎从一开始就发展出一条完全不同的路,其开发更像是仅通过互联网合作的大量志愿者的随意之作。在质量方面,没有严格的标准也没有一个强有力的机构来管理,他们只是执行一个简单得有点幼稚的策略:每周发布,并在接下来几天内获取数百个用户的反馈。他们创造了一种类似达尔文“物竞天择”的选择机制,被选择对象则是开发者们所做的种种软件修改。让所有人吃惊的是,这种方式工作得非常好。
——怎么样,联想到了什么没有?是不是小米的miui系统就是这样一步步成为今天的样子的?
为防范严重bug给用户带来的影响,Linus有这么一招:在Linux内核版本号上加以标识,潜在用户要么选择上一个被标识为“稳定”的版本,要么冒着有bug的风险使用最新版本以获取新特性。这种策略还没有被Linux黑客们系统性地加以模仿,也许他们以后会这样做。事实上,给用户以选择使得两种版本都更具吸引力。
——怎么样?每周都在更新miui系统的你,是不是联想到了miui的稳定版和开发版了?
早和尽量频繁发布是Linux开发模式中至关重要的一部分,绝大多数开发者(包括我)都习惯性地认为:除非是很小的项目,这么做有害无益,因为软件的早期版本几乎都是问题版本(buggy version),如果早早发布,恐怕会耗尽用户们的耐心。这种观念使人们更倾向于支持大教堂开发模式,但如果最重要的目标是给用户提供bug尽量少的软件,为什么你只是每六个月(或者更长间隔时间)才发布一个版本,并且在版本发布的间隔里忙得喘不过气来呢?
——首先IT界前几年很推崇的《重来》一书中也有类似的观点,就是软件的推出要趁早,既可以抢先占领市场又可以尽快从市场获得的反馈及时对软件进行调整;另外,通过这段话,也会一定程度上理解miui更新频率如此之勤的原因了吧……
三、本书的核心观点?
本书内容不少,作者在书中前前后后也说了许多,如果只用书中的几句话总结全书,我会选择如下两段:
(1)软件很大程度上是一个服务行业,虽然长期以来都毫无根据地被错认为是制造行业。
(2)“大教堂与集市”中的论断:最终,当自由市场经济开始创造出足够的财富盈余时,大量程序员可以生活在后稀缺的礼物文化中,而软件产品的工业\工厂模式注定走向衰亡。
综上,作者给出软件行业避免死亡的解决之道便是:开源+服务。
(可参看《免费:商业的未来》一书)