西西河

主题:【原创】论开源和修桥-说说我对开源的理解 -- 猪头简

共:💬27 🌺33 新:
分页树展主题 · 全看 下页
  • 家园 【原创】论开源和修桥-说说我对开源的理解

    OpenSource,开放源代码,指软件开发者将软件本身和软件的原始程序一起公开,这样第三方不仅可以更好的了解整个软件的工作原理,而且可以方便地 修改、完善、扩充。软件的全部秘密都在源代码里。如果一个软件的源代码公开,意味着这个软件将没有任何“独门绝活”可言。

    OpenSource最开始源自一些程序员的个人软件作品,这些程序员为了和别人分享开发理念、个人爱好、甚至只是为了向自己的朋友炫耀,或者诸如此类的原因,将自己的软件源代码公布出来,供别人随意使用、随意修改。也有些软件出于纯学术或科研的目的开放。

    最开始OpenSource只局限在学校和某些小团体中间,但随着OpenSource的代表大作──Linux的流行和互联网的发展,OpenSource迸发出无穷无尽的生命力,脱离了业余圈子,成为软件行业不可忽视的主流力量,影响了整个软件行业的发展方向。

    这让人不得不思考──OpenSource概念因何流行,一种看似毫无经济利益的商业模式因何产生出如此巨大的力量。

    让我们发挥一下想象力……

    ========Story 1========

    有一个距离陆地很近的小岛,住着一些居民,这些居民中间,有一些单车旅行爱好者,他们每次要离开小岛,都要搭乘一艘微硬号渡轮,当然,所有岛上的居民也都要搭乘微硬渡轮到陆地上,微硬公司的老板锅盖茨因此而大发其财,被人冠以“帐单(bill)锅盖茨”的绰号。

    有一天,这群单车爱好者聚集起来商议,我们何不修一座桥,说做就做,他们有的去找石头做桥墩,有的去找木板做桥面,不久,一座简陋的桥建成了,勉强可以通过,他们并不满足于次,每当他们过桥的时候,都会加固桥梁,或者装饰一下,经过了好多年,这座桥变成了一座坚固漂亮的大桥,大桥不仅为单车爱好者带来了方便,而且岛上的居民也可以随意通过,后来,由于这座桥,小岛成了旅游圣地,岛上的居民也富裕起来。唯一不爽的只有可怜的锅盖茨先生,他的帐单越来越少。

    ======================

    实际上,相当一部分开源软件开发者,他们原始的动机并不是为了利他,而是为了满足自己的需要,只不过他们和普通的商业软件开发者不同,他们在满足自己需要的同时,把自己的成果分享给他人使用。由于软件基本可以零成本复制,所以在满足他人的同时并不会给自己造成任何损失。

    当一个软件的源代码被公开以后,便会有人来继续修改满足自己的需要,一部分修改被再次公开,如此周而复始,自我完善,最后达到甚至超过商业软件的水准。

    还有一部分开发团体,在衣食无忧之后,他们仅仅因为一种精神信仰或朴素的理想,像那些热衷于社区服务的团体一样,无偿地为开源软件做改进、维护和版本管理工作。

    =========Story 2=========

    伴随游客的增多,有游客开始投诉大桥的建造无人规划,显得粗糙杂乱,影响了小岛的景观。这时候,有人开了一个叫“小红帽”(RedHat)的公司,这个公司出钱把大桥装饰一新,借此招揽照相生意,向旅行者贩卖大桥纪念品和小岛旅游指南。由于公司业绩还不错,小红帽不久就在大颗纳斯市场上市。

    ========================

    开源软件也在逐步走向商业化,只不过商业化的方式并非像微软一样贩卖版本授权──他们也没有权利这么做。很多依靠开源软件的公司,依靠整合、订制开源软件,并以此为基础贩卖技术服务来赚钱,RedHat是一个典型。

    =========Story 3=========

    这个小岛有个邻居──咕鸽岛,咕鸽岛的风景也不错,但苦于游客不够多。于是咕鸽岛决定自己建造一座大桥,将小岛和咕鸽岛连接起来,任何人免费通过。不久,咕鸽岛的旅游业也一片红火。

    =======================

    Google 基于Linux开发的手机/移动设备操作系统Android被认为是未来嵌入式操作系统的重要方向。与微软不同,Google将Andriod完全开放,免费提供全套源代码。Google的战略并不是通过Android卖钱,而是力求将Andriod的市场占有率扩大,形成行业标准,借此推广Google 的网络应用。

    上面的故事写得有点散乱,最后给一个总结──

    OpenSource的流行,并非完全是理想主义者乌托邦式的创造。实际上,开源软件形成了另外一个,不同于以往模式的经济链。这就像最早的电影,都是通过票房卖钱,电视出现以后,难以收取收视费,于是就转向广告模式──电视可以免费看,但电视台要通过插播广告赚钱。

    开源的核心竞争力来源于开放,正是由于开放,它可以不断凝结、积累无数天才的创造。而传统的大软件开发厂商的封闭软件,发展到一定阶段,常常因为开发效率降低、管理困难而难以继续保持竞争优势。开源软件更接近于自然选择──优秀的改进被自然保留下来,蹩脚的修改由于无人使用而被舍弃。而在传统的封闭软件企业,在某一点上的方向只有一个,方向的正确与否取决于开发小组负责人的个人水平,前面一个人犯错,后面要找一队人来擦屁股。

    开源和商业并不是对立的,甚至还有互相促进的作用。一方面,开源软件为大量技术创业公司节约了软件授权成本──如果没有开源软件,互联网公司绝对要比现在少很多;另一方面,也有一批公司,通过在开软软件上定制应用、提供技术服务赚钱。

    以Google为代表的第三种开源商业模式,将开源系统作为一个通向自己服务的免费工具和桥梁,这类公司,也将逐渐成为开源生态链的主流。

    Symbian 最近“被迫”宣布开放源代码。这是因为Nokia意识到由于Symbian的封闭性,在这个平台上做出创新性的修改、开发出创新的应用比较困难,众多的第三方开发者正在逐渐投向竞争对手Apple和Google的怀抱。为了挽救Symbian平台,维护Nokia在手机行业的老大地位,实现“收入服务化” 战略,不得已宣布全面开放Symbian。这充分体现了开放平台的发展潜力和竞争优势。

    从经济学角度,当软件收回其开发成本以后,再发行更多拷贝的边际成本为零。微软正是通过垄断地位和近乎为零的边际成本创造巨额利润──这从社会投资的角度是缺乏效率的。微软十年如一日持有百亿计的巨额现金正体现了这一点。而在开发软件、满足自身需要的同时,将其免费提供给其它有需要的人,其实并不产生额外的成本──这才是真正有社会效率的软件经济模式。从这个意义上,开源模式,代表了更先进的生产力。

    开源软件会不会危害软件业?会不会让软件业“自裁”,程序员没饭吃?答案是绝对不会。实际上,并非所有的软件都适合开源。就像免费公路能够创造最大的社会效益──因为公路走的人多;而在自家花园里修条小路一定要自己花钱,因为这是专用的道路。只有普遍需求才有开源价值。对于专有需求──开源了也没有人用。

    最有效率的方式,是利用开源软件,提高为特定用户群服务的效率──开源免费,定制与服务产生效益,这才是高效的软件商业模式。IBM之所以能够成为全球最伟大的软件公司之一,并不在于它买了多少操作系统,而在于它为大型企业提供从管理到信息化的整套定制解决方案,而这套方案当中,包含了许多开源软件,以后或许更多,所以,IBM正在积极拥抱开源,很多未来的、有远见的软件企业也会这么做。

    通宝推:邓侃,高子山,

    本帖一共被 1 帖 引用 (帖内工具实现)
    • 家园 开源必须有赢利

      现实情况就是,饿肚子的程序员不大可能进行无私奉献。就现在而言,成功的开源软件必定有其商业模式,比如apache能够开发那么多oss,离不了IBM每年上千万美元的赞助(IBM也不亏,apache对IBM的贡献远不是上千万美元可以买到的)

      • 家园 一朝成名天下景仰嘛

        开源也成就了很多原先默默无闻的程序员

        一朝成名天下景仰嘛。

        名利总是逃不开。

        不过这容易成就个人英雄,像一整套系统这样的需要严格分工协助的东西,就困难了。

    • 家园 我觉得嘛

      我觉得嘛,红帽子没权力拿linux卖版权

      但是很多开源作品是有权力卖版权的,开放源代码不见得就不能卖版权吧,不过我没研究过开源几个协议。

      我赞同开源,也赞同微软的卖版权;软件开发应该要能给作者带来足够满意的回报,卖版权赚钱并不邪恶,和卖服务并不矛盾;微软的版权实际也包括后期一票服务,而且现在他们在中国的定价策略也灵活很多

    • 家园 花简兄

      欢迎欢迎

    • 家园 开源神化已经破灭

      那个桥的例子实在太差。现实生活中,哪个桥是这样盖成的?

      可能有简陋之极,危险万分的桥是这样形成的,但坚固漂亮的大桥,还未见过。

      开源软件中的确存在质量高的,但这些软件的贡献者非常有限,而且非常集中。那种有人继续修改满足自己需要,逐渐完善的说法,谁能给我个例子?经过多人在不同时间修改的代码,可以明显地看到代码风格不一致,设计混乱,几乎是不可用。

      软件的开发,就像外科手术,是必须有主刀医生的,多个主刀医生分批次的修修补补,恐怕很难做出什么东西。

      sourceforge.net上开源软件这么多,绝大多数都是质量非常烂的。此外,看看依然活跃的开源软件数量就知道了。

      几乎可以说,开源神化已经破灭了。

      • 家园 神话破灭恐怕还不能这么说

        Asterisk及其大量的衍生系统(比如Trixbox等等)在中小企业网络电话市场非常热火。

      • 家园 大型科学计算的软件多是运行在linux上的开源的

        也许只是你不愿意提起吧。

      • 家园 这是一种诡辩,你不赞同的是开源项目大都采用的

        多个程序员协同开发方式。开源的本身的十个定义并没有要对于开发方式有任何要求。在商业项目中,你所说的几个项目多个“主刀”造成的代码过“烂”怕也并非少见。

        要知道,早期更为激进的 Free Software 的代表项目 GNU 就是倾向于所谓的“大教堂”开发方式。一个人写项目一样可以开源,很多项目开源的目的并不是说要有很多要依靠外来的代码。他们开放源代码的目的明显不是简单的要求外界给项目贡献代码。

        因此,你的结论与论据之间不存在必然联系。

        另外,说到医疗,其实上复杂的外科手术中,时间往往长达二十甚至三十个小时,多科室配合、多个医疗小组、两人(或以上)联合主刀时有听闻。

        现代化大生产中,无论是何种领域,这种合作劳动,减少个人在团体中作用的趋势是非常明显的。

        • 家园 没错,开源并非开发模式

          我要反对的正是主贴中所乐道的"开源开发模式".

          至于开源本身,就事论事的话,我倒是很希望目前许多商业软件开源。不过我估计那只对我有好处,对开发者恐怕没什么好处。不过这涉及到商业模式的讨论,主贴中的例子也同样不恰当。目前这种商业模式也近乎破产了。轰轰烈烈的开源运动,看看mysql的下场就知道了。

          • 家园 你所说的“开源商业”模式一样是个诡辨

            MySQL 是 MySQL AB 主导的,这种模式本身在开源世界里也是有反对声音的。 MySQL 是否失败,单从项目本身来说现在下结论似乎尚早,而从商业上来说,也不能算是失败。

            真要评价开源的话,硬碰硬的就是采用开源方式发行的软件数量,参与开源项目的程序员数量,程序员为开源项目贡献的小时数。开源是否已死,现在来看缺少证据。

            在我来看,开源,包括自由软件本身程序员相互之间相互交流的必然选择。这才是开源的真正动力。

            • 家园 我觉得

              我觉得开源运动至少在java世界一直是后浪推前浪的,我赞同蟹爪兄说的“精英模式”,对楼主举的修桥的例子也不怎么认可;但是对开源运动本身我觉得还是一直在发展。

              程序员本身也未必没好处,开源世界的大牛很多一开始默默无名,写的东西用的人多了,到处有人敬仰,商业公司也乐于收下这票人物。

              另外,开源和商业创收并无矛盾,只不过开源运动下的人,大多是想找免费软件用用的程序员们,发展成熟了靠服务收钱在开源运动中更实际罢了。

              • 家园 本身来说讨论这个问题确实很复杂

                就拿开发的模式来说吧。

                像所谓“集市”开发模式,其实是一种必然,参与 Linux Kernel 开发的程序员,补丁提交者,哪一个不是精英呢?像这篇文章中提到的, Stats: Linux Kernel Development Speeds Up前三十名的程序员也仅占到代码的四分之一,对于一个每天有百来个补丁的超级项目,采用所谓的“精英”模式是灾难性的(百十个大牛谁服谁?)。采用什么模式来做项目,实际上是项目规模决定的。GNU Hurd 开发到今天的局面至少我觉得与 GNU 方面采用的开发理念有关。开源对于软件工程、包括计算机科学上贡献我觉得是要大于像微软件那样的商业公司,从一个成功的开源项目中我们可以学到很多东西,这也是为什么我对开源报有好感的原因。

                至于开源与商业的关系,开源本身就是不满意自由软件的理念而向商业妥协的产物,所以开源必然是要赚钱的

      • 家园 我的看法

        我的看法:开源确实有其好处,但是人人都修改的软件是会出问题的。

        应该是,优秀的开源软件,不断被人使用,然后不断提交bug,高手能自己分析出bug,提交上去,然后核心维护组的成员采纳意见进行修改,这个过程不断互动,让参与人互相提高。

        另外,一个优秀的开源软件设计对整个业界也有相当正面的影响。

分页树展主题 · 全看 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河