由一场有关开源的争论所得到的收获

原创 2004年07月21日 09:30:00

昨天在CSDN看到了一篇讨论开源的文章,引来跟贴无数,甚是激烈。向来口水战总被指为意义甚微,不过还是会有许多人耐不住寂寞,当然这其中也不乏金玉,但轻率的争辩总是多过理性的交流,因此在这样的氛围里智者也很容易因为言词过激而自乱阵脚。

仔细看了文章以及部分评论,只是我没有参与其中,那是因为我对开源的本质、背景、历史以及相关知识知之甚少,自认为不足以妄加评论。不过这并不妨碍我求知的念头,也不妨碍我试图从中汲取自认为有价值、长见识的内容。为此,我在网上与几位友人交换了意见,随后又找来了往期的《程序员》查看了几篇有关开源的文章和报道,自觉长进不少,忍不住想记诸文字。(在这里对银狐999、Jagie,!Kent表示感谢,与他们的交流让我逐步理清了思路)

针对一个问题的讨论很容易因为引申过多而偏离主题,因此,我宁愿将议题缩小在一个能够接受的可控范围内。

首先,肯定一个观点:开源作为一种现象,其存在自是有其道理的。想必多数人不会对此有异议。

其次,关于开源的动因,及其延伸议题,比如:意义,作用等等。

引述银狐的一席话:“国内的软件发展,开源可以成为很多人交流思想的一种方式。重要的不是代码开发,而是在开源开发组织中,能够有一些人的交流、讨论。这方面,我们欠缺。我们只能够在固定的公司内部讨论一些技术话题,那是远远不够的。交流的方式有很多种,论坛、文档、书籍……但是,能够扎扎实实的一点点让人投入的,也只有开源的讨论、构造、开发了。”

相信这是银狐的切身体会,我也深表赞同。这让我联想到:为了某些共同的“需求”,一群志同道合者在一起讨论交流、协作开发,并把结果在彼此间共享。每个人在付出的同时,也得到了来自整体的超过个人数倍的回馈,从而求得“小我”与“大我”的共同发展。这该是一种共赢。

再次,关于开源所引发的一些问题、争论、疑义等等。

开源得以存在的前提之一是需要有一群能够就某些观点达成共识的人,否则就如地球人与火星人的对话(有如这场争论)。一切应该建立在自由公平的原则和基础之上。引述Jagie的一番肺腑之言:“我现在利用很多开源的东西:tomcat,hibernate,cvs,jfreechart,log4j……等等,我非常尊重这些软件的作者,是他们,免去了我很多重复性的劳动。如有可能,我希望加入到他们的行列中去。我就是开源运动的坚定拥护者。我愿意自己的代码为大家所用。”

此处引来第一个问题:如果有人打破了这一平衡那又怎样呢?正如我们所见到的,存在利用开源来谋取利益和假借开源为名谋取利益的现象。也许一个GPL并不够用,而某些牟利行为到是可以经由类似LGPL、BSD这样的许可而变得名正言顺和无可厚非。另外,对于诸如基础架构性的开源软件而言,所谓的肆意剽窃,意义又有多大呢?或者能力所限者又能剽到多少呢?想必可以囫囵吞枣般抄袭过来的,多半不会是什么复杂的东西,除非只是简单的拿来主义,用用罢了。取诸开源者,能否还诸开源,也许真的只是自觉行为而已,而这种行为无关于开源大局。

如果说动因部分有关开源的论述,更多的是从非商业角度来考虑的话,那么另一个引出的问题则与利益和现实有关。Jagie用“高尚”一词来形容开源实践者们,我总觉不妥。正如很多人所怀疑的,理想主义者如何面对温饱问题呢。不得不承认,国外的开源运动远比国内成熟,就连毗邻印度在自由软件方面也已跟上了国际水准。因为,这些开源社区的成员多半有着固定职业和稳定收入,这使他们得以有暇顾及开源事业。而另一方面,某些商业公司也会鼓励员工支持开源,这当然有赖于商业利益驱使。另外,依靠自由软件赚得物质回报者也大有人在,比如JBoss的“免费软件+品牌服务”商业模式,还有一些其他的商业模式,这都和“高尚”无关。相信这也会让怀疑者们感觉到开源的现实价值,那些开源的倡导者们也不过凡人尔。还是Jagie的话:“开源作者靠做开源软件也不至于饿死,人家可以做培训,做咨询。”关于开源如何盈利,这是又一个艰涩的议题,此处不打算继续讨论,以免跑题。

不过另一个我现在依然不得其解的问题是有关开源团体如何协作开发的问题(请原谅,我还是跑题了)。像JBoss那样有数十人专业团队者自不待言,而至于Apache那样的数万人开发规模(甚或Linux),他的协作方式,至少Brian的解释(《程序员》2003年第5期)并没有解除我的疑惑。因为,正如Brooks在《人月神话》里所提到的,人越多并不代表越容易完成既定任务,沟通的成本,最主要的是某些任务具有不可分割的特性,又岂能轻松“摊派”给多人呢。

真是奇怪,最近总能看到有关开源问题的文章,这是巧合吗。最后,就以gigix最近在他的blog上所写的一段文字来结束本文:

“每个人都需要别人帮助,每个人也都有帮助别人的需要。”获得别人的帮助,是为了世俗的利益;帮助别人,是为了心灵的满足——用马斯洛的话来说,是温饱与自我实现,人类的两种不可或缺的诉求。仅仅追求心灵的满足,会因为付不起房租而痛苦;仅仅追求世俗利益,也会在面对星空时感觉一丝落寞。帮助与被帮助的张力,是Eclipse——乃至整个Open Source——社群存在的理由。

一场争论引发的思考

首先说一些软件工程方面的理论和指导性的原则,和从我个人职业生涯对软件工程和设计模式的一些实践性的理解.虽然有些是理论性的东西,但是具有指导意义.   一: 架构的定义 IEEE标准将架构定义为”...
  • yjz1409276
  • yjz1409276
  • 2014年04月12日 04:36
  • 699

完成第一个项目所得到的收获

1.tabbar控件,隐藏了系统所提供的默认的tabbar,自定义一个由imageview和button组合的tabbar,创建了点击翻页方法并添加了一个方块跟随移动的动画效果。2.scrollvie...
  • asus10tu
  • asus10tu
  • 2015年10月19日 09:42
  • 434

总结我作为程序员2年6个月的经历和收获

2013年8月,本科毕业后进入北京一国企部门做java开发。 毕业时的技术能力是:能够独立使用jsp,servlet开发简单web项目,能够自己在程序中写sql并使用jdbc连接mysql(无连接池)...
  • cnsddsnc
  • cnsddsnc
  • 2016年01月17日 10:43
  • 451

谈谈目前工作的收获和不足

去年9月顺利找到一份工作,做MDS产品的服务器部分开发和维护工作。到目前为止也只是在现有产品上实现功能(公司产品已经成熟,也只能在现有产品完善和新加功能)。没有真正的大项目去做。总觉得还缺点什么?到现...
  • jsh13417
  • jsh13417
  • 2013年03月09日 17:12
  • 4508

《收获,不止Oracle》读书笔记(一):索引优化

最近在补数据库盲点之一:索引的优化,这里做下记录。我看的是《收获,不止Oracel》这本书,说实话,是因为豆瓣读书上评分很高,才选了这本,但是,好像不太适合我的感觉,行文风格有点啰嗦了,看来还是直接切...
  • xionghuixionghui
  • xionghuixionghui
  • 2017年04月18日 22:53
  • 1008

收获与反思——我的2016

收获与反思——我的2016 在懵懂与忐忑之中,步入职场之路,算上实习的岁月,已即将两年,说不完的风景,聊不完的苦涩,道不尽的收获。春去秋来,风雨同行,点滴记录程序员的成长,我的成长。 在经历一番系...
  • sun1021873926
  • sun1021873926
  • 2016年12月23日 15:50
  • 2127

刚毕业第一次做软件开发的辛酸与收获

2014年8月下旬,被面试到
  • u014330846
  • u014330846
  • 2014年10月30日 16:29
  • 1149

java自我学习第一阶段的收获和感受

1、首先对于编程的学习第一步都是基本语法的学习,语法学习的特点有: * 所有编程语言的语法定义都大体相似,大概的是编程发展的延续,没有人语言设计人员会标新立异,只有站在别人的肩上不断完善才是最高效的做...
  • qq_32736689
  • qq_32736689
  • 2015年11月11日 19:19
  • 970

项目开发 中 的小收获

Lock wait timeout exceeded; try restarting transaction atorg.hibernate.dialect.MySQLDialect$1.co...
  • u014282557
  • u014282557
  • 2017年04月03日 18:58
  • 269

你好,2017----积累收获和展望

嗯,算是正式的第一次写总结,之所以以前不写,想一想,大概是因为工作年限不足、技能水平太低,导致写出来的东西没有深度,也没有什么意义。那么一路走来,到此时此刻,厚着脸皮,姑且把自己称为一个合格优秀的测试...
  • Cloud_Huan
  • Cloud_Huan
  • 2016年12月31日 22:09
  • 505
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:由一场有关开源的争论所得到的收获
举报原因:
原因补充:

(最多只允许输入30个字)