在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GNU/Linux和Linux的區別在哪?

汽車電子技術 ? 來源:宅學部落 ? 作者: 王利濤 ? 2023-02-17 09:36 ? 次閱讀

GNU、GNU/Linux、Linux 之間到底是什么關系?什么是自由軟件?什么是GPL協議?什么是自由軟件基金會?什么是GNU恥辱榜?有多年開發經驗的Linux工程師,估計也沒怎么關注過這些問題。今天就以自由軟件發展的角度,給大家科普一下它們之間的關系。

1什么是Windows?

想了解他們之間的關系,從Windows說起估計比較容易理解。Windows操作系統,大家都很熟悉:當微軟發布OS新版本,你迫不及待地把它安裝到你的電腦上,開機重啟,你會發現,除了Windows操作系統,還有很多其它軟件:office軟件滿足你的日常辦公;Windows player可以聽歌看電影;使用Visual studio軟件,你可以開發桌面程序,發布自己的軟件。也就是說,Windows發布的操作系統,不僅僅是一個操作系統,而是一個操作系統生態:開發者可以在這個平臺上,使用微軟提供的編譯器工具、第三方開發工具,開發各種各樣的軟件:QQ、絕地求生、荒野行動、瀏覽器、網頁、論壇.....,人們在這個平臺上扮演著各種角色:使用者、開發者,一起維護和壯大這個生態。

2什么是GNU?

GNU是一個操作系統,GNU是 “GNU's Not Unix” 的遞歸縮寫 ,它的正確發音是:葛奴,而不是直接讀G-N-U 或 new。GNU操作系統是一個類似Windows的自由軟件操作系統,包括整個生態:操作系統內核、編譯器、調試器等開發工具、辦公軟件、桌面游戲等自由軟件。

3GNU工程與自由軟件

GNU工程發起于1984年,帶頭大哥是Richard Stallman, 就是寫了Emacs、GNU C編譯器、GNU C調試器的這位大名鼎鼎的黑客。GNU工程的目標是:構建一個類似Unix的操作系統,包括內核、編譯器、編輯器、電子表格、郵件軟件、圖形界面、應用庫、游戲軟件等?;蛘哒f,就是構建一個類似Windows生態的操作系統(當時Windows還沒問世),方便計算機用戶和開發者方便快樂地使用計算機。

GNU工程一個巨大的工程:開發一整套操作系統,包括內核、編譯器、調試器、開發工具、應用軟件等,絕非一個人或一個團隊所能完成的,因此在1985年10月,成了了自由軟件基金會(Free Software Foundation,FSF),它初期用來給GNU募集資金。

為什么要發起這個工程呢?很簡單,因為當時計算機上的幾乎所有軟件都是專有軟件(Proprietary software)。什么是專有軟件呢?就是使用、修改、分發受到限制的軟件,作者擁有這個軟件的版權,不開源,只發布編譯過的二進制版本的程序。一般商業公司比較支持專有軟件。但是,對于行業發展來說,這不是個好事情,技術分享,互相迭代開發,才能更好地促進軟件行業的成長。

與專有軟件對應的是自由軟件(free software),自由軟件可以不受限制地自由使用、復制、研究、修改和分發。對,沒有看錯,就是這么自由!它要求是公開源碼的,任何人都可以獲得這份代碼,可以修改,然后以其它版本再次發布、分發。這里需要注意的是,自由軟件不等于免費軟件(freeware),它也可以買賣,比如Linux操作系統光盤。這里的自由是權利問題,不是價格問題,自由軟件有四項基本自由:

  • 使用自由:可以免費獲取源碼、使用
  • 學習自由:有權利研究如何運作、實現
  • 修改自由:可以改進該軟件,發布改進
  • 發布自由:重新發布你修改的版本

GNU工程要求:GNU操作系統,包括內核在內的整套軟件,都必須是由自由軟件構成。

4GNU 與 GNU Linux

GNU工程的目標,是構建一個包括內核在內的操作系統生態。在早期,在自由軟件基金會的支持下,大多數自由軟件項目都是以完成某項具體工作為目標。比如,Donald Knuth編寫一個文本排版軟件(TeX);Bob Scheifler開發一個窗口系統(X Window);Richard Stallman 開發了C編譯器和調試器。 GNU工程也在開發一個操作系統內核,叫hurd,但是開發不是很順利,后來Linus Torvalds編寫一個類似Unix的內核(Linux) ,這樣,整個操作系統的組件就齊全了,GNU/Linux操作系統就發布了。

Linux僅僅是一個內核,你可以從官網上下載這份源碼;而GNU/Linux是一個操作系統,類似于Windows操作系統,包括Linux內核、編譯器、編輯器、桌面系統、應用程序等整個生態。

我們講過,GNU工程發布的GNU/Linux操作系統都是有自由軟件構成的,所以任何人都有修改、分發的權利。所以,你也會看到GNU操作系統的分發版本:GNU/hurd,這有點類似于Windows操作系統的win7、XP、win10版本。

通過GNU工程發布的軟件,一般會以GNU冠名。比如GCC,全名就是GNU Compiler Collection ,即GNU編譯器套件;如果你開發一個chess的象棋游戲,通過GNU發布,這個軟件就是:GNU Chess[官網];你編寫一個連連看小游戲,如果通過GNU發布,這個軟件名字就是:GNU 連連看。

5自由軟件基金會

自由軟件基金會(FSF),由Richard Stallman建立。成立的初衷就是為開發GNU操作系統募集資金,它是一個美國民間的非盈利組織。在早期,FSF的基金主要用來雇傭程序員來開發自由軟件。1990年以后,隨著寫自由軟件的公司和個人越來越多,各種版權、法律、結構上的問題也越來越多。所以,現在自由軟件基金的雇員和自愿者一般主要從事版權、法律相關的工作:比如GPL的施行,監督版權、GNU許可證等。當然,現在自由軟件基金會也會開展跟多的自由軟件項目,不僅僅是GNU工程,開發更多的自由軟件,完善自由軟件的理念。

6什么是GPL?

GPL即GNU GPL,全稱 GNU General Public License,翻譯成中文就是:GNU通用公共許可證,GPL協議是干嘛用的呢?這個還得從自由軟件說起。

通過上面的學習,我們知道,自由軟件是開源的、可以任意修改和發布的。正是這一特性,自由軟件再以一種不可思議的速度發展,自由軟件不僅為成千上萬的使用者、開發者提供了便利,也為很多商業軟件公司提供了方便。自由軟件是一座巨大的寶庫,很多商業軟件都是基于自由軟件的基礎上進行開發,節省了大量的人力、物力。有些自由軟件,甚至比商業軟件還好用,比如Linux、Git、ffmpeg、Libav、mplayer等。

按照自由軟件的規則,你免費獲取了自由軟件的源碼想,可以修改,可以發布。本著人人為我,我為人人的原則,你發布的軟件也必須開源,供其他人學習、使用、修改。GPL協議就是用來維護這個規則的:開放軟件的版權限制。你開發一個軟件,使用了別人使用GPL協議發布的源碼,那么,不好意思,你的軟件也必須通過GPL協議發布,全部開放源碼。

GPL這種自由開放的模式,對于技術分享、學習是個好事情,但是對于很多商業公司卻很頭疼。比如,一個公司,想基于自由軟件FFmpeg解碼庫,開發一個“迷你影音”播放器,但是又不想把自己開發的源碼、商業秘密分享出去,怎么辦?沒關系,除了GPL協議,還有其它協議,比如LGPL協議可以解決這個問題。

7什么是LGPL協議?

LGPL是 GNU Lesser General Public License (GNU 寬通用公共許可證)的縮寫。GPL協議要求你的源碼全部開放,這簡直要了商業公司的命。LGPL協議可以解決這個問題,LGPL協議跟GPL協議基本上一樣,只是縮小了你要公開源碼的范圍:縮小到動態鏈接庫。比如,你想基于FFmpeg這個庫開發一個影音播放器,如果你使用了基于GPL協議發布的FFmpeg解碼庫,不好意思,你要開放你的整個軟件源碼;如果你使用了基于LGPL協議發布的FFmpeg解碼庫,你在項目中,可以以庫的形式來使用FFmpeg,但如果你對這個解碼庫進行修改,必須再次以LGPL協議發布,這些FFmpeg源碼最后以庫的形式被應用在你的商業項目中。對于你軟件中的其它源碼,那是你的商業秘密,不用公開。

從上可以看到,無論是GPL,還是LGPL,都是自由軟件開發者和商業軟件開發者之間的一個博弈。如果所有的自由軟件都以GPL協議發布,那商業公司就用不了了,自由軟件的價值也大打折扣;而通過LGPL協議發布,一方面可以促進自由軟件的發展,另一方面,也可以和商業軟件共存。

8什么是GNU恥辱柱?

自由軟件是個巨大的寶庫,很多自由軟件甚至比商業軟件還優秀、還有用。這也吸引了大量的商業軟件公司,喜歡從這個巨大寶庫中,挑挑揀揀,找出自己喜歡的自由軟件,修修改改,加以包裝,就以商業軟件的形式出售盈利了。

無論是GPL協議,還是LGPL協議,雖然它制定了自由軟件的發布規則,但GNU畢竟是一個民間組織,跟那些商業巨頭、商業流氓相比,人微言輕,有時候打官司也打不過,沒辦法,只能使用阿Q精神精神勝利法:我奈何不了你,我要讓你上恥辱榜,公開羞辱你們,看你害燥不害燥!

比如自由軟件FFmpeg,很多播放器都是基于此進行二次開發,但是當作商業軟件使用,違反了自由軟件的協議。在FFmpeg官網上,有一個恥辱軟件榜,很多違反自由軟件協議的商業軟件都被列在了這里,包括韓國赫赫有名的播放器KMPlayer以及知名的一些播放器等,有興趣可以自己搜,很多軟件都被釘在了這個恥辱柱上。特定到官網上去看看,發現很多都被撤下來了,一直在待更新狀態....,但是在FFmpeg的GitHub上有備份:FFmpeg恥辱柱

除了GPL協議、LGPL協議,還有其它各種協議,比如Apache、BSD、Mozilla等,除此之外,還有各種開源軟件、共享軟件、綠色軟件、免費軟件等,大家如果有興趣,可以自己了解下。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209499
  • GNU
    GNU
    +關注

    關注

    0

    文章

    143

    瀏覽量

    17493
  • gpl
    gpl
    +關注

    關注

    0

    文章

    26

    瀏覽量

    2181
收藏 人收藏

    評論

    相關推薦

    Linux系統爭議——是Linux還是GNU/Linux?

    操作系統。在這類系統中,用于計算機資源分配和硬件管理的程序稱為“內核”。雖然GNU工程有官方內核程序Hurd,但是目前GNU系統所用的典型內核是Linux。因此就把這樣的組合叫做GNU
    發表于 06-12 17:17

    JTAG和SWD的區別在哪

    JTAG和SWD的區別在哪?USART和UART的區別在哪?
    發表于 10-08 09:01

    Linux與windows的區別在哪

    、與windows區別Linux不像windows有盤符的概念,只有一個根目錄概念,所有文件系統(硬盤、U盤、CDROM、網絡文件系統)都以一個子目錄掛根目錄下某一子目錄下。在Linux下,“一切皆文件”。...
    發表于 11-04 07:50

    sizeof和strlen函數的區別在哪

    野指針是指指針指向的位置是不可知的,主要成因是什么?sizeof和strlen函數的區別在哪?鏈表和數組的區別在哪?
    發表于 12-24 07:19

    單片機和Linux區別在哪

    單片機和Linux區別在哪呢?在硬件操作上單片機和Linux是類似的嗎?
    發表于 01-19 06:04

    單片機和Linux區別在哪

    第1章 單片機和Linux區別1.1.有哪些產品使用單片機或Linux?所有的電子產品,所用技術都可以認為要么是單片機,要么是Linux;GUI方面主要是QT/Android,它們都
    發表于 01-26 06:00

    LINUX使用教程-chm

    GNU通用公共許可證Linux安裝的幾點經驗linux文件系統Linux系統安裝前的準備工作Linux與其他操作系統的
    發表于 01-18 09:54 ?349次下載
    <b class='flag-5'>LINUX</b>使用教程-chm

    RTK和GPS定位的區別在哪里?

    RTK和GPS定位的區別在哪里?
    發表于 05-08 10:08 ?76次下載

    嵌入式linux和桌面linux區別

    嵌入式linux和桌面linux區別主要區別是:1. 硬件平臺:嵌入式Linux一般是Mips, ARM平臺, 桌面
    發表于 10-20 15:36 ?4次下載
    嵌入式<b class='flag-5'>linux</b>和桌面<b class='flag-5'>linux</b>的<b class='flag-5'>區別</b>

    【嵌入式Linux(基礎篇)】從標準Linux到嵌入式Linux + 嵌入式Linux知識架構

    主要介紹了GNU/Linux的誕生,標準Linux是如何應用在嵌入式系統中的,最后講述了嵌入式Linux知識架構。
    發表于 11-02 09:51 ?34次下載
    【嵌入式<b class='flag-5'>Linux</b>(基礎篇)】從標準<b class='flag-5'>Linux</b>到嵌入式<b class='flag-5'>Linux</b> + 嵌入式<b class='flag-5'>Linux</b>知識架構

    串口屏和并口屏的區別在哪

    串口屏還是并口屏好用?區別在哪里?
    的頭像 發表于 01-23 09:53 ?9862次閱讀

    unix和linux區別在哪

    雖然Linux的主導地位可能會讓我們忽略Linux與這些操作系統的不同,但我們還是應該有一定的了解。在本文中,我將列出一些比較明顯的差異。
    發表于 01-29 11:56 ?641次閱讀

    揭秘GNU/Linux:為什么幾乎沒人敢這么稱呼它?

    你對Linux感興趣并讀了一些博文。在其中,你遇到了一個有趣的名字:GNU/Linux。這些字母代表著什么意思,為什么人們總是將它們與Linux聯系在一起呢?
    發表于 06-06 14:18 ?441次閱讀
    揭秘<b class='flag-5'>GNU</b>/<b class='flag-5'>Linux</b>:為什么幾乎沒人敢這么稱呼它?

    什么是 GNU/Linux?

    Linus本人曾經爭辯說,將Linux稱為GNU/Linux簡直是荒謬的。
    發表于 06-13 09:14 ?4013次閱讀
    什么是 <b class='flag-5'>GNU</b>/<b class='flag-5'>Linux</b>?

    梯形絲桿和滾珠絲桿的區別在哪里?

    梯形絲桿和滾珠絲桿的區別在哪里?
    的頭像 發表于 03-28 17:48 ?2414次閱讀
    梯形絲桿和滾珠絲桿的<b class='flag-5'>區別在哪</b>里?
    主站蜘蛛池模板: 韩国午夜影院| 日本一二线不卡在线观看| 夜夜操夜夜爱| 2021久久精品免费观看| 高清一区二区三区四区五区| 欧美日韩国产另类一区二区三区| 六月丁香婷婷激情国产| 天天搞夜夜操| 同性恋激情视频| 亚洲产国偷v产偷v自拍色戒| 四虎永久精品免费网址大全| 免费色在线| 91老色批网站免费看| 1024手机免费看| 特别毛片| 午夜剧场刺激性爽免费视频| 69日本xxⅹxxxxx19| 三级电影天堂网| 国产欧美色图| 99久久久精品免费观看国产| 天堂视频在线| 狠狠色婷婷| 奇米奇米| 亚洲先锋资源| 色综合天天综合网国产国产人| 伊人色综合久久天天爱| 26uuu另类亚洲欧美日本一| 四虎永久免费影院在线| 午夜高清视频| 娇妻被黑人蹂躏| 欧美性狂猛xxxxxbbbbb| 亚洲永久免费视频| 男生脱美女内裤内衣动态图| 国模在线视频| 精品影视网站入口| 添人人躁日日躁夜夜躁夜夜揉| 午夜视频在线观看网站| 久久人人青草97香蕉| 五月综合激情久久婷婷| 亚洲理论片在线观看| 正在播放一区二区|