開發人員該如何利用開源軟件謀生
譯文【51CTO快譯】謀生永遠是一切個人追求的基礎,今天我們就花點時間來討論該如何通過開發開源軟件為自己賺得日常開銷。
在開始討論之前,我先介紹一點個人背景,以確保下列建議的合理性與可靠性——我是一位開源許可的鐵桿支持者,過去六年多以來一直在積極倡導開源軟件的推廣與普及工作。話雖如此,我也絕不是什么被理想沖昏了頭腦的浪漫主義者。事實上,我對于通過開發開源及免費軟件獲取資金的實例同樣非常感興趣。
個人情況介紹完了,咱們馬上開始今天的話題。
1) 企業贊助
§ 實例:Linux內核
大部分開源項目都或多或少依賴于企業贊助才得以生存,相信這也是每位開發者以上中最理想的資金來源。然而事情不會這么簡單,靠企業贊助支持開放/免費軟件開發的方案存在以下幾個問題。
第一個問題涵蓋面很廣:大多數(幾乎所有)這類企業贊助方都是利用非開源技術來賺取大部分(甚至全部)運營利潤的。就連紅帽公司(一家推出過無數開源軟件發行版的知名企業)也得靠閉源及專有軟件才能賺錢。因此,如果大家出于悲天憫人的情懷而投身開源事業,那最好先把這個問題想清楚。這有點像那些號召大家“全面使用風力發電”的政治家——事實上傻子都知道他們之所以能上臺還得靠石油企業的政治獻金。
另一個潛在問題則源自控制。如果大家想搞一個小型軟件作坊,自己必須得把軟件的全局控制權(以及軟件作品的定位權)牢牢掌握在手中。然而在與企業贊助方合作之后,我們很可能需要面對種種意料之外的限制與阻撓,這在改變了工作方式的同時也可能把我們帶離自己的奮斗初衷。雖然這類情況稱不上普遍,但仍然值得每一位從業者加以深思。
2) 技術支持合同
§ 實例:Ubuntu
另一種常見的開源項目籌錢方案已經被無數大會、小會反復提及,這就是軟件免費但技術支持收費,現實已經證明了這一理念的正確性與超前性。
然而這套方案同樣有一定局限性。對于正處于開發過程中、專為中型乃至大型企業關鍵性業務任務打造的軟件而言,技術支持合同由于很可能涉及客戶方商業機密而一般無法實現。
有些朋友可能說了,那還有“非關鍵性任務”呢。沒錯,但大家想想,有多少企業會愿意為那些視頻游戲、即時消息客戶端甚至網頁瀏覽器支付技術支持費用?也許會有,但從宏觀上來看這塊市場實在小得可憐,很難為大家的未來發展提供充沛的資金保障。
3) 社區資助
§ 實例: Ardour | PartEd Magic | Illumination Software Creator
那我們能不能從技術社區中獲得資金支持呢?比如說……捐款?當然,這種觀念頗具吸引力,既然人們想從我們的軟件產品中受益,當然也應該為此掏點良心錢出來。然而我得說,這只是一種近乎烏托邦式的夢想。
這里我要遺憾地告訴大家,根據對這類方案的實際研究,其結果相當令人失望。
我個人也嘗試過通過這種方式在Illumination Software Creator——一款可視化軟件開發工具上搞開發。當時我心想“嘿,作為一款閉源共享軟件,這個項目的技術社區積極、熱情,用戶基礎也相當龐大,應該足夠支持我做全職開發才對。我敢打賭,只要我能把拿出優秀的開源產品,捐款肯定會源源不斷涌來。”
然而事實令人心灰意冷,捐款的數目遠不及之前其它開源項目的銷售成績。而且更重要的是,這么一點捐款甚至無法支持我以全職方式進行開發工作。而且我的情況并非特例,前面列舉的各個項目也遇到了與之類似的尷尬局面。
因此,至今從目前來看,社區資助方案還不算是一套可行模式。
4) 購買源代碼
§ 實例: Illumination Software Creator | Linux Tycoon,
在社區資助方案嘗試無果之后,我又轉而向Illumination Software Creator及Linux Tycoon免費版取經。用戶可以根據自身需求購買許可以獲得這些軟件的源代碼(基于BSD或GPL),這筆錢就成為支持開發的有力保障。
在這方面我手頭缺少足夠的數據,因此暫時無法斷言對于各類面向消費者的軟件產品,這套方案能不能帶來激動人心的廣泛成功。然而但目前為止,其前期效果非常理想,不由得令人對其前景大為看好。
5)找份工作,為企業開發免費軟件
§ 實例: Canonical | Red Hat | Novell,,
好吧,這套方案其實破壞了大家自主開發軟件的夢想。不過找家公司上班更為穩定,而且可以了解企業眼中有價值的軟件是個什么樣子。而且歸根結底,這才是實現開源最可行的途徑。而且如果公司的開發路線與大家的個人興趣能夠吻合,那這絕對會是一段令人難忘的美好奮斗經歷。
我有沒有漏掉哪些重要的籌款模式?請大家在評論中暢所欲言,當然也別忘了提醒我們哪些知名企業或者項目已經使用到了這些模式。
原文:How to earn a living making Open Source software
【編輯推薦】