why linux
===
昨天DIT學弟傳來一個問題。
問"linux學起來可以做什麼事?為什麼是linux"
那時候忙,當下的反應是,"這小87,你在問為什麼要吃飯睡覺嗎?"
忽然間也變成葉丙成口中那些 "你把這些學起來,不要問為什麼,以後用得到就是"的老師了。
於是敷衍了一下, 說感覺蠻帥的(在忙> <。
之後良心就把我推到道德抉擇的邊界XD 反省了一下自己的驕傲無明。 於是, 看Revolution OS 淨化心靈。
這個問題很好是個大哉問, 這種反骨精神也很值得鼓勵。 通常當大家說"你一定必須應該怎麼做(然後不告訴你原因)"這時候就要小心了,並且要challenge它。
我自己linux年齡是2.5year從 2015.5開始 那時候為了ROS而接觸。不過也忘了真正什麼時間在電腦上裝雙系統(現在我的筆電有5個作業系統)。真正要說和linux初體驗第一次接觸是2014 eurobot, 那時候我們用一塊叫Udoo的板子; 現在在DIT大概是時代的眼淚沒什麼人會用堆在角落。上面跑linux用來接hokuyo雷射,想當初也是個小87, driver還是余教授搞定的。(那時候根本用仰角瞻仰教授。
就效能上來說,之前我們用kinect跑過kinfu 3D reconstruction PCL的3D重建,在Linux上確實比window順暢許多不會卡。另外android手機上也是裝載著Linux。google 公司電腦也是用linux。
這大致是一些表淺的舉例。
Anyway, 我喜歡ubuntu美麗的介面,因為愛。
真要動之以情說之以理,且讓我拾人牙慧,擷取Revolution OS影片中部分片段,覺得被觸碰到的點。
感謝jserv翻譯整理影片。(寫摘要就很花時間, 可以想像翻譯要付出的心力
linux是1991.10.5 赫爾辛基大學生Linus Torvalds首次在BBS上發布0.01版。結合了當時自由軟體灰髮人Richard Stallman與社群所開發GNU周邊工具, 編譯器,除錯程式,文字編輯器...GNU Hurd也因效能問題被Torvalds的核心取代。Richard stallman堅持以 GNU/Linux來稱呼Linux。
我們可以說Linux的發展和幾項事件有關連分別是
a. 可以用相對低廉成本部署Apache 網頁伺服器在商業上帶來的價值。
https://www.youtube.com/watch?v=vWwvh3036Fw#t=34m16s
b. 以開放原始碼,提供軟體服務商業模式形成, 比如Cygnus, Redhat; 自由軟體不代表字面上free賺不到錢 (這點我還沒體驗過 存疑, 因為也還沒寫過啥偉大軟體XD)
https://www.youtube.com/watch?v=vWwvh3036Fw#t=35m06s
c.Netscape網景 火狐瀏覽器的前身,決定開源程式碼,已和microsoft主導IE瀏覽器抗衡。避免MS壟斷並更改HTTP協議藉此獨佔商業價值高的伺服器市場。
https://www.youtube.com/watch?v=vWwvh3036Fw#t=44m03s
d. free software更名為opensource
矽谷的山景城是opensource開放原始碼這個詞的發源地
https://www.youtube.com/watch?v=vWwvh3036Fw#t=46m05s
e. Oracle甲骨文資料庫, Cisco等大公司公司採用Linux
Linux比起封閉式軟體如Microsoft, 是一個充滿故事性人類智慧的結晶。在Eric Steven Raymond教堂與市集"The Cathedral and the Bazaar"論文中觀察了兩種模式相對應的發展風格。並探討linux違反正常軟體工程規則,卻還能製作出水準極高的軟體。
教堂與市集
"封閉開發類型的比如像教堂;有嚴謹目標規劃小型專案團體運作,權力主義階級制度下 發佈間隔長...
linux則像分散式點對點結構類似於商場或市集風格,發佈時間短。需要非專案成員持續不斷回饋, 是一個極為對等的校對過程。
它似乎具有超越傳統封閉模式所有假定優勢的可能。以大規模的獨立對等校隊模式,所達到的單一優勢...
"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=38m27s
教堂與市集論文
http://www.unterstein.net/su/docs/CathBaz.pdf
Netscape
"
我思考著是釋出產品後的原始碼,商業模型會變成什麼樣子,我要怎麼授權,怎麼在這樣的環境下販賣軟體。Microsoft拿了我們的原始碼,會不會用來制約我們...公司要如何借助網路上的人來開發軟體...Jim Barksdale 讓我們在主流媒體上曝光給予投資者信心,這並非一群基層工程師的傳道活動,而是一個高階的戰略家,看見了這個方法的潛力...
"
"1998.1.22 Netscape正式宣佈釋出原始碼, 人們才大夢初醒覺得釋出原始碼有點意思, 讓外界的人也可以參與開發, Netscape的決定引起社會大眾對自由軟體注意,同時讓linux受到關注, 是當時linux軟體之中的突出典範..."
free software to opensource
"
...當初要跨出自己組建公司的那一步,到現在想來還是很不可思議, 這個地方重要性在於“開放原始碼”這個名詞的發源地...
"
"你要是跑去跟主管談“自由軟體”,幸運的話會得到這樣的回覆。恩,恩...自由軟體是低劣沒用的東西。 倒楣的話就會這樣聯想。自由軟體基金會嚴重侵犯智財,...這都是很糟的宣傳 企業不想聽到這些話..
"
"自由軟體這個名稱, 人們聽到自由free, 就會聯想到"免費",認為就無法獲利或進行銷售 "
https://www.youtube.com/watch?v=vWwvh3036Fw#t=34m16s
Richard Stallman part
"
駭客是一群貪玩的聰明人...我們的哲學觀是,坐在電腦前面的人,應該想做什麼就做什麼。過去的人不應該控制現在的人。他們在MIT的機器上加了密碼,我跟一群駭客不太高興,決定搞些破壞...
"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=5m03s
"我們要寫一個完整的系統,系統核心 用來將資源分配給其他程式; 要有編譯程式用來將程式設計師能了解的可讀原始碼翻譯成神秘的數位符號; 還要有除錯程式, 文字編輯程式..."
"自由軟體在意的不是價格,而是自由。例如言論的自由而不是免費的啤酒。我所談及的自由,是能修改的自由,或請別人來幫你修改的自由,如果你想要工作用。以散佈複製達到共享目的,並將其改良後公開。讓其他人們受惠。這是自由軟體與營利軟體之間的差別。 在這些自由下, 人們組成社群,沒有了這些自由。你就會被別人分離操控。"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=13m24s
"既然前三位都講了開放原始碼運動,我要來談談自由軟體運動。開放原始碼運動焦點在集中實際的利益上。經由社群成員,交流合作,改良軟體。我完全同意這一點。但是我支持自由軟體運動而非開放原始碼運動的理由...在於我相信有比利益更重要的事情。像是與他人自由合作,組建社群。從我們的生命品質來說,能生活在優良的社會之中是相當重要的。這就是我的觀點。這比擁有功能強大品質可靠的軟體還重要。"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=48m06s
"
...被分化征服的軟體, 人們毫無選擇。我們賦予人們在使用電腦上有選擇的自由。... 在過去我們的總體策略是喚起人們對自由的重要性。喚起他們在使用電腦時應有卻沒有的自由。...改變現狀的方法就是傳話出去。你使用的作業系統是GNU系統...
"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=1h13m00s
"整個GNU計畫其實是一個龐大的駭客任務。是一項具破壞性質好玩而巧妙的大行動。目的是要改良社會。我只對改良社會有興趣。而且用聰明的方式。"
https://www.youtube.com/watch?v=vWwvh3036Fw#t=1h21m03s
In sum, 個人很喜歡Linus Torvalds說話總是這麼溫文儒雅聲音富磁性。至於還是"我TMD就是要用windows的人",比如partner鉅亨。(然而windows也內建linux shell。
我們討論過為什麼windows相對於linux流行。得到的結論是,打game。
window設計就是要讓你for fun用的,微軟也各種投資遊戲引擎畫面的開發。反觀linux只能玩minecraft 或用來當駭客 寫程式 。
也許之後的小孩子一出生我們就讓他/她使用linux, 之後會不會問"windows學起來可以做什麼事?為什麼是windows?" XD
可見孩紙的教育不能等。之前看到一張照片是德國地鐵上電視播放著ubuntu宣傳影片。人家之所以強大啊...環境及教育影響深遠。
另外也感謝在生命中出現的3位風清揚們,jserv, 徒步山峰,遠球博士。領我瞧見令一個世界。如果還在動機系,也許就一如之前去動機系研究室幫忙教linux。也是坐在底下覺得這是什麼火星東西吧XD
https://hackmd.io/CbCMwIwNgVgdgLRwKYENQICwGYCcGAOTCbBSAJjgGNUZRsoI4g==/publish
至於最後要不要用windows或linux都好。現在許多做即時機器手臂控制器, 工具機的廠商。還是使用windows based作業系統以及C++ MFC, C#作為人機界面開發。這也許牽涉到歷史淵源跟商業化議題。但也許linux based的控制器,在商業上是可行的。只是回應到開頭又是“應該必須跟別人怎麼做”的老問題。
希望有回答到你的問題, 還是有使用linux超過20年的老司機們要回答 為什麼要用linux XD
靠 居然看得比自由軟體協作 上課時候認真...
[reference]
從 Revolution OS 看作業系統生態變化
https://hackmd.io/s/SyuRJIPI-#
Revolution OS
https://www.youtube.com/watch?v=vWwvh3036F
###### tags: `robotic` `seminar` `ubuntu` `why` `linux`