Post

对于开源的种种误读

(CSDN Jan 18, 2008)

由于微软发布了.NET Framework部分源代码,CSDN的论坛上面冒出来不少带有点”歌功颂德”味道的帖子,挂着”开源”的字眼表扬微软,十分的滑稽。这也让人不难理解为什么人家Linus说中国对开源 事业做的贡献少。国人对于开源始终还是抱着一知半解的心态,从一些简单的例子就可以反映出来。

1. 漠视开源协议

不少国内人士对于GPL的代码也是拿来即用,根本不考虑自己的使用方式是不是违反了GPL授权。当然,考虑到国内盗版风行,类似把GPL代码用于商业软件开发的情况也就算不上奇怪了。

2. 认不清哪些是真开源,哪些是根本就不是开源

由于Open Source的具体定义乃是英文,而且都是些法律方面的词汇,国内能够详查其内涵的人士不多(我也不过是稍稍比一知半解强一点罢了),所以遇到类似此次微软发布源代码的事件,很多不明就里的人便开始把开源这个词汇到处乱用。微软的MS-RL所明确的限制,远远超出了Open Source的定义,设置严重限制了获取该源代码的程序员使用该代码的范围,因此是绝对不应该被冠以”开源”这个词的。虽然微软也的确将一些小软件――例如WiX之类置于开源范畴内,它的一些核心的东西,包括Enterprise Library都是非开源的东西。因此提醒程序员小心注意。

对于开源的CLR实现,Mono是纯粹的开源项目,使用Mono的代码自然比使用微软的代码更加自由了。

3. 矛盾心理

很多软件公司的管理层都有一种矛盾心理,研发的时候喜欢看看什么开源的库可以使用,而到了考虑自己软件的销售时,又喜欢摆出类似微软的套路。实际上只有更好的理解开源,把握住合适的开源盈利模式,做开放源代码软件一样是可以赢利的。当然考虑到中国实情,要出现类似Red Hat一样的企业还是十分困难的,这种矛盾心理怕是短期内不可能消除的。

总结

对于广大程序员来说,期望各位努力提高英语水平(共勉),好好研究Open Source的各种协议,以便在开发自己项目的时候可以尽可能的借力,提高开发效率。基本上研究好了GPL,LGPL,BSD,MPL之后,相信你对于开源协议就有了一个大概的了解了,今后便可以深入研究了。另外就是不要人云亦云,面对”开源”的东西要擦亮眼睛。使用非开源的代码,一般都会引发严重的问题,所以切切小心谨慎。

开源运动一度被称为软件行业的”共产主义革命”,相信在革命教育中成长起来的中国程序员,解读起来要比欧美人更加容易才对。所以,花点时间,熟悉”开源”吧。

© Lex Li. All rights reserved. The code included is licensed under CC BY 4.0 unless otherwise noted.