再论开放源代码运动(open source)

类别:软件工程 点击:0 评论:0 推荐:


在CSDN里也见过比较多的讨论开源的文章和后面千篇一律的争论了. 基本上
人群分成两类: 支持者和反对者. 后者的比例远大于前者. 我的观点是比较
倾向于前者, 但我完全同意后者的物质决定意识的论点. 也就是说, 仍然在
为生计奔忙的程序员的主要任务是找到能基本满意的工作, 并且干好它. 开
源虽然听起来很美好, 但在大多数程序员的世界里, 只能是次要的. 这一点
即使在开源已经走上正轨的美国IT行业, 依然正确.

那么为什么开源在美国能发展成如此强大的一股力量以至于它已经在很多领
域压倒商业软件呢? 我相信首先这是和美国众多的教育和科研机构里的高层
次技术人才的贡献分不开的. 大家知道, 在美国的大学和科研机构中, 自由
和开放的气氛比较浓, 获得终身职位后的研究人员工作压力比较小, 工作也
相对轻松, 因此他们的主要工作目的之一是为了满足自己的兴趣. 对他们而
言, 重要的是看到自己的创意得到实现, 并为同仁所认可, 至于实现后是否
能为他们带来经济上的实惠, 反倒不重要了. 可以说这些象牙塔里的人是早
期免费软件的主力, 也仍然是现在开源逐步走向成熟后的中坚力量之一. 其
次, 因为开源的影响力不断扩大, 越来越多的以赢利为目的的公司已经看到
它的优势和潜力, 因此它们为了建立基于以服务作为主要收入来源的商业模
式或为了扩大市场份额, 而加入开源的洪流中. 这些公司的代表是IBM, SUN,
JBoss, MySQL等. 第三, 因为开源的概念深入人心, 越来越多的普通程序员
也在为开源添砖加瓦. 虽然他们可能在公司是位于金字塔的最底层, 或者还
在为车子和房子奋斗, 但是如果他们对技术和创新有强烈的兴趣, 他们就有
可能贡献自己的业余时间和精力, 让世界变得更开放. 不信大家到最大的开
源项目支持网站www.sourceforge.net去看看,有多少人在为一些永远也不会
有金钱回报的项目付出宝贵的精力和时间.

那么再来看一下我们的大学和科研机构. 确实我们的大学和科研系统没有美
国的庞大, 计算机专业也没有美国大学计算机专业的历史悠久, 但我们的大
学在计算机领域的成果与其投入相比实在是太低, 更遑论其对开源的推动和
促进 (大学里一部分本科生和研究生根据个人兴趣参与到开源项目的事实不
能反映我们的教育科研机构对开源这种开放和共享的科研模式的态度).而我
们的大部分公司和绝大部分程序员象我所说的仍然在为自己的温饱而奋斗.
很少有公司象IBM一样财大气粗或象JBoss一样能靠开源打开市场, 让他们把
自己的产品开源或者支持自己的员工全职参与开源产品开发确实是非常地不
现实. 再看我们的普通技术人员, 当他们步入小康水平后, 一般来说他们已
经脱离了编程的苦海, 不用与奋斗了多年的WIN32 API, C/C++, SQL Server
等很少给人带来乐趣的语言和工具打交道, 他们是不会再把时间浪费到 "软
件编码" 这种人所共知的电脑蓝领的工作中去的. 这就是我们的现状. 了解
这些以后, 我们就会明白开源为什么在美国能成为软件行业最美的风景而在
中国却仍受到冷嘲热讽.

是不是经过上面的分析, 我们就可以说开源还离我们很遥远, 跟我们的工作
和生活不相干呢? 其实, 我们所呼唤的不是要公司不讲策略地开放产品的源
代码, 或者是要程序员不切实际地投入开源软件的开发. 我们所追求的是开
放和共享的精神. 开放和共享是科研和技术领域不断进步的必要条件. 我们
鼓励的是索取和回报的双向交流. 如果一个技术上很牛的人仍然只想索取而
不愿共享他的知识的话, 他对其他人的价值跟一个新手是一样的. 而如果所
有人都不愿共享的话, 索取就会象无源之水, 逐渐枯竭. 那么如果不是开源
项目的开发人员, 怎样共享自己的知识呢? 以下几种方式都适合一般的技术
人员. 一, 共享自己对一种产品的看法或使用心得. 例如以比较短的教程
(tutorial)的形式张贴到相关网站或直接参与项目的文档整理工作. 二, 使
用产品的报错系统(Bug Tracking System).  这一般是在你已经在产品支持
论坛中提出过, 并能基本确认它是该产品的缺陷后进行的工作. 而使用报错
系统比简单地发贴到论坛要付出更多的精力, 共享更多的信息, 因此我把它
作为一种开放和共享的一种主要方式. 三, 积极发起和参与相关技术的讨论,
解答其他论坛用户的问题. 所以即使我们不能开源, 我们也可以更开放, 从
帮助别人中获得更多乐趣.

我们也鼓励创新. 从创新的物质条件来说, 从事软件行业的人是最幸运的.
他们不象其他绝大多数行业一样, 要把新的想法付诸实践, 需要巨大的人力
物力. 一文钱难倒英雄汉, 因为条件所限, 很多出色的创意都胎死腹中. 所
以我们是很幸运的. 有了好的想法, 我们不需要浪费大量时间和精力, 苦口
婆心地去说服一个外行. 我们年轻, 有的是时间和精力. 干起来就是了. 投
入的时间越多, 创意离现实就越近. 如果它确实有商业价值, 一个原型产品
远比纸上谈兵更能吸引客户和投资者. 而如果你没有推广它的计划, 你可以
公开它. 我相信大多数人更愿意看到自己的想法能得到别人的认可, 并在别
人的帮助下得到实现, 而不是任它尘封在自己的记忆中, 和看到别人成功时
不屑地说, 我早十年就想到这个点子了, 我要有那个时间, 肯定比他现在风
光!

以上是我的浅见, 请大家指教.

本文地址:http://com.8s8s.com/it/it37229.htm