大家用自由軟體, 我的麵包在那裡?

(刊載於 1999 年 8 月號 Linuxer 雜誌)
(2004 年 4 月更新)

這篇文章有點舊; 有一些新的心得請見 自由軟體與企業 演講摘要


「大家用自由軟體, 我的麵包在那裡?」 好多資訊從業人員或資訊相關科系的同學這樣問我。

真剛好, 我也是資訊從業人員, 也很關心這個問題。 試想: 如果軟體都不用錢, 導致所有軟體從業人員失業, 資訊相關科系畢業生當然會找不到工作。 全國資訊科系於是招生不足, 朝陽資管需要裁員 -- 那麼應該從誰先裁起呢? :-) 而我竟然還敢在這裡大肆宣揚 Linux 與自由軟體的好處!

首先, 從社會整體福祉的觀點來看, 如果一項變革可以帶來社會的進步, 即使有少部分人的利益將受到影響, 我們還是應該去迎接它。 工業革命造成當時勞工的恐慌。 事後回顧, 或許我們會覺得: 對於這一小群利益受損者, 當時整個社會應該可以安排更妥善的出路, 用更好的措施來緩和轉變的衝擊。 但我相信沒有人會因此而否定工業革命, 因為對社會整體而言, 它帶來了進步。 (當然也帶來了環境問題; 但那是另外一個議題, 與當時看到的社會/勞工利益衝突無關。)

其次, 讓我們摒除個人情緒, 立場, 好惡, 道德觀, 價值判斷, 讓我們純粹就客觀的現象冷靜地來分析, 自由軟體逐漸取代大部分的版權私有軟體, 是 必然的趨勢。 沒有 「是否會發生」 的問題, 只有 「何時發生? 那個國家或人口結構裡面的那一群人先發生?」 的問題。 如果因為個人利益可能受損, 而拒絕迎接自由軟體浪潮, 那就像是颱風要來了卻只顧著抗爭, 不積極準備應變一樣, 用鴕鳥心態面對問題, 無濟於事。 與其拒絕接受現實, 不如 調整心態, 思考對策

所以我邀請大家從自私的觀點來看這個問題, 避開它所帶來的衝擊, 掌握它所帶來的新契機。 (包含我們這些在學校教電腦的人, 也可能是 "利益受損者" 的一份子, 當然要自私!) 也許我們會發覺到: 自由軟體不會讓資訊業消失, 而會讓資訊業轉型。

類比過去, 想像未來

回到工業革命的比喻。 它並未讓勞動行業消失, 而是讓勞動性質改變。 工業革命釋放出大量的勞動力, 自然會投入過去沒有人敢妄想的奢侈工作 -- 例如在高爾夫球場上協助球手; 或是讓部分的勞動需求從「工作」轉變為「休閑」, 進而創造出新的市場 -- 例如運動器材業與水上運動業。

再想想臺北的公車系統如何因捷運的完工而需要調整。 過去的黃金路線公車載客率非常高, 尖峰時間甚至班班客滿。 捷運建在那裡呢? 當然是建在這樣的黃金路線上面。 捷運通車後, 這些路線的生意, 在市內路段多半變得相對冷清; 反而是離開市區, 與捷運分道揚鑣之後,乘客才多起來。 還有與黃金路線垂直的路線, 以及捷運末端市區外緣的市郊路線, 過去坐車的人相對較少; 現在反而成了最佳的接駁路線。

兩個例子都告訴我們: 思維要改變, 對自己與對社會都好。 下面要講的兩種抽象觀點, 請讀者拿上面兩個實例來想, 會更具體, 更有感覺。

    closed-minded thinking:

    consumer pop. = old tech. + new tech.
     ________________________
    [      old     /   new   ]
    [______________\_________]

    consumer pop. is constant.
    new tech grows ==> old tech suffers

首先, 這是一個想不開的觀點:
消費者人數 = 舊技術佔有市場 + 新技術佔有市場
如果我們將消費者人數視為固定的, 市場競爭就成為一個你爭我奪的零和遊戲。 這個觀點將成長中的新技術視為對手, 認為它將擠壓舊市場主力部隊的生存空間。 這樣的想法促使舊市場主力部隊戀棧/死守即將被取代的市場, 抗拒改變, 甚至可能做出一些與消費者利益衝突的事情。

     _
    /o\      open-minded thinking:
    |l|
    |d|      
    |_|
    /n\      consumer sat. = new tech. + old tech.
    |e|      old tech is constant.
    |w|      new tech grows ==> consumer sat. grows
    ---     

再看看另一個觀點:
消費者滿意度 = 新技術提供服務 + 舊技術提供服務
我們也可以將舊技術提供者的人力視為固定的 (人人都要保住原有飯碗), 並且將提高消費者的滿意/享受視為努力的目標。 在這個觀點下, 成長中的新技術, 將成為墊腳石, 成為巨人的肩膀。 它成長得越高, 我們舊技術提供者的立足點就越高, 也就越能夠提升消費者的享受層級。 (圖中雖然只畫出縱向的消費者滿意度, 但事實上橫向的市場大小面一樣有因合作而成長的效果。) 這樣的想法創造三贏的局面; 付出的代價則是: 舊技術提供者必須懂得在消費生態系當中, 順勢向上遷移自己的位置, 改變工作形態或利潤來源, 或者在新技術無法照顧到的領域開闢新的消費市場。 「弱勢」, 「偏遠」, 「休閒/娛樂」, 「精緻」, ... 等等從 小眾化/差異化/特色化 等角度, 在新技術涵蓋面的盡頭, 接續向前, 看來是最值得思考的方向。 當然, 應該盡量將新技術所提供的優勢包裝進產品裡面。

換個方式說, 如果舊技術的持有者能夠 不把新舊技術視為資產來保護或競爭, 而把它視為成本來力求壓低, 眼界就會壑然開朗, 會看到新技術的可愛面與它所提供的新機會。 什麼的成本呢? 當然是 「提供客戶更滿意服務」 的成本。 思考方向要與客戶站在同一陣線, 不要與客戶對立。

順便一提, 把提升消費者滿意/享受視為努力的目標, 而不要把消費者視為魚肉來爭奪, 不也更符合資本主義以經濟誘因鼓勵利他行為的原始精神嗎? 政治面其實也有類似的變革與機會, 希望朝野政黨能夠從自由軟體運動獲得一點啟發, 不要再玩零和遊戲...。

未來資訊人力市場可能的改變

[自由軟體時代的資訊人力結構]

未來數十年間, 資訊人力市場可能逐漸變化, 由左圖走向右圖。 ...

可能的方向

以 「軟體授權件數」 計酬, 原本是利潤最高的資訊產業, 現在面臨自由軟體的興起, 這種獲利方式所受到的衝擊卻也最大:

  1. 諸如 Microsoft 與 Oracle 等已獨佔某類通用軟體市場的公司, 如果不降低這方面獲利來源的比重, 將因產品被迫降價而受到最大的衝擊。
  2. 通用軟體市場的其他競爭者, 一方面沒有市場龍頭決定售價的主導權, 一方面又要面臨自由軟體的競爭, 將腹背受敵。
  3. 承接政府或民間單位軟體開發案的公司, 如果主要利潤來源是 「以軟體授權件數計酬」, 也會受到極大的挑戰 -- 現在越來越多機關與民間單位懂得要求軟體版權歸屬出資方。

有一些營利方式, 本來就不是以出售軟體授權為主, 因此並不會受到自由軟體興起的衝擊。 當然所使用的工具, 或商品的內容, 可能要用自由軟體來替換, 但更換工具/內容在多變的資訊產業裡, 本來就是很平常的事:

  1. 網頁/網站製作: 以前用 Frontpage, ... 以後改用 Mozilla Composer, Nvu, ... 不僅比較節省成本, 製作出來的網頁也比較符合 w3c 等國際規範, 比較沒有障礙。
  2. 網路管理: 以前用 Windows Server, IIS, Exchange, ... 以後改用 Linux 或 FreeBSD, Apache, Postfix, ...。
  3. 資料庫管理: 以前用 MS sql Server 以後改用 MySQL 或 PostgreSQL。
  4. 軟體教學: 以前教 MS Office, Frontpage, Photoshop, ... 以後改教 OpenOffice.org, Nvu, Gimp, ...。
  5. 服務於非資訊公司的資訊人: 負責公司內系統的規劃, 整合, 管理; 軟體的選擇, 安裝, 設定, 微調, 升級, ...。
  6. 資訊顧問公司: 提供技術諮詢/疑難排除/上述服務, 給沒有資訊人員或資訊人力不足的非資訊產業。
  7. 電腦雜誌: 調整內容而已。 又因為可以合法附贈軟體光碟, 更能貼近讀者。
  8. 承接政府或民間單位軟體開發案的公司, 如果主要利潤來源是 「以專案工作量計酬」 (而非前述的 「以軟體授權件數計酬」 ) 所受影響不大。 如果出資方最後決定以自由軟體方式釋放出來, 甚至有一點幫忙創作方廣告的效果。

另外, 工具類的電腦書籍的出版社與作者, 本應落在這個範疇, 就像電腦雜誌, 只是調整內容而已。 但考量更大層面的資訊共享現象, 可能也會多少受到一些衝擊 -- 不只軟體有自由化的現象, 書籍文件也有少數人創作眾人共享的趨勢。 當然紙本的書籍與電子檔案在閱讀便利性上面畢竟不同, 所以工具類電腦書受到的衝擊可能不像純粹靠版稅收入的軟體界那麼大。

有一些行業, 原本與資訊產業沒有直接關係, 但若瞭解/善用自由軟體, 可以多一些業務, 多一些賣點, 或降低一點成本:

  1. 影印店如果提供複製合法光碟的服務, 不是很恰當嗎?
  2. 在既有商品諸如: 購物袋/背包/文具/手機/襯衫/汽車遮陽板/... 上面印製不需要付版稅的 可愛企鵝圖案與 Linux 標語 或其他自由軟體吉祥物。
  3. 數學補習教學, 與物理補習教學, 何不用 gnuplot, 與 drgeo 等等提高學生興趣? 而且可以合法鼓勵學生拷貝回家練習!

有一些資訊相關行業, 加用或改用或自由軟體, 也會增加競爭優勢:

  1. 網咖, 如果擺幾部 Linux 電腦展示, 不是很有特色嗎? 可以是雙重開機或純粹 knoppix 開機, 有必要時還是可以重開機回 Windows, 完全沒有負面影響, 只有增加特色的效果。
  2. 出售電腦時, 何不直接預先安裝 OpenOffice.org 與 Mozilla, 賣給消費者一開機就可以用的電腦? 完全不增加自己的成本, 又可以真正讓客戶覺得 「真感心」, 不必自己去下載安裝, 何樂而不為?
  3. 嵌入式系統與資訊家電業 -- 使用自由軟體, 除了不必授權費之外, 也能令公司免於受制於單一軟體廠商, 保有自己研發修改的空間。 等 linux live 與相關技術成熟, 還可以根據客戶的使用習慣, 為客戶量身打造製作隨處可用的免安裝光碟。

還有一些全新的行業, 因為自由軟體而生:

  1. 軟體保險業
  2. 專為資優國中生開設的 命令列才藝班
  3. ...?

筆者欠缺商業頭腦, 能夠想像的有限。 Eric Raymond 的 The Magic Cauldron 一文對自由軟體的經濟模式有更具體的說明。

你為什麼要寫程式?

無論如何, 自由軟體興起之後, 程式設計師恐怕將不再是一個高收入的行業。 如果你深深覺得自由軟體對於辛苦寫程式賺錢的人很不公平, 那麼很可能非常需要重新檢視自己當初選擇投入程式寫作的真正理由。 你為什麼要寫程式呢?

  1. 有一點宗教家的理想, 希望拔一亳而利天下。 ("計利當計天下利")
  2. 有一點藝術家的狂熱, 認為創作本身就是一種樂趣; 報酬只是附加價值。
  3. 自身的問題沒有現成的程式可以解決, 只好自己動手。 (不過請見 「如何避免寫程式」 .)
  4. 有一點名留青史的慾望。 ("求名當求萬世名") 貢獻愈大, 社會對你的肯定愈大。 當然這同時也間接地帶來一點小小的經濟利益。 試想: 如果你所做的貢獻被收錄到市面上出售的每片 Linux CD 上, 或國內外每個 Linux ftp 站上, 不就是最佳的履歷表嗎? 不過, 貢獻的品質要有一定的水準; 如果只為了出名而不計品質, 那麼作品終將會被取代的。

如果出發點是上述各項之一, 其實就不需要太計較金錢的收入。 未來還是需要程式設計人才, 寫程式還是可以賺錢, 但多半與其他資訊工作的性質一樣, 賺的是辛苦錢。 如果是為了像 Bill Gates 一樣賺大錢, 才投入程式寫作的行列, 本身既不特別享受程式設計的趣味, 也不滿足於諸如程式設計教學之類相對輕鬆工作的收入, 那恐怕就應該認真考慮轉換跑道了。 有很多其他行業遠比程式設計更能提供高薪, 何苦屈就於此? 畢竟資訊產業的範圍, 遠遠大於程式設計一途呀! 並不特別享受寫程式的資訊人, 如果能跳脫程式設計的框框, 不僅可以降低自由軟體運動帶來的衝擊, 甚至更有發揮專長的機會。

調整心態, 重新出發

有人說 "... Linus Torvalds 把原本可以賺大錢的作業系統核心釋放出來 ..." 這仍是用舊思維在觀察新現象。 試想: Linus 如果不把他的作品釋放出來, 這個作業系統流行得起來嗎? 不要說賺錢, 他連出名的機會都沒了! (當然出名也不見得全然是件好事啦...) 釋放也好, 不釋放也罷, 總之 Bill Gates 靠程式設計賺大錢的年代已經過去了, 不要說你我沒有這個福份, 就連知名如 Linus 者也沒有。 那個舞臺, 不屬於我們這個年代。 這不是是非道德的問題, 而是時代潮流的問題。 與其戀棧/緬懷過去這些分紅分股票程式設計師的優勢地位, 或是抱怨自己已經很微薄的軟體設計專案收入, 還要受到自由軟體運動的擠壓, 不如調整心態, 展望未來。

不吝分享, 是迎接自由軟體運動的最基本心態調整。 還記得小時候班上數學最厲害, 但成績不見得最好的同學嗎? 其他人寫不出來的作業, 他樂於分享他的解答 (當然也順便博取同學的讚嘆), 即使同學因此而比他有更好的成績, 也不介意。 持有這樣的心態, 未必能賺大錢; 但至少這正是最能夠平順無痛接受自由軟體運動的價值觀。 習於分享自己的知識, 不僅有提升無形身價的效果, 甚至可能有助於提高洞察力, 預測市場未來的走向。 把自己的筆記/程式/藝術作品/創作範例檔放到網路上, 讓大家自由下載, 是最明顯可做的具體第一步。 「以工作量計酬」 的專案完成後, 客戶將我的程式拷貝給他人, 不正是最佳的廣告嗎? 競爭者拷貝我的程式, 不正是對我最佳的讚美嗎? "Immitation is the best form of compliment."

當然, 當別人開的蛋塔店已經開始賺錢時才想要開蛋塔店, 恐怕就太晚了, 何不改賣沒有人賣的東西? 不盲從/不迷信流行的勇氣, 是第二項值得培養的心態。 真正的民主, 並不是用另外一個獨大的政黨, 來取代現在的獨大政黨; 真正的自由, 並不是用另外一套壟斷市場的作業系統, 來取代現在壟斷市場的作業系統。 將取代 MS Windows 的, 不會是 一家公司 的 Linux; 將取代 MS Office 的, 不會是 一套 Office。 自己能夠不迷信流行, 進而尊重他人多元, 不同的選擇, 瞭解其他選擇的優缺點, 就更能夠觀察到特殊利基的市場 (niche market)。 手邊的 「論工作量計酬」 專案, 如果撿現成的自由軟體元件來用, 要如何修改, 更能夠迎合客戶特殊的需求? 在自由軟體界還有那些很值得推廣, 但卻鮮為人知, 以致於學習或使用不便的軟體/觀念/作品? 一般人為什麼不敢用/不喜歡用自由軟體? 眾人對自由軟體的抱怨, 無法靠 「自由拷貝」 解決的問題, 或許就是新市場所在, 就是你發揮的地方。 自由軟體沒有保障? 「軟體保險業」 應運而生。 自由軟體難以安裝管理? 客戶自行設定的資料加密密碼, 搭配加密程式開放的原始碼, 與適當的執行檔簽章機制, 可以讓 「主機代管業」 消除客戶對於資料置於他處的疑慮。

第三項需要調整的, 是學習的方向與態度。 當火可以自由拷貝, 當每個人都可以拿火來炒菜賺錢時, 競爭力的高低就取決於我們特殊的運火功夫了。 廚師的運火功夫隨著年齡的增長而日趨精湛; 不幸的是從過去的經驗看來, 資訊人似乎難逃 「長江後浪推前浪, 前浪死在沙灘上」 的命運, 連工程師的認證, 都只是一定期限內有效? 幸運的是, 你將逐漸發現: 自由軟體帶給資訊人的不是只有衝擊, 還有更健康的學習環境。 大體上說來, 你將面對一套比較像數學英文, 具有恆久價值, 不受縛於單一廠商或單一平臺, 鼓勵組合與思考的知識 當然自由軟體也有漂亮簡單的 GUI; 但是身為專業資訊人, 如果只貪戀容易上手或當前流行的工具, 是短線操作, 十年之後, 就會後悔。 諸如 perl, python, php 等等 命令稿語言, 以及命令列文字檔案處理, regular expressions, gnuplot 等等工具, 不僅跨越不同的 Linux 版本, 甚至可在 Windows 及其他作業系統下執行, 且與其他工具可以組合使用, 經過十數年甚至數十年都還存在, 這才是最值得投資的知識。 鑽進小眾軟體尋找特殊利基市場時, 宜把握類似的原則, 經常自問: 那些工具最值得我做大量的學習投資? 萬一我的判斷錯誤, 萬一這個市場並未成長, 那些學習投資還是可以移往其他戰場繼續使用? 至於 GUI, 你可以將它當做協助偷懶的幫手, 但並不值得太認真地當一回事完全投入。

Linux 不只是一個新的作業系統, 伴隨它而來的是一個新的文化"Gift culture": 使用者感恩, 貢獻者成名。 以成就感為主要動機的程式設計師可以生產出比較優秀的程式碼; 以服務客戶為營利方式的商業競爭模式可以促進發展比較健康的資訊業。 這不僅對社會好, 只要我們資訊從業人員願意敞開心胸捐棄成見, 認真地去思考, 也可以從當中找到新的市場。

所以請不要畏懼自由軟體, 我們誠摯地邀請你不要再觀望, 從現在開始, 停止非法拷貝, 加入光明合作的陣營, 參考 如何有效學習, 下載免安裝的 Knoppix, 讓你的電腦開始發揮它的生產力吧!