每本軟件的著做裏,都會提到「開源軟件」,多數都會往哲學的層面上去解釋,至關的形而上。我想,開源這回事,不就是你們把代碼傳到網上,給人下載學習,以後有了Linux,Apache一系列牛逼做品麼?這麼簡單接地氣的事情,爲何要搞得那麼形而上呢?
開源也給我帶來了很多的困惑,不少商業軟件的受權費至關昂貴,而那些開源軟件,水平堪比商業軟件,那他們爲何要開源而不去盈利呢?我總覺得那就是共產主義心態。國外的大鬍子叔叔不只是馬克思,還能夠是程序員!
再後來,我本身也寫了一些自認爲還不錯的小程序,剛開始以爲本身太厲害了。然而,軟件總有數不清的bug和改進點、我也嘗試過去推廣,然而由於不完善和種種問題,老是無疾而終。它就像嫁不出去的閨女同樣,養在深閨人未識。我總覺得,是個人軟件作的不夠好,是我水平不夠高,再過幾年,軟件作得更完善了,總會發一筆大財的。
幾年過去了,個人水平確實提升了,軟件的功能也提高了一大截,然而,狀況和幾年前沒什麼區別。對我來講,那是從50到100,對別人來講,好像是這個軟件修改了一下界面,版本號加了一些,本質上沒什麼區別。
我開始反思, 究竟是哪裏出問題了。理想狀態下,我成立了公司去完善/推廣/銷售軟件,那麼可能會出現轉折,不然以我單人的能力,那是不可能的。那我是否是值得爲這套軟件成立公司呢?應該不會,由於它只是個工具,還不值得我去開一家公司去完善它。
我相信,這也是不少程序員面臨的同樣的困境,想靠賣軟件盈利,就像路上的煎餅攤同樣簡單樸素,問題是放在10年前還有可能(記不記得30元一套的金山詞霸?),而如今毫不可能。我也許處處推廣,但最終可能也僅僅是某天我在咖啡廳裏的幾句談資,不可能有什麼大氣候。
若是pandas和ipython不開源,我如今也可能沒法進入數據分析的殿堂,沒有Linux和衆多開源工具,世界也不會發展成這個樣子。我頓時明白了爲何開源是一種哲學,它是一種「雙贏」。對程序員來講,名譽和成長比賣軟件帶來的價值更大,那是一種承認感,造福世界的成就感,和衆人邀請他加入其公司的幸福感。對其餘人來講,開源帶來了時間的節省,信息的交互,實際的財富。
是啊,軟件這種無形的東西,它自己就是「信息」,它若是能帶來更多更好的信息,那麼它的價值就實現了。誠然,開創業公司,估值超高天然是人人皆嚮往的。但能實現一個造福衆多人的軟件,那也是人生一大幸事。
因此,我開了微信公共號和github,開始上傳那些以前視若珍寶的代碼,並認真地配圖和編寫文檔。或許在萬里以外,有個同樣戴着眼鏡充滿激情的和我同樣的nerd,看到個人代碼開心地拍了桌子,大喊「f**king nice work!」到那個時候,其餘事情還重要麼?