系 为暗想:5 如何看待陈皓在微博上对闭源和开源软件的评论?

zuhu

这个发布在7月25日 16:33 的 weibo 引发了小范围振荡…

左耳 亲自进一步进行了解答,

特此私信授权转发全文: 如何看待陈皓在微博上对闭源和开源软件的评论? - 知乎

好吧,我来我答我制造的话题.

首先,我先表达一下开源软件的伟大,并向开源的人们致于我最真诚的敬意. 但,即使这样,我们也要很客观的承认大多数开源软件是存在大量问题的. 就像我这个人主观上并不喜欢微软和IBM,但是我必需要承认,没有微软和IBM,计算机这个行业不会有今天这样的爆炸. (插曲:我94年上大学选的专业是计算机科学,当时很多人都觉得计算机专业是一个ZB的专业,因为几乎没有哪个企业在用电脑,但我幸运的是95年的时候微软出了Win95,Sun出了Java,然后互联网极度膨胀,才导致我选的专业最终变得很火)不可否认,IBM和微软里有相当NB让人五体投地的人.

至于我说的这两句话,我知道是有争议的, 尤其是我用了"抄",在此请原谅我用词不当,像从事开源的朋友道歉. 这个"抄"其实是"模仿"的意思.

要是没有开源,我们中国人的软件公司能做出云平台吗?能做出手机吗?能大数据吗?真心感谢开源!

简单地说一下开源的历史

简单的回顾一下历史,而开源源自Unix最初的发展史,然后,就被商业化了,于是N多的Unix变种就出来了,那些Unix老牌黑客们一下就被成了像罗宾汉一样的成了丛林草莽,以至于Microsoft用次等的技术占领了市场,而RMS也开始了他的GNU项目,但是GNU并没有获得那些Unix老牌黑客的青睐,因为他们觉得RMS就像当年马克思满世界鼓吹共产主义一样鼓吹他人的GNU,最终Linus出来把这些Unix老牌黑客召集了起来,让Unix的开源精神重生. 这段历史起源于Ken/Dennis,再次向他们致敬!详细的历史大家可以看看我7年前写的:Unix传奇(上篇),Unix传奇(下篇)

我个人以为开源软件自Unix以来,最杀手级的组合是LAMP,今天,Apache 基金会,Linux基金会… 让开源的力量越来越大,很多商业公司都参与开源,比如IBM,Yahoo,SUN,Intel,Google… ,

但是,我们可以看出,商业公司支持开源有一个很主要的原因是为了阻击竞争对手,理由很简单—用众包这种不花钱不花人的模式来牵制竞争对手实在是一个 "低投入,大收益" 的事.

比如IBM支持Linux和Java,目的主要是阻击微软. Google的Android和Chrome目的也是苹果和微软. 而对于这些商公司的很多核心技术是不会开放的,包括Google,连Google Reader都宁可自废都不愿意捐给开源社区维护,更别说Google的那三篇论文的东西了,以及Google的搜索引擎的技术.

这里,我是想说,如果开源是像Unix那样,有几个在那些顶尖的牛人以最纯粹的目的来搞开源的话,才可能还能搞得非常地好.

关于我观点中的逻辑

我观点中的逻辑其实很简单:

了解这些因果关系后,我相信你大约知道为什么闭源的东西要牛一些.

关于各种软件的对比

很多人对我的这个观点例了一些例子,但这些例子面太窄了,他们企图以点代面. 我在这里帮大家补充一些吧,这样会更客观一些(眼界不妨放大一些):

注意:千万不要用”用户量”来定义”技术含量”,如果你觉得: "有技术含量"==="有绝对的用户量",那么,你就会得出”QQ空间甚至hao123可能是这世上最有技术含量的软件或网站”这样荒谬的结论.

我还可以一直把例子举下去,因为还有很多地方的软件很少人见过的软件,比如,NASA的,CERN的,DreamWorks,等等.

希望你的视野比我更宽一点,别只看自己编程用的那些东西,多看看这个世界高精尖的地方.

其它

我有这样的观点主要是因为我的成长史主要是在商业公司,我能看得到这些商业公司中有很多比开源软件很NB的东西. 我为什么喜欢进这些顶尖的商业公司,因为只有进到这些公司我才能看有权限看到这些令人惊叹的软件是怎么做出来的.

这也是我没有花精力贡献开源的原因.

这和我不写书的原因是一样的. 我不写书的原因是因为我看过Effective C++,TCP/IP详解,Unix编程艺术,等等这类经典的书,我觉得我根本就没有资格写书,如果我有他们的两三成的功力,我都会考虑出书,但是我真的不行. (另一方面再看看书店里那些95%以上的垃圾的书,真是令人恶心)

同理,我没有做开源的原因也是一样,因为我看过很多商业公司里的那些令人惊叹的东西,我觉得我还没有资格去干个开源软件,最多跟随几个我力能及而且觉得还不错的开源软件. 不过,我更愿意把我的时间和精力花在向这些商业公司学习之上,以获得更有技术含量的知识.

更新:

以前也做过些开源,比如:我在读过TCP/IP的书后就去写了一个类似Wireshark的东西,也开过源,但后来出现了Wireshark,觉得自己写完全写过不Wireshark,差距太大. 之后又出来了两次这样的事. 所以,后来,我就不转向更多的学习了,而不仓促地去做开源了. 原因就是—

因为我觉得开源不是为了开源而开源,
也不是为了装逼而开源,
更不是为了吸社会的血把项目分包给社会,
开源就是为了给社会做贡献,
我对给社会做真正的贡献的能力还达不到. 

人生苦短,我又没有那个聪明的DNA,这世界上的垃圾已经有很多了,我就不必再为垃圾添砖加瓦了. 我还是把精力放在多看和多学上吧. 因为我连一个C++ STL或JDK中的一个容器类都没有信心能写好.

当然,我并不是说干开源的人不行. 只不过,我没有信心贡献罢了. 说得好听点,我标准比较高,说得难听点,我能力差. 你对我的这两种理解都对. 我的技术的确水,我在我的博客上的个人简介也说了我不是牛人.

谢谢大家看我的这个冗长的答案.

是也乎

得承认,在细化了他的思考过程后,要承认逻辑上是正当的:

  1. 要NB 就得投入
  2. 投入还得长期投入
  3. 长期投入后就积累成了巨大的投入
  4. 一但,成功后,没有人愿意开源

所以, 开源的东西一般没有闭源的NB.

不过,这一逻辑链,隐含了两个价值观假设:

  1. 长期/大规模的投入才能成功,所以,没有人愿意无利益目标的长期/大规模投入
  2. 不开源,因为掌握了最先进的技术核心

其实这两个正是我们反感闭源产品的根本态度:

  1. NGU 以后以及之前,长期无利益述求的投入,在人类社会一直有,不能成为不开源的借口
  2. 这个现象的另外一面是,虽然完成了NB 的服务,但是,内部代码混乱到崩溃边缘根本无法开源

Google 公开论文的时机,都是通过工程实践,证明了论文的内容已经过时, 内部开始又一阶段性成功的升级时. 所以,闭源的成功,多是工程领域,技术方面,能这么简易的被开源社区仿制出来的东西, 俺目测,技术含量也高不到哪儿去.

当然,从辩证唯物论来看, 开源/闭源 实在是一对互为因果的因素,谁也离不了谁.

2014-07-28   ItChaos   

阅读更多


最新文章

友情链接