Linux, 工作, 生活, 家人

隨手札記

Why OpenSource ……

我算是玩 OpenSource 的人, 常常在網路上看到有人抱怨 OpenSource 太難入門.
為什麼搞 OpenSource 會這麼累…

我就拿我身邊的人做案例分析吧


某位 程式設計很厲害的人, 電腦經驗超過十年, 有豐富的 Coding 經驗
以下是他的抱怨的文章
===
最近在玩 FreeBSD ,順便自己學著架一些東西,突然有些感想
很多人罵微軟,連我這個 M$ 派的人有時也在罵,尤其是自由軟體界的人。
不過走 Win32路線的人仍然是前仆後繼, OpenSource 的社群雖有成長,但
跟 M$ 社群比起來,可以說還有很長的路要走….

常看到狂信者在推廣 OpenSource 教義,卻沒看到有人在思考 “WHY” 這個字
直到最近我想我有點體會其中一小部分的原因了….

我玩電腦雖然時間不長,但好歹也靠這個吃飯,但當我開始學 BSD 時,
我很訝異以我的基礎居然學得痛苦萬分….

OpenSource 名為 Open,但是給新手的感覺卻是如此的封閉….
像今天我想自己架看看 blog ,就遇到這種情形, google 出來 blog
滿天飛,我卻被搞得眼花撩亂 = =a

OpenSource 給我的感覺,就像很巨大明顯的殿堂聳立在路口,但卻
找不到門在哪,甚至連鑰匙孔也看不到,裡面的人卻不斷高喊:
“施主,要怎麼進來就要靠你自己的努力了”

學習永遠要靠自己,但如果連個線索都沒有,是要怎麼要求新手大海撈針?
站在門口喊芝麻開門嗎? = =a
這樣的結構與情形,給企業的傷害最大
也是OpenSource 社群成長的瓶頸之一

我以大量的時間愚公移山加上有人幫忙,才總算能稍微了解一點點
我不敢想像今天如果我再忙一點或是沒有前輩帶,我不知道
要花幾年才能學會基礎

這是一個很入門的 CASE, 首先
(1) 他長年習慣於 Windows 的文化, Microsoft 投入了非常多的人力, 物力, 資源在所有產品的整合, 尤其是文件部份. 在 Unix 下, 一般來說最缺的就是文件, 熱血的程式設計師可以設計出優秀的產品, 但是大多數卻寫不出好的文件, 大部份都是 Install Guide 之類的. 大不了就是 man page .

(2) 選錯套件: 一個剛入門的人, 放著 Linux 不選, 選 FreeBSD , 我只能說, 勇氣可嘉. 如果選 Linux, 裝好以後, 不管是用什麼套件, 一般的應用上, 至少中文是沒有問題的. 設定方面, 在網路都可以找到大量的文件, 例如: free.tnc.edu.tw , www.study-area.org, www.vbird.idv.tw . 卻去選難度較高的 FreeBSD , 不管是 Library 的選擇, 或是 ports 系統的問題, 除非有人在旁指導, 否則入門的難度高上一級.

(3) 我不知道有沒有買書, 但是學習 Linux/FreeBSD 等 OpenSource 系的 OS , 有一本好書是很重要的. 第一次就照著書上做就可以了. 不像是 Windows , 只要裝好就可以用.(事實上大多數的 Linux Distrubtion 都是裝好就可以用漂亮的 XWindow UI, 如果選 KDE 套件, 70% 都很像 Windows 2000 UI)
另外就是有沒有看 Install Guide . 大多數的 OpenSource Package 都有 Guide. 80% 看 Guide 就可以裝起來了.

(4) 不了解 OpenSource 文化: OpenSource OS 對上 Microsoft OS ,我個人認為最大的差異在於, OpenSource free programmer’s mind . Microsoft hold programmer’s mind.
OpenSource 最大的好處就是,創意無限,今天你不必只靠一種語言,一種方法去達到你的目地,創意可以無限的延伸(就像是 Microsoft 的廣告一樣 :p),例如像 Linux 做 Kernel Communication 最少就有 proc filesystem, ioctl,pipeline,kernel 讀檔, 這兩天還讀到 netlink. 壞處就是,積木要自己做,要一個一個堆。
Microsoft 最大的好處就是,己經有一個整合好的平台,也有廣大的使用者使用 Microsoft 的產品,基本上各家都會 follow Microsoft 的標準,當一個 Programmer 應該學的就是儘情的發揮創意。最大的缺點就是,這個創意建構在 Microsoft 給你的架構之上,今天沒有 shell script language, 如果要解決網站 Loading 太大的問題,就必須買 Layer7 的 solution. blah blah blah .

(5) 我不得不講 OpenSource 最重要的一件事,那就是原始碼是開放給你的客戶的,我今天購買一套軟體,我不必怕公司不 support ,我可以自己 maintain,將價值建立在 service ,而非軟體上,軟體是不值錢的,但是 Programmer 是要花錢的 service 是有價的。

若 OpenSource 真的那麼差,為什麼大家前扑後繼的跳火坑?從 IBM/SGI 到 Oracle/Novell .
embedded 硬體就不用說了,vxworks 被打得半死,目前許多 Hardware menufactor 主要 driver 除了 Windows 外就是 Linux 了.

至於我自己,我覺得 OpenSource 我可以悠遊自在的玩樂 Programmer ,又可以賺錢,何樂而不為?而且 windows 開發太不對味了,不合我的興趣,我是”選擇”改用 Linux (Mac 看起太笨了,也不合我味口,不過人各有志 MAC 迷別罵我),雖然苦了一點,我個人認為非常值得

1 留言

  1. Eason

    呵~看完站大的文章, 個人非常認同, Opensources可帶給人們樂趣與無限的想像空間, 但相對的因為有時太過於free了, 會讓初入門的user摸不著頭緒, 因為條條大路通羅馬, 但該走那條路, 那條路最快最好走最不會踩到地雷= =, 我想這應該是初學長最常碰到的問題, 我也算是玩Opensources的人, 初入門也是玩FreeBSD, 不過還好有人帶我一步一步來, 當然也就一步一步陷進來:)
    近年來unix-like社群雖有逐漸壯大的聲勢, 但就如同站大所說的”跟 M$ 社群比起來,可以說還有很長的路要走…”

發佈留言