Skip to content
yuchting edited this page Jun 15, 2017 · 2 revisions

为什么选择开源

开源是一种开放的态度,与其说是Open Source,还不如说是Open Mind,一种愿意把自己的思想毫不保留地拿出来与大家分享的精神,也可以说是愿意把自己思想中的不足暴露给千千万万的人,对,毫不保留地暴露。

过去的三年里,虽然我所从事的工作并非开源软件,但是我一直保留着开放的态度,愿意把自己的思想拿出来,和同事们进行交流。记得在毕业那年,我有一种“学完出师”的萌动,于是把大学所学的知识都放到了一个小游戏里面,虽然代码量有限,也不是什么具有商业价值的东西,但是这个过程中,我结识了很多朋友,他们发邮件,我都做了回复,并且尽自己所能地与朋友们分享一些经验教训,也附上游戏的源代码。

但是,程序员在一定程度上也是孤独的,相对于零星的交流,更多的是闭门造车。看文档,看code sample,上网所搜问题的解决方案,这是我这三年来一直所做的自我学习,以及工作的一部分。

我曾经在大学期间参加过一个开源组织的技术沙龙,组织者——也是那个Mail List的管理者、创始人,通过自己的人际关系,组织了那次沙龙,参加者当然也包括我这类不请自到的小白。他们在讨论技术——linux环境下面的技术,很高深,而我,是一个Windows应用程序初学者,自然插不上话,可是我看到了很多和我一样的小白,他们各自有各自的想法,蹲在角落里面,想问一个显得高深的问题,可是却看到的是鄙夷的眼光,听到的是不懈的语气。如果你曾经参加过这样的技术讨论会,可能你也会有和我相同的感觉。

那么我们为什么不主动、开放一些呢?

这就是我,作为一个技术人员由衷的想法。语盒是我一边学习Java一边做出来的小工程,这项小工程能较快地完成雏形,是与多年C++工作经验分不开的,但是又觉得,和我一样的程序员在中华大地上,数也数不清,那凭什么就说我的想法比别人牛,做法比别人独特呢?

想对企业、传媒说的话

当然,我是没有机会站在你们面前——甚至是卑微的身份——对你们说这些,我只是在这个角落,说一些自己想说,想劝说的话。

开源不是魔鬼,而是选择。

可能是竞争的残酷性,让很多人如同警惕的羚羊,发现开源,就像发现狮子一样,拼命飞奔,或者是想到了即将冲毁大坝的洪水,涂炭生灵,于是便战战兢兢地将核心竞争力放于保险箱中,画地为牢。而我的观点是,某些方面来说这是有道理的,因为专利、认证等等,都是保障发明者的利益,鼓励继续创新,同时又能保护唯一性,实现权威,但是它不并适用于 Language ,语言——程序也是一种语言,是人与计算机交流的语言,程序员与程序员交流的语言,它只有纯粹的思想,本身不存在任何的价值实体,而真正的价值,是“说”出这些语言的人,以及这些人用语言做为工具,进行的劳动和劳动获得的成果。

说白了,就是** 代码不值钱,服务才是最终体现价值的地方。**

我觉得,那些觉得自己写出的代码就是自己最终劳动成果的人,就是对这个没有搞清楚。我从事的行业,有很多人跳过很多公司,手里有很多软件的代码,整套整套的,可是他们仍然碌碌无为,生活平淡,其中有些甚至将其作为商品,到处去卖,而不是以此为基础,通过自己的再改造而获得报酬。结果可想而知,买去的人读不懂代码的构架、精髓,实现不了服务于人的过程,最终造成损失。

开IT公司,最杯具的事情莫过于拿着一堆代码,一批机器,可是人去楼空。

既然是这样,为什么又有些企业害怕自己的代码流露到别人手里呢?

关键要看** 是否对已经产生的服务造成影响** 。举个例子,谷歌公司的多款产品都实现了开源,比如Chrome、Android,其本身也收购雇佣了很多开源软件的作者,可是它为什么不对Gmail的前端代码和后端代码开放?我觉得,原因在于谷歌是Gmail的直接服务提供者,现有的Gmail代码的公开会造成谷歌服务的不安全,对谷歌的用户造成不可估量的损失。相对而言谷歌不是Chrome、Android直接服务提供者,Chrome的服务提供者是硬件及其操作系统制造者,Android服务提供者就纯粹是手机厂商,而选择开源对谷歌自身没有坏处,甚至在背后还会有不可估量的利益,为何不去开源?

另外** 软件没有完美的时候,因为服务没有尽头**。

这个也是我从事IT行业——这个所谓第三产业服务业,几年来得出的结论。写出了软件,实现了最初的需求,用户拿去用两天没有问题,付了钱,就可以说完事了么?** 远远没有完!** 用户的使用也是有一定条件的,一定环境的,只要条件一改,环境一变,软件就会出现错误,运行得出了错误的结论,世界上没有先知,更何况是水平各异的程序员组合在一起开发的程序?

bug的产生不仅仅出现在软件产生的过程中,而是要伴随软件一生的,什么时候软件停止使用了,什么时候bug也就不会存在了。剔除某些环境下程序的bug,也是一种价值的体现。

还想再说点。

记得在我第一次买笔记本电脑的时候,很不解的发现,竟然三年的售后上门服务卖的这么贵,而且还作为一个卖点来宣传,如果我的电脑自己保养得很好,不出故障,岂不是这个钱白花了?现在想起来,又觉得自己很幼稚,生产电脑的生产线和装配工,就像肯德基里面的小工一样,大多数时候,他们做着自己不知道任何原理的操作,娴熟而又不知疲倦,迅速生产出来的电脑除了原料成本、知识成本,他们的价值体现的十分低。而上门维修的外派工程师则不一样了,我曾经见过他们要和各种各样的客户打交道,分析不同机型,不同的环境,给出不同的解决方案,相对而言这个价值则要高很多很多。所以即便是电脑质量,事故率很低,笔记本生产商也不敢降低售后服务的价格和标准。

同理,我的语盒代码本身就像生产线上的设备,本身也是不值钱的,而用户自行读文档,架设服务器,维护自己的服务器,这个行为才是有价值的。而高级用户,也就是二次开发者,在不满足现有功能的基础上添加功能,这个行为也才是有价值的。

同样,我对自己的代码进行维护、对别人产生的需求进行满足,才是有价值的。

想对同行程序员所说的话

** 高傲** ,也许是程序员一个共同习惯,通常他们会有较好的逻辑思维能力,有更多探索欲望,面对单调的屏幕、闪烁的光标有更多的耐心。可是他们——哦,不对,应该是我们,仍然有很多自己所不能完成的事情。

** 放下高傲的思想,也许会获得更多。**

我曾经觉得写程序是世界上最难的事情了,这么多嵌套调用,这么多判断,这么多循环,自己都要一一的分析清楚,一一的给出答案,稍微不慎,就会死循环,就会崩溃。那如果我们写好了程序,即便是拿下一个整编团,也照样不成问题。

直到有一天,我被逼做了销售,就是那种让别人知道你这个产品,并且受到你的影响,认为你的产品适合他自己需要,最终买你这款产品的工作。

多简单的判断循环:

while 找购买者
if 好 then
买
else
劝说
endif 
endwhile

事实证明我错了,即便是我用自己的386拼了老命的做着循环,产品的注册用户也没有超过两位数,更别说付费了。

因为我又犯下了一个错误,没有Open Mind,没有接受销售的思想,仅仅是想当然。程序中的想当然,当然会让bug四处流窜,人生中的想当然,是留下更多的遗憾。

思想是相通的,区别是在于你够不够Open ,愿不愿意接受它。语盒不过是一块很小的砖头,我想抛出它,能够引回一些玉,能够引起一些程序员对自身价值看法的思索,也就很满足了。

也许更多的时候,我的代码会在Hosting上静静的呆着,因为在绝大多数的时候,** 读懂别人的代码的工作难度,远超过自己编写** ,这就像接受一种思想远比自己产生一种思想更难。

想对用户说的话

说一个听来的故事先。

这个故事的主角是IT行业祖父级企业,金山公司。多年前,在微软没有进军办公软件以来,WPS一直都是中国办公行业的领头角色,市面上到处是WPS的培训,书籍,微软的Office并不是直指WPS,因为他在中国几乎就没有怎么赚钱,用于本地化Office的资金补贴几乎都来自于微软国外的正版软件。

很自然,WPS挂了。

还是金山,多年后终于醒悟了,把旗下很多的产品都免费了,甚至开源,然后像微软一样,跑到日本,美国等地方出正版软件收费,再去补贴国内免费用户,外加上自己早年来做游戏的经验,现在应该活得不错。

故事完了。我也说完了。

总结

我写的这些东西除了心里话,一些依据都是凭记忆,没有完完全全的去考证,所以难免会有错误,请大家拍砖。如果你看到这些文字有点晕,半天没看懂(毕竟我不是吃写手这碗饭的人),那么一句话总结下来我为什么开源:

** 因为产品开源、免费更能获得用户的青睐,更能赚钱。**