乍看这个标题有点骇人听闻。其实我想说的是传统意义的美好的那种人人参与的开源也许已经不存在了。从Eclipse,甚至更早的Linux来说,都标志着厂商主导的开源已经逐步取代了个人发起和参与的那种。我将主要从Java方面的开源说起。笔者水平有限,本文并没有经过认真的构思,所以结构化编程不够,OO也不够。
先说一下最早很有印象的一个论坛:Jive论坛,Jdon.org(J道,板桥里人)等众多网站之前讨论的热点,当年被誉为学习Java的九阴真经。它一开始的确是开源的,而且越做越好,终于,机会来了,忽然一夜间主创人员宣布开办公司,开源变成了完全商业的产品,其它提供下载连接的网站或者公司都会收到律师函。这说明了第一个问题:开源软件的版权是归作者所有的,如果作者要提供收费服务,或者转而关闭源码,是不存在任何法律上的约束的(不过鄙人才疏学浅,对法律尤其是美国法律不精通,这个说法先打个问号)。
在谈谈Linux,貌似被称为开源先锋,然而,很不幸的是,目前开发的最好的版本是收费版本的(或者说企业版),一般来说由知名公司组织人员开发,推出某个特定版本(通常还是商业的),例如RedHat的产品(补注:当然RedHat的产品也有开源版本的)。它很早就在企业主导的开源以及收费方面走在了Java开源的前面。
2007年,挂起了一股并购风。Oracle收购BEA,Sun收购MySQL(其实Sun之前已经收购了好几个开源数据库了),RedHat收购JBoss(好像发生在去年之前吧,Hibernate则在此之前就并入了JBoss,Gavin King如愿以偿的名利双收),让我想起了中国的一句古话:分久必合,合久必分。现在大概是该合并的年代了吧。
有个网友的回复说的很精辟:
# re: “开源人”收费得罪了谁 2008-03-11 22:12 stanleyxu
Open source == users are free testers
Open source == easier to promote itself
Open source == do not remove my license
Open source == waiting for a good buyer
Open source != free
。为什么开源最终会收费,并逐步成立公司开发商业版本,开源只不过是收费服务的前奏呢?其实答案很简单,就一个字,钱!
为什么需要钱?假设你所在公司的老板忽然有一天说:我们开源了,开源了,产品免费用了,文档免费看了,培训免费听了,大家都是活雷锋,你们的工资也不用发了,老板我也没收入嘛!你会怎么说?绝对会说这老板疯了吧,然后赶紧走人。哪个网站运行不要钱,哪段代码写的时候不需要成本,要维持免费的开源,主创者必须要有收入来源,这也是我说的为什么国内外现在已经很少能看到没有公司或者稳定收入支撑的做的规模还比较大的开源了。开源就算一开始免费,其实作者肯定也是用自己的工资或别人的投资来运作的,一等时机成熟,必然收费。开源要盈利是必然的,唯一不同就是用什么样的手段和在什么样的时机创收,但其盈利的必然性确是不会改变的。
为什么个人开源会面临困境?那就要聊聊大家判断开源软件死活的标准,理论上,貌似开源软件大家都可以参与,即使主要开发人员走了,也能存活,实际上,这只是个理想而已。如果一个开源软件的主创人员不干了,大家基本上就会判断说 xx is dead,再也不用了。这是因为代码公开不等于看到代码的人就有能力和精力去维护,改进它。
所以这一两年的开源,逐渐都成了各大公司免费广告的工具。Adobe Flex,代码免费,工具Flex Builder收费。金蝶搞了个OperaMasks.org,还是一样,一开始根本就不支持除了自家产品之外的东西,文档库一直七零八落。JBoss 一开始买了一款IDE,后来beta的时候宣布开源,很快就商业了,而JBoss本身也提供收费版本,貌似其文档一直是收费提供的。。。Aptana,也是如此,先开源,然后推出功能更强的收费版本。Spring早就是另起一家公司Interface21(现在叫SpringSource)专门做付费的生意了,当然主创者Rod Johnson,没做Spring之前就是个提供Java EE顾问服务的主,有固定的收入来源。微软开源了AJAX.NET,但是VS2008依然高价销售。Web 2.0的众多框架,例如EXT等等,做的好点的,都是开源版本和增加了功能的商业版本一款卖的。Sun 的JDK,Netbeans都开源,不过,你会发现发邮件后解答问题的人是SUN的员工,而代码库的管理员是SUN的人。Eclipse也是类似,最近不是热议EclipseCON2008嘛,不过请看好了,各位主讲人是哪里来的?IBM员工及其商业合作伙伴。您想决定Eclipse 4.0的开发方向嘛?先捏捏你的钱包再说。那么都说是IBM开发了捐献了功能强大的Eclipse,我想这是因为读者没下载过Eclipse 1.0,比JBuilder差不知道有多远(其实到现在Eclipse的免费版依然功能上比不过JBuilder),用户的逐渐热心参与与捐献,当代码规模大到一定程度时,它就被人控制了(Eclipse不接受个人代码提交,发展路线由各大投资厂商共同决定,大家只是看热闹的而已,有点像看戏,国外厂商们在台上热火朝天,咱们这些只希望用免费软件的开源消费者们在台下云里雾里,也说不上话)。其实说个难听的,大家只是把不挣钱的部分(或者说免费基础版,Foundation Edition)开源,供大家用,然而核心的收费的产品(这个太多了,Eclipse的开发工具放眼望去做的好的貌似都是商业插件,例如MyEclipse,IBM WSAD,BEA WorkShop,还有别的插件例如SWTDesigner等等)。公司搞开源,都不傻,没人把自己真正挣钱的东西给开源了,就算开了,也不会把核心设计文档给你(我看到的,就Tomcat的架构师写了个短短的架构文章,Eclipse的,好像还没看到过,如果您看到了,请告知,反正每次Eclipse PPT做的最好最深入的,都是IBM的员工,框图画的很细致),要的就是让你欲罢不能,只好交钱(盗版的就不要说了),还能免费广告,免费收到BUG回馈和改进建议,真好。但是这是个必然,随着项目的扩大,文档的维护,翻译(这和大家想的不一样,像Eclipse,Netbeans的文档的多国语言化,包括中英美法俄日德韩藏蒙阿拉伯,都是公司内部员工限期完成的,我想还没那个程序员能厉害到精通N国语言),代码的管理,推广,服务器,各种会议,培训,都不是几个人几条枪就能负担的起的了,换句话说:没钱支撑的开源,必定dead。走向企业化和商业化,是开源的最终方向。
这两天看了看007电影中的某个大毒枭的如意算盘,他打算免费给去全国每个城市赠送一吨白面,之后。。。大家依赖于他的时候,再收费,呵呵。大家看了不要笑,确实如此。
所以,纵观现在出现的风头最劲的开源软件,背后都有厂商的控制或将称为厂商,其它厂商也纷纷加入或者准备投入开源大潮(其实是搅局的居多,就像知府摇身一变成了总督,可是换汤不换药,就算名义开源了,还是商业产品,更可恶的是某些公司只是把源码给大家看一眼,没有选任何开源协议,也不许大家私下修改和分发,也称作开源!如:Discuz!),可以粗略认为,2008年,(理想主义下的,GNU提倡的那种)开源已死。做开源的,先拉好资金,再好好开发,做好广告和推广,等大家都用的时候,就是可以收费的时候了(饭都吃不饱的时候,是没心思做科研的)。用开源的,就等着哪天掏钱买商业版本吧。天下没有永远免费的午餐。
注:本文只代表个人观点,读者可以举出自己的正面反面例子,文明参加讨论。
参考资料:
http://blog.cfan.com.cn/index.php/180942/action_viewspace_itemid_221750
Fwd: 国内号称开源的程序是真的开源吗
2007-12-16 15:14:00 / 个人分类:其他
他们真的是开源了吗?我今天不谈其他软件,只谈谈我所熟悉的几个php代码。
据我所知,开源软件应该遵守Open Source Initiative(OSI)批准的协议。而经过OSI组织通过批准的开源协议目前有58种。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。 而国内所谓的开源程序都没有标明遵守哪个开源协议。难道免费了就是开源?
难道代码不加密就是开源?BSD协议别人可以随意修改代码,可以将修改后的代码作为自己的软件再发布,可以用于商业用途。国内这些估计都不愿意用BSD协议。 国外很多程序你可以免费使用,但都不是开源的,比如我汉化的EE core。
dedecms是国内用户最多的CMS,自己搞了个协议:http://bbs.dedecms.com/read.php?tid=14893, 这些条款和discuz的差不多,不知道是谁抄谁的,最让人关注的是这句“未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网 站、以营利为目的或实现盈利的网站)”我们做网站谁不是以营利为目的?看来我们免费用dedecms和discuz都是违反人家规定的。
国内这些程序基本上每个都禁止用于商业用途,这和开源不是矛盾吗?开源最起码要让所有人免费使用,至于开源协议都是针对代码的,是限制别人修改发放代码,保护作者的权益。如果linux都不让用于商业那世界上还有什么操作系统给我们用呢?
再谈谈discuz,discuz最初是基于XMB 1.5 Silver开发的,名字叫CDB,XMB 1.5 Silver是XMB最后一个遵循BSD协议的版本,CDB代码中也写了遵循BSD许可协议,CDB是真正的开源程序,当时很多人说CDB抄袭XMB纯粹 是无稽之谈。但CDB后来名字变为discuz,discuz1.X已经去除了BSD授权说明,但据我当时观察里面含有大量的XMB 1.5 Silver代码,这已经违反了BSD协议,BSD协议最重要的一条“如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。” 2003年discuz 2.0发布了,这次在代码里面已经很难找到XMB的痕迹了,大C为duscuz 2.0申请了专利,discuz完全商业化了。可笑的是discuz4.0 宣布开源后源代码包里还一直保留这这句话“北京康盛世纪科技有限公司(Comsenz Inc.)为 Discuz! 产品的开发商,依法独立拥有 Discuz! 产品著作权(中国国家版权局著作权登记号 2003SR6623)。 ”后来的discuz NT也申请了专利,前段时间也宣布开源了,但授权文件里也有自己的专利说明。
据我所知开源和专利本来就是对立的,我不知道开源软件是否能拥有专利,请懂法律的朋友给我个解释。我研究了这么多代码,我没有看到其他开源代码去登记专利的情况。我只是经常看到微软用自己的专利和linux打官司。
cmsware也很可笑,减少了加密文件的数量,就宣称自己在“走向开源”。你要么开源,要么就不开源,把“走向开源”也拿来当作炒作的法宝?开源真的很值得自豪吗?
而上个月PHPCMS宣布开源了,下载了个看看,里面竟然连个license说明文件都没?难道没有任何约束和限制?
我并不是对上述程序有意见,不可否认,它们都是优秀的程序,它们的作者的PHP水平不次于国外那些主流程序的开发者。我只是希望这些国内的优秀程 序更规范一些,如果开源就要有开源的样子,看看国外的开源程序吧,人家是怎么做的?开源不仅仅是让别人看到源代码,也不仅仅是供别人免费使用,这不是开源 的精神,开源的真正目的是让更多的人参与进来,让软件更完美,细数国外主流开源程序,哪个没有cvs?哪个没有bug修复平台?都有完整的插件接口,让那 些自己添加功能的人不需要动源代码就可以实现自己的功能。而国内的呢?都是单枪匹马自己写,说明少,注释少,没插件接口,没开发文档,别人要加功能都要修 改主程序,给以后升级造成了很大的麻烦,而且,别人修改的代码很难让官方接受,大部分开发者都很自傲。
其实谁也不能怪,只能怪国内盗版风气太严重,我写此文已经背离了开源精神,我应该用linux写此文那才有说服力,可惜我写此文的同时在使用多种盗版软件。
Opera CEO 专访:开源真的那么重要吗?http://news.csdn.net/n/20080303/114010.html CEO指出了开源的缺陷。
另一只眼看Eclipse,所谓的开源
就在那个时候,我明白了,所谓的Open Source,只是我们这些人的一厢情愿罢了。开源开源,开源并不仅仅是src-opened,当一个开源项目的代码积累的一定程度时,开放源代码其实没有任何意义,因为没有外人会读得懂它。我想,像MyEclipse这样以Plug-in为生的企业,一定花了不少钱在请Eclipse的人来培训和支持上面。开源更重要的是dev-opened,也就是说,左右开源项目发展方向的应该是任何一个参与开源项目的人的合理的、正确的idea,而不是依赖项目的客户。IBM现在的做法是把Eclipse的源代码开发出去,借此吸引广大的程序员为其免费开发Plug-in,而一些核心的东西,永远掌握在那么几个big fellow手中,他人无法触及。这就像一出滑稽的木偶戏,我们都是IBM手中的玩偶。
当我想到这些的时候,我开始问自己,世界上有真正的开源么?在当今的社会里,没有什么是永恒,只有商业价值,当我们再一次高呼开源的时候,是否应该想想自己是不是太疯狂了?