2.4 Linux核心概念知識編程
2.4.1 自由軟件與FSFbash
1)自由軟件dom
簡單地理解,自由軟件的核心就是沒有商業化軟件版權制約,源代碼開放,可無約束地傳播、修改。編程語言
注意:自由軟件強調的是權利問題,而非是否免費的問題。自由意味着Freedom,而免費意味着Free,英語中是徹底不一樣的概念。例如:Red Hat Linux自由但難免費,CentOS Linux是自由且免費的。ide
自由軟件關乎使用者運行、複製,發佈、研究、修改和改進該軟件的自由。更精準地說,自由軟件賦予軟件使用者4種自由:工具
1. 不論目的爲什麼,有運行該軟件的自由。開發工具
2. 有研究該軟件如何運行以及按需改寫該軟件的自由。spa
3. 有從新發布拷貝的自由。操作系統
4. 有改進該軟件以及向公衆發佈改進的自由。資源
2)自由軟件基金會FSF
FSF(Free Software Foundation)的中文意思是自由軟件基金會,是Richard Stallman於1984年發起和創辦的。FSF的主要項目是GNU項目,它的目標是創建可自由發佈和可移植的類Unix操做系統產品。GNU的項目自己產生的主要軟件包括:Emacs、gcc、bash以及gawk(GNU’s awk)等。
2.4.2 GNU知識
GNU的全稱爲GNU’s not Unix,意思是「GNU不是Unix」,GNU計劃,又稱革奴計劃,是由Richard Stallman在1984年公開發起的,是FSF的主要項目。
GNU類Unix操做系統是由一系列應用程序、系統庫和開發工具構成的軟件集合,例如:Emacs編輯軟件、gcc編譯軟件、bash命令解析程序和編程語言,以及gawk(GNU's awk)等,並加上了用於資源分配和硬件管理的內核。但GNU本身的內核Hurd仍然在開發中,但離實用仍是有必定的距離,所以,這個GNU系統並無流行起來。如今的GNU系統是使用Linux內核,加上一些GNU項目貢獻的組件,以及其它相關程序組成的,這樣的組合稱爲GNU/Linux操做系統。
到1991年Linux內核發佈的時候,GNU項目已經完成了除內核之外的各類必備軟件的開發。在Linus Torvalds和其餘開發人員的努力下,GNU的部分組件又運行到了Linux內核之上,例如:GNU項目裏的Emacs、gcc、bash、gawk等,至今都是Linux中很重要的基礎軟件。
2.4.3 GPL知識
1)GPL
GPL全稱General Plubic License,中文名稱爲通用公共許可,是一個最著名的開源許可協議,開源社區最著名的Linux內核就是在GPL許可下發布的。GPL許但是自由軟件基金會建立的。1984年Richard Stallman發起了自由軟件運動後不久,在其餘人的協做下,創建了GPL,這對推進自由軟件的發展起了相當重要的做用。
GPL的意思,簡單地理解,GPL許可的核心,是保證任何人有共享和修改自由軟件的自由,任何人有取得、修改、從新發布自由軟件的源代碼權利,但都必須同時給出修改後的源代碼。
注意:Linux雖然是基於GNU的GPL許可發佈的,但Linux內核不是GNU計劃的一部分。
2)LGPL
LGPL(Lesser General Public License)相對於GPL較爲寬鬆,容許不公開所有源代碼,爲基於Linux平臺開發商業軟件提供了更廣闊的空間。