在去年 ICOS (唉…網站又死了) 結束, 正準備嗆聲籌辦 COSCUP 時, 圈子裡出現了一個議題, 那就是苦勞網改版. 當時我有提出一些自己的看法. 事過數個月, 年初有長輩請我去作了一個關於『Open Source 共用平台』的 survey, 正巧當時正在思考 SOA 導入可能會發生的問題, 就把這些問題稍微整理了一下, 也同時想了想 OSS 的一些問題.

  1. bug 數量: 在商業上使用的自由軟體, 老實說, 誰都會擔心這個問題. 除非你自己有 coding/debugging 能力, 否則選用 active open source software 才是王道, 選用的方式, 前人專文說明. 可是這位前人並沒有列出推薦名單, 而且, 他 survey 的軟體, 大多是以系統層面來看的, 離 WOA 還好遙遠.
  2. 單一語言: SOA 只是個 concept, 但從系統維護/管理的角度來說, 現有系統轉成 SOA, 那是一個故事, 但是, 總要選定一個語言, 尤其是大多數公司行號都會選擇『時候到就重新開發』. 對大企業來說, 花大錢用 Java 不會錯太離譜, 反正有錢可以買平台. 但是對想用 OSS 的窮人家來說, 用 Java 的問題是, 你得要自己 coding, 又沒辦法好好利用人家已經造好的輪子, 那你選 PHP 應該不會錯 (以 C++/Java/PHP/Python/Perl 分別加上 Web-Based 關鍵字, 在 sourceforge.net 查出的數字, PHP 軟體數最多) (參考值, 應該有更準確的做法), 這樣的做法當然會讓你失去 SOA 的 concept, 誰叫你沒有足夠的 coding 預算/人力?
  3. MiddleWare 或 AP Framework: 既然沒有辦法百分之百 SOA, 那總可以透過限縮平台的方式降低系統複雜度吧? 有些現成的 Web Framework (based on 某些 WOA 之類的), 可以降低維護的麻煩, 更有不少 CMS 平台或其他平台有現成 plugin/modules 可用, 如果符合現成需求, 那又可以再降低開發的困擾.
  4. Security 出狀況時, 麻煩會很大: 假設只用單一 CMS 或特定系統作為 Web Platform, 那障礙還不大, 起碼會有人針對這些夠大的平台做 code review (聽說威董也幫某些平台 review 過喔), 那自己去找去抄的那些小工具如果 security 出問題又該怎辦 (害我又想起那個很有名的大站了)

所以, 以 AP level 來看, Open Source 雖然免去重新造輪子的麻煩, 但是也造成了管理/維護上的複雜度, 同時等於也提供了一個賣服務的機會, 這也就是人家之所以會說 Open Source 品質不佳的原因 (因為商業軟體好像可以 “不用” 買服務, 用起來就很 “穩” 嘛). 也難怪某長輩 (記得是某窩的小明流浪漢) 曾在簽名檔裡寫過: 『客戶選擇的不是 linux, 他們選擇的是 IBM』.

Trackback

only 1 comment until now

  1. 學長的文章…

    最近在看學長的文章:

    ERP 好像不是這樣導的
    關於 SOA — 觀念問題
    關於 SOA — 自由軟體的軟體工程

    其å…

Add your comment now