开源软件:信息双赢和开放心态

     每本软件的著做里,都会提到“开源软件”,多数都会往哲学的层面上去解释,至关的形而上。我想,开源这回事,不就是你们把代码传到网上,给人下载学习,以后有了Linux,Apache一系列牛逼做品么?这么简单接地气的事情,为何要搞得那么形而上呢?
     开源也给我带来了很多的困惑,不少商业软件的受权费至关昂贵,而那些开源软件,水平堪比商业软件,那他们为何要开源而不去盈利呢?我总觉得那就是共产主义心态。国外的大胡子叔叔不只是马克思,还能够是程序员!
      再后来,我本身也写了一些自认为还不错的小程序,刚开始以为本身太厉害了。然而,软件总有数不清的bug和改进点、我也尝试过去推广,然而由于不完善和种种问题,老是无疾而终。它就像嫁不出去的闺女同样,养在深闺人未识。我总觉得,是个人软件作的不够好,是我水平不够高,再过几年,软件作得更完善了,总会发一笔大财的。
      几年过去了,个人水平确实提升了,软件的功能也提高了一大截,然而,状况和几年前没什么区别。对我来讲,那是从50到100,对别人来讲,好像是这个软件修改了一下界面,版本号加了一些,本质上没什么区别。
      我开始反思, 究竟是哪里出问题了。理想状态下,我成立了公司去完善/推广/销售软件,那么可能会出现转折,不然以我单人的能力,那是不可能的。那我是否是值得为这套软件成立公司呢?应该不会,由于它只是个工具,还不值得我去开一家公司去完善它。
     我相信,这也是不少程序员面临的同样的困境,想靠卖软件盈利,就像路上的煎饼摊同样简单朴素,问题是放在10年前还有可能(记不记得30元一套的金山词霸?),而如今毫不可能。我也许处处推广,但最终可能也仅仅是某天我在咖啡厅里的几句谈资,不可能有什么大气候。
     若是pandas和ipython不开源,我如今也可能没法进入数据分析的殿堂,没有Linux和众多开源工具,世界也不会发展成这个样子。我顿时明白了为何开源是一种哲学,它是一种“双赢”。对程序员来讲,名誉和成长比卖软件带来的价值更大,那是一种承认感,造福世界的成就感,和众人邀请他加入其公司的幸福感。对其余人来讲,开源带来了时间的节省,信息的交互,实际的财富。
     是啊,软件这种无形的东西,它自己就是“信息”,它若是能带来更多更好的信息,那么它的价值就实现了。诚然,开创业公司,估值超高天然是人人皆向往的。但能实现一个造福众多人的软件,那也是人生一大幸事。
     因此,我开了微信公共号和github,开始上传那些以前视若珍宝的代码,并认真地配图和编写文档。或许在万里以外,有个同样戴着眼镜充满激情的和我同样的nerd,看到个人代码开心地拍了桌子,大喊“f**king nice work!”到那个时候,其余事情还重要么?