IT項目天方夜譚

  最近從幾個不同的朋友口中,聽來一些IT業界的「老調重彈」,這裡做一個記錄。以下故事都是真實的,絕非虛構。

故事一

  某人要開發一個系統,願意出高價,可是開發的時間非常緊迫,只限一兩星期。開發者問,怎麼會要那麼趕?

  原來系統本來就有人在開發,只是……後來……程式設計師跑路了。

  而自己答應要交貨的時間逼近,只好出高價找人。但時間太短,有能力開發的人都沒法那麼快交貨,看來他只有兇多吉少。

  程式設計師跑路的「新聞」是時有所聞。頻率與女傭跑路,以及老闆跑路是差不多的。

故事二

  電腦這種「東西」,其實範圍廣泛,一般人對它一知半解,也是情有可原。 Continue Reading

系統就是要無間升級

  之前想要放棄「關於電腦」部落格,因為停了一陣子沒寫,來登錄時提示我要升級,升級是讓我想放棄的原因之一,還是用google blogspot好。連寫文章都缺時間了,還要不停的升級。

  剛升級成了2.6,才寫沒幾篇,又出來了一個2.7版。

  電腦的系統,就是無止盡的「升級」,一直升到你升天為止。

  在wikipedia裡的「無間地獄」。

佛教說法

阿鼻地獄是「八大地獄」之一,也有人說是十八層地獄的最底一層;阿鼻地獄是佛教宇宙觀中地獄中最苦、最黑暗的一種,大部份永世不能超生,一日有億次死生,往往刑期皆在百億年之久(地球的年齡也不過幾十億年)。

免費軟體II

上回說了一些好用的免費軟體,但主要是一般的應用程式。這裡還有一些不錯的免付費軟體,要介紹給程序員的,或許你們也略有所聞。

Borland要把Delphi,C++ Builder等的IDE事業賣掉,主要是因為目前有太多的免費IDE了,這行業太難混了,他們也轉行了。以下這些都是免費的,我所謂免費是指不需付費可以合法使用,至於其各自的條件限制就各自不同了(請參閱各自的License Agreement說明)。Java的兩大著名IDE,NetbeansEclipse都是免費的,所以Borland的JBuilder要活下去真的不容易。

在兩年前我學習Java時,就用netbeans的IDE,它本身是個Java程式,很好用,只是在舊電腦反應會較慢,也有一個著名的eclipse,但我沒有真正用過。

C#也有免費的IDE,微軟的C# Express版就是免費的,只是執行速度有點慢,而SharpDevelop則是免費的,以C#寫出來的open source IDE,也有說明和免費電子書,有興趣者可以學習IDE的內部原理。

說回歷史較悠久的C/C++,有太多的免費C/C++編譯器了,微軟、GNU、Borland都有免費的版本。IDE方面,我前陣子發現了CodeBlocks,彈性又方便,可以配合不同的編譯器使用。

程式員要做的工作不只編程那麼簡單,很多時候還要做一些文檔格式轉換的工作。如果編出來的程式牵涉中文繁簡體,那麼ConvertZ是個免費的好傢伙,執行後它會隱形在螢幕的最頂端,鼠標滑過去才會浮現。你可以做GB,BIG5,Unicode的互換,非常好用。

程式寫好後,如果是Windows的,那要包裝在安裝程式底下,才方便使用者。如果你的要求不太複雜,可以考慮Inno Setup,我公司的一些産品都用它來製作安裝程式,易學易用。

還有更多的免費東西,都在網路上,那有待大家得空去發掘,世界上免費的午餐不太多,但在網上都特別多。

軟體更新

  我小學到中學,都是騎腳踏車上學,那是年代「久遠」的事了(這個時代在我這個城市再騎腳踏車應該很快被車撞死,現已車滿為患,而且名貴的車子裡是流氓的駕駛態度),記得小學時,有一次把腳踏車洗得幹幹淨淨,再用油把生銹的部位擦亮。隔日,經過一朋友家,他就問我是不是買了新腳踏車。同樣的情形也發生在電腦行業裡,不知諸位是否注意到了,只要在外觀做些美化,大家會以為是新版本。

  在馬來西亞,我見過一些軟體,不管它的版本如何升級,他的外貎還是老樣子,一成不變,有些更甚者連圖標(Icon)也沒有。雖然有時候許多程序員認為只要系統跑得快,跑得穩,何必弄一堆可有可無的圖標呢?豈不是浪費更多記憶體空間,影嚮系統表現,反正系統可以完成用戶要求的任務,那不就行了嗎?而且有許多程序員很在意系統的效率和內部架構,完全不在意用戶界面與美化。

  這說法是沒錯,但程式要賣出去,這也是一門生意。産品要賣得好,除了實用和耐用之外,外觀也是個很大的因素左右購賣者的決定。就像許多人買車都是看外表和顏色,因為許多時候,同一等級的汽車,功能上都相差不遠。所以想要産品賣得好的,通常都會在外觀上下苦功。

  就像手機一樣,雖然你手上已經有一個了,但不停的受到廣告的誘惑,新款示不停的推出,和身邊朋友不停的升級,許多人還是會動搖,最後也去升級了。以前的軟體,都是第一版,第二版,第三版慢慢推出,可是顧客通常買了過後,就不知道軟體目前已經升級到甚麼版本,所以他不會覺得自己落伍。

  為了刺激銷售,許多軟體公司在上世界九十年代末就開始以年代做版本號碼。像微軟的Office從6就跳去97了,過後就Office 2000。典型的以年代做版本號的包括Norton Antivirus,總之有2004, 2005, 2006。如此一來,如果用戶的電腦還用著微軟Office 2003,雖然他不一定知道最新是哪一版,但他必定會覺得那好像是用著三年前的舊貨了。為此,只有不停的升級,雖然也不見得需要甚麼新功能,但落伍的感覺總是不太好。軟體開發公司就通過這一點來增加自己的財富,屢試不爽。


  我觀察了市面上許多的軟體,而軟體業老大微軟的軟體在升級上面做得最好,如何好法呢?那就是他的用戶界面都會與上一版本不同,讓你第一眼就知道是新東西。為甚麼要這樣做呢?這裡舉一例,像我這種最‘一般’的微軟Word用戶來說,不管是Word 6、97、2000、XP或2003版都好,我就只會用最‘一般’的功能,打打字,最多是加個table,所以不論怎麼升級,我都沒有發現它有甚麼新功能。為了對付我這樣的用戶,他們就在用戶界面,像開啟畫面(Splash Screen)、圖標(Icons)、目錄欄(Menu Bar)等去下手,弄得更華麗更精致,所以我眼前一亮,就確定它是新版本。


  為何外觀在軟體更顯重要?這牽涉到它的推廣,許多軟體推出後,就會有發佈會,在發佈會上或是行銷人員把新軟體展示在顧客前,不是行家根本就不知道它內部如何強加,如何改進,如何加快,但一眼看去,畫面改進了,嗯!絕對是新版本。就像Norton Antivirus的升級一樣,我只知道他的virus pattern每年增加,但軟體加強了甚麼,我完全沒概念,所以他每個版本在界面上煥然一新,讓我覺得我在「升級」。這裡並不是說功能升級不重要,而是說在你的行銷人員去展示給顧客時,因為展示的時間有限,許多功能他們未必馬上就能發覺,但畫面的改進會讓他們一眼就覺得這是個「新」東西。在國內,我看過許多軟體,他們不停的升級,功能不停的加強,可是畫面就是一成不變,永遠是個老樣子,即使你免費給顧客升級,他也只是感覺你來「重裝」一遍,而不是進行升級,至於內部功能,則因為他認為不是新東西,就沒空去「發現」它。

  升級有很多種,有的升大級(Office XP–>2006),有的升小級(Skype 2.0.0.90–>2.0.0.97)。有些軟體,像Internet Explorer,好幾年沒有更新了(因為打遍天下無敵手),直到最近受到Firefox的影嚮,失去少許的市場佔有率後,也同時要配合Windows Vista,才會想到要去升級。而有一些軟體,尤其開源的,更新很快。其實更新得太慢太快都有問題,不更新的問題更大了。

  軟體太長時間沒更新,大家通常是以為公司快倒了,但微軟除外。對客戶最大的麻煩是許多缺陷(bugs)沒得解,許多功能沒得發揮。因為現在有網路的方便,許多軟體都有線上更新(Online Update)的功能,因此更新非常容易,但是如果不是自動更新而需要用戶去啟動的,我發現有許多的用戶根本不會知道可以網上更新,或不在意更新升級這回事。太長時間沒更新,對軟體公司來說,需要面對競爭對手的挑戰,但是更新得快,公司才能不停的有新貨賣出,口袋才會不停的有錢財入。

  更新得快對用戶是好的,一是問題得到解決,二是功能得到提升,雖不知到底加強了甚麼,但猜想必定是更快更穩更好。但我聽到一個這樣的真實事情,一人在幾年前都是用正版軟體,舉一例,用Norton Antivirus 2003,可是到了2004年,他必須再買,2005年呢?需再買,買到幾時呢?他說第二年他就感覺落伍了,但要再付錢又覺得此「付」綿綿無絕期,所以就用盜版到現在。這裡不是說頻密更新升級不好,而是讓大家知道有些用戶會有他們自己的算盤。

  許多開源的軟體,更新升級更快,快得不得了,讓你感受他們的熱忱,但這又有另一問題,太過快速的更新讓我覺得他們沒有計劃好,就隨意的發佈出來,讓我覺得他們的東西好像很「不穩重」,要不然就告訴我說它裡頭存在太多問題了,要不停的修改,這也會讓用戶對它的信心打折扣。

  當然還有一些出師未捷身先死的,像www.nvu.com的計劃一樣,我是它的用戶,因為我不想用付錢向Macromedia買Dreamweaver。它是個不錯的東西,但似乎沒有要繼續更新升級的感覺,讓我們這些用戶求助無門。但想想也是,天底下哪有那麼多白吃的午餐,有個OpenOfficeFirefox已經是很不錯了。

說說開源(Open Source)

  時常和朋友討論IT的趨勢與未來。當然都免不了要提及微軟(Microsoft)這個軟體巨人。看著他不停的東征西伐,而且節節勝利,我們常以「虎狼之秦」來形容它。當然也暗自以為它將會統一天下。

  每當想起秦國能統一天下,就會想再閱讀一番
  +李斯<諌逐客書>
  +賈誼<過秦論>
  +蘇洵<六國論>
  +蘇轍<六國論>
  +杜牧<阿房宮賦>

  讀完了這些文章(都是好文章喔!而且蘇洵老爸兒子各寫一篇),再看看微軟的標哥,嗯…不懂它會不會是秦始皇。

  從當年瀏覽器大戰(Browser War),網景(Netscape)讓出了大片江山,到最近以開源的火狐狸(Firefox) 想「take back the web」;而另一個軟體Open Office也是當年Star Office重生。看看這幾年來,微軟憑藉著Windows和Office讓多少的軟體公司活不下去(當然當中有好多的因素,但畢竟它們都栽在標哥手上),像Word Star, Word Perfect, Lotus 1-2-3,Novell等等。

  Windows的節節勝利,使得當年許多著名的中文系統都消失了,像倚天,零壹中文系統。當Windows XP出來時,它內建的一些功能已經可以替代Winfax,Nero,ACDSee,WinZip,中文之星等這些商用軟體。朋友說微軟比秦國更強大,當年秦王實力雖強,可是滅六國也是一個一個來,而現在的微軟則是多邊作戰,同時進攻Sun, Borland, Google, Linux, Real, Mozilla, Apple, Apache, Oracle, Symbian, ICQ, Yahoo!, Sony,雖然如此,可是它還是步步逼近,斬將殺敵無數。

  前陣子它更買下了羅馬尼亞一間反毒病公司,後再推出反間碟軟體,最近又推出Acrylic(要向Adobe發難了)。看看它的產品系列,好像甚麼軟體它都要做,當然它的Windows, Office和Visual Studio系列的結合,讓它在好多方面比別人擁有更顯著的優勢,而且從用戶角度看,某些軟體(例如防毒軟體)好像由它來幹會更合適,因為是要保護它的OS嘛!

  我曾在家裡的電腦重裝Windows,然後就要裝個Office,因為是必備的嘛!可是一時找不到Office的光碟,就直接上網下載OpenOffice來安裝(也儘量不要使用盜版),反正我也曾用過OpenOffice,還很不錯啊!像我們一般人做普通文字編輯用途,絕無問題。剛巧幾天後,我表妹來我家幫我父親做一些簡單的帳目和文件編輯,就問我說怎麼沒有Word和Excel。我也沒向她介紹OpenOffice,祇告訴她說過幾天我會安裝,因為她已先入為主了,更何況她也不會在其它地方碰上OpenOffice,所以我也就沒有告訴她說OpenOffice也能完成相同的任務。後來我就祇好裝個微軟Office上去,因為家裡人認為那才是Office。

  對於標哥與微軟的財富,許多人是投以羡慕的眼光。但它的產品定價合不合理呢?這問題價得我們去思考。當然,微軟也有給我們好多又好又免費的軟體,像是Internet Explorer, Windows Media Player等等(或許它另有圖謀!我們不得而知).有人說微軟的產品貴,是因它們投資成本高,所以東西就賣得貴,也因為各國匯率和生活水準差異過大卻碰上全球化時代來臨,所以窮國窮人就說它貴。更有人說它的產品非常昂貴,因為微軟付了員工那麼高的薪水,投入了那麼高的研發資金,公司還是營利那麼多,那不是暴利嗎?但軟體這種東西又好像不太適合各國各自定價,如果大馬賣便宜,那美國佬不在美國本土買,全上網來大馬網站買,那也是個問題!

  從2000年在台灣買了本有關開源的到現在,看見開源的發展,會覺得很不錯,至少可以抗衡微軟,當然有好多人祇希望微軟產品能夠便宜一些,然後繼續支持它。雖然這麼年我們常聽說開源發展的很快很好,但若從一般用戶的電腦看,并沒有太大的進展。有幾個人的家裡真的是用著Linux+OpenOffice呢?如果從個別軟體來看,像Firefox,OpenOffice絕對是優秀的。可是在這個網路世紀的工作都牽涉好多人,你一個人用OpenOffice,可是別人若寄來Word或Excel檔,這時就要面臨考驗了。若開啟文檔後不是呈現原來面貌那就頭痛了。這情況下兼容性(compatibility)絕對是個問題。誰叫用Word和Excel的人多,人多就聲音大。從開源的整個發展,計劃,理念,理想,這個兼容是個小問題,但從產品的推廣和普及,它就是個大問題了。若說其它功能比微軟強,那反而是其次。

  另一個問題是,這些開源都把火炮指向微軟,可是相同類型的計劃也太多了,像AbiWordKOffice也是弄著像微軟Office的產品,也是開源的。當然他們也有他們的目標理想,可是那不是太重復了嗎?或許它牽涉歷史問題。我的想法是,如果這些菁英都把精力集中在一個計劃,那不是更有價值嗎?對微軟的威脅不是更強嗎?

  其實上面的問題看得出來,或許某些軟體的市場佔有率是由文檔格式(File Format)的普及性來決定。如果大家都使用著Word格式,那麼它就是贏家。所以開源的Office就有必要把它的兼容性弄好。幸好現在來了個標準格式,大家都不吃虧了。

  許多的人都口口聲聲的支持開源,其實也祇因為微軟產品價格高的原因(微軟的產品素質還是一流的)。口頭上的支持是好的,可是行動要配合。如果你把Word文件寄給朋友,那很多時候就是逼使他要用Word來打開。如果同樣的文件以PDF格式寄出,那他可以用Adobe Acrobat Reader來閱讀,至少它目前是免費的。如果一個OpenOffice用戶不停收到Word和Excel文件,想必他不久還是裝個微軟Office,何必不斷地為了文件開啟後的顯示差異而煩惱呢?我本身就曾裝了兩次OpenOffice,後放棄重回微軟Office懷抱,因為格格不入啊!軟體絕無大問題,但兼容是問題。現在我的Notebook再裝OpenOffice(因為BSA在積極抓盜版),這是第三次使用OpenOffice,希望可以不再送錢給微軟。如果連這一小步都跨不出去,不停用微軟格式的文件,那微軟的壟斷是必然的。

  另一方面時,微軟的軟體都祇在Windows上執行,而許多的開源好軟體可以同時在不同的平台上面跑。表面上好像開源的軟體弄得都很不錯,微軟不能的它們都能。可問題是,好像甚麼軟體都能在Windows上跑,卻有好多軟體不能在Linux上面跑。那如果讓你選擇OS,你選哪個呢?

  或許我們需要一個六國宰相蘇秦(一定要是去微軟毛遂自薦後被踢回來的)來告訴大家要怎麼做才能合縱抗秦?可是人家秦國有好多來自印度,歐洲,亞洲各國的客卿(李斯,范睢,公孫鞅等)。

  蘇洵的六國論頭兩句,「六國破滅,非兵不利,戰不善,弊在賂秦。賂秦而力虧,破滅之道也。」雖然它不一定附合現代的商業競爭。但看看周圍的情況,還不難找到例子。人們常說商場如戰場,那我們就當戰爭看吧!不知大家有否注意到微軟的Hotmail,先前是與McAfee合作,最近與趨勢科技(Trend Micro)合作了,凡附件都經過它們的防毒軟體掃描。當然,與McAfee競爭的同時,與微軟合作絕對有大利益。因為微軟不論如何都會找到合作伙伴的(張儀連橫的遠交近攻策略?),可是最近不少消息都說明微軟會搞防毒軟體了,難道是在臨死前先撈一票再說?實在很興趣這幾家防毒大廠如何看待微軟要進軍防毒防間諜軟體業。或者再看看目前使用微軟OS的手機系統。難道他們不擔心早晚一日兵臨城下?

Open Source

  開源的軟體不祇OpenOffice,其它的有NetbeansEclipseKDevelop等,這幾個就與標哥的Visual Studio有點衝突了,不過或許沒有Windows與Linux那麼明顯。開放當然有它的好處,可是一個Linux就有小紅帽(Redhat),Slackware, Gentoo, SUSE, Debian,中國的紅旗Linux(如果你去google查一查,還有一堆),看到這些,連大敵是誰都分不清,就在那裡插旗為王,有時也真不懂它們到底想搞甚麼,幾百幾千個人的用戶群,需要自稱一國嗎?(當然它們又會說他們有另一套不同的理念!)何不就加入楚軍(更強的反秦軍團)呢?(沒聽過亡秦必楚嗎?)

  忽然想起好幾年前有四家Linux公司要合搞一個United Linux(蘇秦的第一次合縱聯盟),不過好像下落不明,不了了之。其實Linux祇要集合六國的菁英,先認真的把作業系統(OS), Office套件,瀏覽器,上網,即時通訊,電子郵件,印表機/網路/光碟燒錄等設定,聽歌看戲一次裝好全有,先推入用戶家裡,再來內戰不遲。現在就根本只有Linux裡幾個員工在用Linux作平常用途吧!(當然它們會說有好多人已開始購買內裝Linux的電腦了,其實人家祇是不想買正版Windows,買回去後再去掉Linux裝Windows,可以省下Windows的版權費嘛!)為甚麼呢?因為連介面也給用戶兩個,叫他們選,可是有幾個會計小姐或中學生認識KDE或GNOME啊?Office也有KOffice和OpenOffice,幾個不同的FTP也弄上去。你叫他們用哪一個?當然他們說在安裝時可以不選,可是一般用戶哪曉得甚麼是FTP,甚麼是KOffice,甚麼是gimp呢?打不打勾安裝呢?其實他們很多時候弄出了程序員想要的,而非一般用戶想要的東西。一般用戶不就祇聽聽mp3打打文件,上上網收收信,印幾張圖片,何必給他們三種介面,三種Office,三種瀏覽器,三種FTP Client呢?更重要的是用戶手冊,這是推廣的必備。連用戶手冊都沒有,那不是太沒誠意了嗎?

  除了缺用戶手冊,或手冊又舊又不齊外,它們還有許多都有共同的毛病。首先它們因為都是開源的,所以都沒有弄成商業包裝,因此用戶無法在商塲上購得,只能上網下載。可是若進入那些開源網站,看看它們的門面,根本就沒有胃口再去下載它們的軟體了。另一點是版本過多,每日都有新鮮貨(Nightly Build),普通家庭用戶在下載時絕對眼花瞭亂,因為那個網站不單給用戶,也是開發者的網站。就因為裡面甚麼都有,所是祇有熟人才知哪下載,凡人根本就無從按(click)起。很多網站裡頭還同時展示好多不同的開源計劃(以證明它們生意興旺),那些資料是一般用戶不需要的,可是它們就是把它弄得高深莫測,凡人望門興嘆。當你最終到了下載頁面,卻看見了幾十個下載網址,原意是想讓你從較靠近的伺服機下載(可是看見泰國,印尼和新加坡,卻沒見到甚麼都可以(Malaysia Boleh)的馬來西亞),速度會快些,可是有些網址是死的,下載不了,給用戶添了不少麻煩。

  再看回目前大中小學的電腦課程,大家就會知道為甚麼標哥會富可敵國了。這些都是微軟的百萬雄師,將來都是忠實的微軟用戶群。開源組識實在很有必要搶攻這塊市場。著名的微軟,Adobe,Macromedia,Symantec(Norton)因為有很強大的市場佔有率,所以學校也必須教授一些將來方便學生就業的課程(學以致用嘛!),因此它們借力打力,就可以在市場上買個滿堂紅。但從學校情況來看,其實學生通常需要做功課,而校方指導的商用軟體,一般學生根本負擔不起,所以是逼著學生去用盜版。開源組織實在很需要在校園裡下功夫,把OpenOffice,Linux,C++,Java這些推入學校,而不是讓學校逼學生去學一些本身負擔不起的Windows,微軟,Visual Studio等等。當然這些想法他們也必定想過,所以一定還有許許多多的因素讓他們舉步維艱。其實開源較商用軟體的優勢是,它們可以把版權與費用的事實告訴校方,告訴校方既不犯法又不花錢的良策,這就比微軟有佔優了,他們最多祇賣教育版,對校方還是一筆費用。

  友人說開源更大的意義在於開發源始碼(source code),對學校的學術研究是很大幫助的。可是那也祇是對大學裡的電腦科系。對小學,中學,或大學裡其它科系的人來說,他們祇能用,根本就不會與源始碼發生關係。而真的就很多人在對那些源始碼進行研究嗎?(他們祇是下載來編譯而已吧?真的那麼多人會有能力與時間去修改程式?)如果那個產品在市場上根本沒幾個人在用,那一小撮人不就等同在考古嗎?就像是我們現代人用著現代的語言文字,祇有少數幾個考古學家在究研古埃及文字。如果產品不深入民間,祇是不停的在搞甚麼更換畫面皮膚(customizable skin),一堆徒損精力卻動搖不了微軟(或其它的企業,如Adobe, Symantec),那麼開源的確還需要花好多時間。若看微軟,它裡面的Internet Explorer, 微軟Office都不允許更換皮膚,大家還不是一樣用得不亦樂乎。總之是先把重點搞好,擴大市場佔有率才搞那些次要功能。

  總之大家在擔心會不會有一天吃著MS漢堡,喝著MS可樂,駕著MS汔車吧!現在大家的情況是恨鐵不成鋼,但更希望所有開源的反秦義師能認清目標與先後順序,別再各幹各的,互相干擾。那時候軟體界才有機會呼吸到自由的空氣。