GNU
1984年,史托曼開始GNU計畫,這個計畫的目的是:建立一個自由、開放的Unix作業系統(Free Unix)。
不論是什麼軟體,都得要進行編譯成為二進位檔案(binary program)後才能夠執行,如果能夠寫出一個不錯的編譯器,那不就是大家都需要的軟體了嗎?因此他便開始撰寫C語言的編譯器,那就是現在相當有名的GNU C Compiler(gcc)!並且成立自由軟體基金會(FSF, Free Software Foundation),請更多工程師與志工撰寫軟體。終於還是完成了GCC。
為了避免GNU所開發的自由軟體被其他人所利用而成為專利軟體,所以他與律師草擬了有名的通用公共許可證(General Public License, GPL)
GNU所開發的幾個重要軟體,如:
- Emacs
- GNU C (GCC)
- GNU C Library (glibc)
- Bash shell
目前不是有很多Linux開發商嗎?為何他們可以販售Linux這個GPL授權的軟體?原因很簡單,因為他們大多都是販售『售後服務!』
Linux
1991年:芬蘭大學生Linus Torvalds的一則簡訊:宣稱他以bash, gcc等工具寫了一個小小的核心程式,這個核心程式可以在Intel的386機器上面運作,讓很多人很感興趣!從此開始了Linux不平凡的路程!
Linux的核心版本
主、次版本為奇數:發展中版本(development),如2.5.xx;
主、次版本為偶數:穩定版本(stable),如2.6.xx;
因為所謂的Linux版本指的應該是核心版本,妳常用的Linux系統則應該說明為distribution才對!因此,如果以CentOS這個distribution來說,妳應該說:『我用的Linux是CentOS這個 distribution,版本為5.x 版,請問....』才對喔!
Linux distribution:『Kernel + Softwares + Tools的可完整安裝』.其中只有Kernel是Linus Torvalds领导开发的。由於GNU的GPL授權並非不能從事商業行為,於是很多商業公司便成立來販售Linux distribution。而由於Linux的GPL版權宣告,因此,商業公司所販售的Linux distributions通常也都可以從Internet上面來下載的!但服务收费。
其實每個distributions差異性並不大!為了讓所有的Linux distributions開發不致於差異太大,且讓這些開發商在開發的時候有所依據,還有Linux Standard Base (LSB)等標準來規範開發者,以及目錄架構的File system Hierarchy Standard (FHS)標準規範!
程序员可以用全相容商業版RHEL的CentOS, 於企業環境:建議使用商業版本,例如Red Hat的RHEL或者是Novell的SuSE。
Open Source (開放源碼)
Open source的代表授權為GNU的GPL授權及BSD等等,底下列出知名的Open Source授權網頁:
- GNU General Public License:
http://www.gnu.org/licenses/licenses.html#GPL
目前有version 2, version 3兩種版本,Linux使用的是version 2這一版。可以參考:http://linux.vbird.org/linux_basic/1010appendix_A.php
- Berkeley Software Distribution (BSD):
http://en.wikipedia.org/wiki/BSD_license
使用BSD source code最常接觸到的就是BSD授權模式了!這個授權模式其實與GPL很類似,而其精神也與Open Source相呼應呢!
- Apache License, Version 2.0:
http://www.apache.org/licenses/LICENSE-2.0
Apache是一種網頁伺服器軟體,這個軟體的發佈方式也是使用Open source的。只是在apache的授權中規定,如果想要重新發佈此軟體時(如果你有修改過該軟體),軟體的名稱依舊需要定名為Apache才行!
Close Sourcelose source的程式則僅推出可執行的二進位程式(binary program)而已。不過有些專利軟體還是可以免費提供大眾使用的!
免費的專利軟體代表的授權模式有:
Freeware:
http://en.wikipedia.org/wiki/Freeware
不同於Free software,Freeware為『免費軟體』而非『自由軟體!』目前很多標榜免費軟體的程式很多都有小問題或安全隐患!;
Shareware:
http://en.wikipedia.org/wiki/Shareware
共享軟體這個名詞就有趣了!與免費軟體有點類似的是,Shareware在使用初期,它也是免費的,但是,到了所謂的『試用期限』之後,你就必須要選擇『付費後繼續使用』或者『將它移除』的宿命。