⑴ 自由軟體的許可證
GNU通用公共許可證
使用者必須接受軟體的『軟體授權』,才能使用該軟體,而在自由軟體中,最常見的授權方式就是GPL- GNU General Public License 了。
因為使用者是免費取得了自由軟體的源代碼,那麼如果使用者修改了它的源代碼,基於公平互惠的原則,使用者也必須公開其修改的成果。而這就是 GPL 的精神 - 自由、分享、互惠。 BSD license(BSD許可證)是Berkeley Software Distribution license 的首字母縮寫,是自由軟體(開源軟體的一個子集)中使用使用最廣泛的許可證之一。BSD軟體就是遵照這個許可證來發布,該許可證也因此而得名。
BSD套件最初所有者是加州大學的董事會,這是由於BSD源自伯克利加州大學。BSD開始後,BSD許可證得以修正,使得以後許多BSD變種,都採用類似風格的許可證。
跟其他許可證相比,從GNU通用公共許可證到限制重重的版權所有,BSD許可證比較寬松,甚至跟公有領域更為接近。事實上,BSD許可證被認為是center,介乎right(版權)所有與left(GPL的「反版權」)之間。Take it down to the center and make as many copies as you want。
⑵ 什麼是非自由軟體
除了自由軟體之外的都是非自由軟體,有些是收費的,比如你熟悉的Windows;有些是免費的,比如我日常用的開發Web應用的活字格。
「自由軟體」尊重用戶的自由,並且尊重整個社區。粗略來講,一個軟體如果是自由軟體,這意味著用戶可以自由地運行,拷貝,分發,學習,修改並改進該軟體。因此,「自由軟體」是關乎自由的問題,與價格無關,軟體如何定價並不影響它是否被歸類為自由軟體。英文中,我們使用Free Software。由於Free一詞既有自由,也有免費的意思。而Free Software中的Free是指「自由言論」中的自由,而非「免費」這一意項。為避免歧義,在使用英文時,我們也會借用法語或西班牙語的「Libre Software」來指自由軟體。
我們支持軟體用戶的自由,因為我們堅信這是每個用戶應得的。有了這些自由,軟體用戶,無論是個人還是集體,都可以掌控所運行的軟體,並決定這些程序如何為自己服務。如果一個軟體令用戶失去了這種控制權,我們則稱它為「非自由」的,或「專有」的程序。與自由軟體相反,非自由軟體會操控它的用戶,而軟體的開發者則掌控著軟體。這使得非自由軟體成為了非正義力量的幫凶。
四項基本自由
如果一個軟體是自由軟體,那麼它必須為用戶提供以下四項基本自由:[1]
自由度0:無論用戶出於何種目的,必須可以按照用戶意願,自由地運行該軟體。
自由度1:用戶可以自由地學習並修改該軟體,以此來幫助用戶完成用戶自己的計算。作為前提,用戶必須可以訪問到該軟體的源代碼。
自由度2:用戶可以自由地分發該軟體的拷貝,這樣就可以助人。
自由度3:用戶可以自由地分發該軟體修改後的拷貝。藉此,用戶可以把改進後的軟體分享給整個社區令他人也從中受益。作為前提,用戶必須可以訪問到該軟體的源代碼。
一個軟體只有提供了以上所有的自由給它的用戶,才可以被成為自由軟體。否則,它就是非自由的。盡管我們也可以比較非自由軟體為其用戶提供的自由度,但是我們認為,無論如何,非自由軟體本身是不道德的。
無論在哪種情況下,只有所有用戶使用的代碼都滿足了這四項基本自由,該程序才能被視作自由軟體。例如,有兩個程序,甲程序運行的時候會自動調用乙程序。發布甲程序意味著用戶必須使用到乙程序,那麼必須甲乙兩個程序都是自由的,甲程序才是自由的。如果通過修改甲程序,使其不再依賴乙程序,那麼僅僅以自由軟體的形式發布甲程序即可。
「自由軟體」不等於「非商業軟體」。一個自由軟體必須允許商業用戶,商業開發,和商業發布。商業開發自由軟體早就司空見慣了,這樣的自由軟體非常重要。你可能需要花錢購買自由軟體的拷貝,也可能免費拿到。但是無論你如何獲得你的拷貝,作為用戶,你的四大自由都會被保證,你可以自由地運行,修改,發布甚至出售你拿到的自由軟體。
本文著重介紹在哪些情況下,軟體會被認為提供了或剝奪了某個自由度。
自由度0:無論用戶出於何種目的,必須可以按照用戶意願自由地運行該軟體。
「自由地運行程序」(自由度0)意味著任何人或組織可以在任何(支持的)計算機系統上,出於任何目的去運行該程序,並且沒有義務通知軟體的開發者或任何個人或團體。此處,用戶的目的是重點,而非開發者的目的。如果你是該程序的用戶,那麼你就可以自由地運行該程序。同理,如果你把程序發布給別人,那麼此人也成了軟體的用戶,他也可以出於自己的任何目的運行該軟體。然而,你作為軟體的發布者,不可將自己的目的強加於你的用戶。
「自由地運行程序」意味著沒有人可以阻止用戶使用該程序做任何事情。它並沒有規定該程序必須提供哪些功能特性,也並不意味著軟體必須迎合用戶的所有需求。
學習和更改程序源代碼的自由
自由度1和3(自由地修改軟體;自由地發布修改後的軟體)意味著用戶必須有權訪問程序的源代碼。由此,訪問源代碼是成為自由軟體的必要條件。混編(Obfuscated)後的「源代碼」不能被算作此處討論的源代碼。
自由度1(自由地運行程序)包括自由地運行自己修改後的程序以替代原版程序。如果程序是跑在某種設備上,該設備可以運行別人修改的軟體但不運行你修改的軟體—這個方法叫做「tivoization」或者 「鎖死」,或者(用其發明者的術語)叫做「安全啟動」—自由度1將被視為無法滿足。該設備中的程序也將不被視為自由軟體,即使它們的源代碼是自由的。
倘若要修改某個程序,一種很重要的方法就是從別的程序中拿來現成的函數,或模塊來使用。如果某個程序的許可證中禁止你使用其他合理授權的軟體的代碼來修改該程序—比如,如果某個程序的許可證要求你只能使用你擁有版權的代碼—那麼這個程序的許可證將不被視為自由軟體許可證。
對軟體的修改可能是出於各種目的。某個特定的修改究竟是好是壞,這本身是個非常主觀的事情。自由軟體許可證不能對用戶修改軟體做任何限制,例如,不能僅僅因為某人覺得哪處修改不夠好,就禁止用戶自己做這個改動。
自由度2:用戶可以自由地分發該軟體的拷貝。
自由分發(自由度2和3)意味著你(即,軟體用戶)可以把軟體原版或修改版再發布給其他用戶。你可以免費發布,也可以收取費用。軟體可以發布給任何地方的任何人。所謂「自由」,意味著你的這些行為(發布軟體原版或修改版給其他用戶;或其他自由度中提及的行為)不必事先徵得任何人的許可,也不必為此額外支付任何費用。
用戶可以自由地運行該程序或對程序進行修改。如果僅僅私下自己修改或運行該程序,那麼你沒有義務將該行為公開給任何人。如果你發布了自己修改後的程序,那麼你也沒有任何義務將該修改行為告知給哪個或哪些指定的人或組織。
自由度3允許用戶自由地發布軟體的修改版。自由軟體不一定要求修改版必須繼續採用自由軟體許可證。換句話說,自由軟體許可證可以不必是left許可證。但是,如果一個軟體許可證要求修改後的軟體必須以非自由軟體的形式發布,那麼該許可證則不被視為自由軟體許可證。
「自由地分發軟體的拷貝」意味著必須允許用戶自由地發布軟體的原版或用戶自己的修改版。無論那個版本,用戶都可以選擇發布程序的二進制或可執行文件,也可以發布程序的源代碼。(以可執行文件的形式發布程序可以讓人方便安裝,這一點對於推廣自由軟體也至關重要。)對於某些程序,也許無法或者不必發布二進制或可執行文件(一些編程語言的實現可能並不支持,例如某些腳本語言),但是用戶必須有權利以任何方式生成二進制或可執行文件,並且發布這些生成的軟體。
Copyleft
當然,只要不違背這些核心自由,自由軟體許可證也可以額外添加一些要求,限制軟體的分發步驟。例如,left就是常見的一種限制。簡言之,left要求軟體的修改版必須同樣以自由軟體的形式發布。這條限制與核心自由並不沖突,相反,left可以用來很好地保護軟體用戶的自由。
在GNU項目中,我們使用left這一規則來保護軟體用戶的四大自由。我們相信Copyleft是更好的選擇。然而,非left的自由軟體也同樣是合乎道義的。參見自由軟體分類來了解更多關於「自由軟體」、「left軟體」以及其他分類和它們之間的關系。
打包和發行的詳細規則
自由軟體可以對修改版的打包或分發方式做一定的限制。這些限制不得與前面提到的四大自由相矛盾,不得直接或間接地限制用戶運行,修改或發布軟體。例如,某些自由軟體可以要求修改版不得使用軟體的原有名字發布;不能使用軟體的原有商標;必須標明軟體來自誰的修改等等。只要這些限制不會明顯地限制用戶再發布軟體的修改版,那麼它們就是可以接受的。既然已經對軟體修改了,那麼你估計也就不會在乎針對這些額外的小限制再做一點修改了。
同理,自由軟體也可以要求用戶「如果以這種方式發布,那麼用戶必須也可以從另外某一渠道獲得」。比如,某個自由軟體可能會要求如果發布了修改版,那麼必須也要給原作者一份修改後的拷貝。(注意:此處前提是軟體必須發布,用戶可以私下修改軟體而不發布,這樣也就不必把修改版發給開發者了。)另外還有一些規則也不會與自由軟體原則沖突,比如軟體可以要求修改後的版本發布時需要附帶相應的原版軟體的代碼。
有一些特例需要額外討論:如果某軟體許可證要求修改後的軟體必須修改可執行文件的名字,那麼必須保證軟體運行的環境允許修改文件名或具備某種別名機制,否則該要求將被視作與自由軟體原則相背。因為軟體的可執行文件可能會被其他第三方軟體調用,而文件名則是這種調用的基礎。別名機制可以保證用戶在遵守該要求的前提下,順利將原版軟體替換成修改版,並且不會影響依賴該軟體的第三方程序。
出口條例
一些政府的出口限制或貿易制裁可能會影響到軟體用戶在國際范圍內發布軟體的自由。軟體開發者也許沒有能力去改變這些現實,但是我們可以拒絕自我審查。自由軟體的開發者不得在軟體許可證中要求用戶遵守哪條特定法律,因為開發者無法保證用戶所在國度或地區具備該法律條款。這樣,自由軟體許可證就不會給用戶在法律之外添加額外的違反基本自由的限制。
當然,自由軟體可以僅僅在許可證中提及某條出口條例或相關法律,而不強制要求用戶遵守。這樣做只是為用戶提供了信息而沒有實際限制用戶。如果某條出口限製法律是普遍存在,全部用戶所在的地區都做出該限制的,那麼在許可證中要求用戶遵守該條例也不會被視為限制用戶的自由。然而,這會存在潛在問題:一旦該條出口限製法律在某個用戶的所在地區做了修改,那麼該許可證也就不被視作自由的。
法律考慮
要落實這些自由度,就應該保證:如果用戶遵守許可證上的要求,那麼這些自由度就必須是長久的,不可更改的。如果軟體的開發者有權利隨意修改已發布軟體的許可證,那麼該軟體也不被視為自由軟體。
自由軟體許可證不得要求用戶額外遵守哪些非自由軟體的許可證。例如,自由軟體許可證不得要求用戶必須遵守「所有使用的軟體的許可證」。因為用戶可能使用非自由軟體,而要求用戶遵守全部使用的軟體的許可證則意味著需要遵守非自由軟體許可證,這要的要求將被視作非自由的。
自由軟體許可證可以指定與軟體相關的訴訟需要遵守哪個地區的法律,或需要在哪裡提起訴訟。
基於合同的許可證
絕大部分自由軟體許可證是基於版權的。基於版權,能採取的限制往往相對有限。如果一個許可證基於版權並且遵照上述的自由軟體原則,那麼它很可能被視作是自由軟體許可證。當然,我們也見過一些例外,不過這些還很少見。然而有些自由軟體許可證是基於合同的。合同可能會有更多的額外要求。這就意味著基於合同的許可證可能會在很多不經意的地方違背自由軟體原則,導致軟體不被視作自由軟體。
很遺憾,我們無法列出所有可能的意外情況。如果一份基於合同的許可證對用戶做出了一些額外限制,並且這些限制是不可能包含在一份基於版權的許可證中的,那麼我們就需要再三考慮它是否可以被視作自由許可證。很多情況下,這些許可證都是非自由的。
在談論自由軟體時使用正確的詞彙
在討論自由軟體的時候,盡量避免使用「贈送」或「免費」一類的詞彙。因為這會讓人們聯想到價格,而非自由。一些常見的詞彙,例如「盜版」,其中包含了或褒或貶的感情色彩,而這些感情體現的價值觀並不被我們接受。參見歧義詞彙列表,裡面列舉了我們不推薦使用的詞彙以及相關的討論。我們還有一個列表,包含了「自由軟體」一詞在不同語言中的推薦翻譯。
我們如何詮釋這些標准
最後請注意,在實踐中,本文中提及的各種關於自由軟體的界定標准都需要仔細思考後再做出解釋。在決定一個軟體許可證是否是自由軟體的時候,我們會仔細查看該許可證的內涵和行文是否符合本文中涉及的原則,由此決定許可證是否為自由軟體許可證。如果許可證中包含了一些不合理的限制,哪怕這些限制沒有在本文中提及,我們也會拒絕承認它是自由的。有時候,某個許可證可能會引起一場大討論,甚至需要專業律師參與。這時候,我們往往需要仔細定奪之後才能給出結論。遇到這樣的許可證,在做出結論之後,我們很可能會更新本文,把之前沒有考慮到的因素添加進來。
獲得關於自由許可證的幫助
如果你想知道哪些許可證是自由軟體許可證,可以參見我們的許可證列表。如果你關注的許可證沒有在這個列表中提及,你也可以給我們發郵件來單獨詢問。我們的郵箱是:<[email protected]>。
如果你打算起草一份新的自由軟體許可證,那麼請先不要給上述郵箱發郵件。希望您能先考慮聯系自由軟體基金會。太多的自由軟體許可證會增加用戶的選擇難度,我們也許可以按照您的要求,幫您找到一份現有的許可證,而不必您親自操刀起草一份新許可證。
如果您真的需要自己創造一個新許可證,那麼我們會盡力幫助您。在我們的幫助下,我們會保證您的許可證是自由的,並且幫助您避免一些常見的問題。
軟體之外
基於同樣的原則,自由軟體的手冊也必須是自由的,因為手冊本身也應該被視作軟體的一部分。
同理,相同的原則也適用於其他的具有實用功能的作品中 — 所謂實用功能的作品,是指作品中包含實用的知識,例如教育材料或參考材料。維基網路就是其中一個廣為人知的例子。
任何作品都可以是自由的,自由軟體的定義也可以延伸到其他作品上。關於這方面的材料,請參見自由文化作品。
開源?
現在還有另外一夥人,使用「開源」一詞來表達與「自由軟體」類似,但不完全相同的概念。我們更傾向於使用「自由軟體」這個詞。因為一旦你看到自由二字,就明白了它所要表達的意思。而「開放」卻並不意味著自由。
⑶ 「自由軟體允許用戶隨意拷貝,修改其源碼,但不允許銷售。」這題哪裡錯了
可以允許銷售的,可參考自由軟體定義:「根據自由軟體基金會的定義,是一種可以不受限制地自由使用、復制、研究、修改和分發的軟體。」
源代碼未編譯的按照一定的程序設計語言規范書寫的文本文件,一系列人類可讀的計算機語言指令。
在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
(3)自由軟體遵循非版權原則擴展閱讀:
對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分不會在生成的程序中直接顯示,也不參與編譯。
但是注釋代碼對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。
⑷ 請問linux是如何產生和其發展的過程
一、簡單的說: 一個名叫Linus Torvalds 的芬蘭大學生想要了解Intel的新CPU386。他認為比較好的學習方法是自己編寫一個操作系統的內核。出於這種目的,加上他對當時Unix 變種版本(即Minix)對於80386類機器的脆弱支持十分不滿,他決定要開發出一個全功能的、支持POSIX標準的、類Unix的操作系統內核,該系統吸收了BSD和System V的優點,同時摒棄了它們的缺點。Linus獨立把這個內核開發到0.02 版,這個版本已經可以運行gcc、bash 和很少的一些應用程序。這些就是他開始的全部工作了。後來,他又開始在網際網路上尋求廣泛的幫助。
二、具體的分析: Linux 操作系統的誕生、發展和成長過程依賴於以下五個重要支柱:
UNIX 操作系統、 MINIX操作系統、 GNU 計劃、 POSIX 標准 、 Internet 網路。
UNIX操作系統
Linux 操作系統是UNIX 操作系統的一個克隆版本。UNIX 操作系統是美國貝爾實驗室的Ken.Thompson和Dennis Ritchie 於1969 年夏在DEC PDP-7 小型計算機上開發的一個分時操作系統。Ken Thompson 為了能在閑置不用的PDP-7 計算機上運行他非常喜歡的星際旅行(Space travel)游戲,於是在1969 年夏天乘他夫人回家鄉加利福尼亞渡假期間,在一個月內開發出了UNIX 操作系統的原型。當時使用的是BCPL 語言(基本組合編程語言),後經Dennis Ritchie 於1972 年用移植性很強的C語言進行了改寫,使得UNIX 系統在大專院校得到了推廣。
MINIX操作系統
MINIX 系統是由Andrew S. Tanenbaum(AST)開發的。AST 是在荷蘭Amsterdam 的Vrije 大學數學與計算機科學系統工作,是ACM 和IEEE 的資深會員(全世界也只有很少人是兩會的資深會員)。MINIX 是他1987 年編制的,主要用於學生學習操作系統原理。到1991 年時版本是1.5。目前主要有兩個版本在使用:1.5 版和2.0 版。當然目前MINIX 系統已經是免費的,可以從許多FTP 上下載。
對於Linux 系統,他後來曾表示對其開發者Linus的稱贊。但他認為Linux的發展很大原因是由於他為了保持MINIX 的小型化,能讓學生在一個學期內就能學完,因而沒有接納全世界許多人對MINIX的擴展要求。因此在這樣的前提下激發了Linus 編寫Linux 系統。當然Linus 也正好抓住了這個好時機。
作為一個操作系統,MINIX 並不是優秀者,但它同時提供了用C 語言和匯編語言編寫的系統源代碼。這是第一次使得有抱負的程序員或hacker 能夠閱讀操作系統的源代碼。在當時,這種源代碼是軟體商們一直小心守護著的秘密。
GNU計劃
軟體產業在70年代成就了兩位針鋒相對的領袖人物,來自哈佛大學的比爾·蓋茨和Richard M.Stallman。前者宣布了Copyright(版權)時代的到來,並構建了微軟帝國的輝煌;後者於1984年創立自由軟體體系GNU,擬定普遍公用版權協議(GeneralPublicLicense,簡稱GPL),今天Linux的成功就得益於GPL協議。
所有GPL協議下的自由軟體都遵循著Richard M. Stallman的"Copyleft"(非版權)原則:即自由軟體允許用戶自由拷貝、修改和銷售,但是對其源代碼的任何修改都必須向所有用戶公開。
GNU 計劃和自由軟體基金會FSF(the Free Software Foundation)是由Richard M. Stallman 於1984 年一手創辦的。旨在開發一個類似UNIX 並且是自由軟體的完整操作系統:GNU 系統(GNU 是"GNU's Not Unix"的遞歸縮寫,它的發音為"guh-NEW")。
各種使用Linux 作為核心的GNU 操作系統正在被廣泛的使用。雖然這些系統通常被稱作"Linux",但是Stallman 認為,嚴格地說,它們應該被稱為GNU/Linux系統。
到上世紀90 年代初,GNU 項目已經開發出許多高質量的免費軟體,其中包括有名的emacs 編輯系統、bash shell 程序、gcc 系列編譯程序、gdb 調試程序等等。這些軟體為Linux 操作系統的開發創造了一個合適的環境。這是Linux 能夠誕生的基礎之一,以至於目前許多人都將Linux 操作系統稱為「GNU/Linux」操作系統。
POSIX標准
POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 開發的一簇標准。該標準是基於現有的UNIX 實踐和經驗,描述了操作系統的調用服務介面。用於保證編制的應用程序可以在源代碼一級上在多種操作系統上移植和運行。它是在1980 年早期一個UNIX 用戶組(usr/group)的早期工作基礎上取得的。該UNIX 用戶組原來試圖將AT&T 的System V 操作系統和BerkeleyCSRG 的BSD 操作系統的調用介面之間的區別重新調和集成。並於1984 年定製出了/usr/group 標准。
關於POSIX標準的制定過程:略。
在90 年代初,POSIX 標準的制定正處在最後投票敲定的時候,那是1991-1993 年間。此時正是Linux剛剛起步的時候,這個UNIX 標准為Linux 提供了極為重要的信息,使得Linux 能夠在標準的指導下進行開發,並能夠與絕大多數UNIX 操作系統兼容。在最初的Linux 內核源代碼中(0.01 版、0.11 版)就已經為Linux 系統與POSIX 標準的兼容做好了准備工作。在Linux 0.01 版內核的/include/unistd.h 文件中就已經定義了幾個有關POSXI 標准要求的符號常數,而且Linus 在注釋中已寫道:「OK,這也許是個玩笑,但我正在著手研究它呢」。
可參考下《Linux就該這么學》了解更詳細的Linux知識。
⑸ 用自由軟體生產的作品有版權么
什麼作品了,用別人字體都是有版權的
登記一個著作權也不貴300元一件。將來找工作也是能力證明。想保證出證嫌麻煩怕出問題也是可以找代理的600元如果要自己登記或找代理,可以到網路空間看下有詳細教程如果有什麼不明白可以追問,如果滿意記得採納如果有其他問題請採納本題後另發點擊向我求助,答題不易,請諒解,謝謝專業代理知識產權
⑹ Freeware和shareware使用說明
Shareware(共享軟體)共享軟體允許用戶重新發布該軟體,但是任何人想繼續使用它需要支付一筆許可費用,通常是由個人開發的,一般沒有支持且沒有公開的源碼,它希望得到使用者的資助。對於大多數共享軟體,它不提供源代碼, 共享軟體不允許在不支付許可費的情況下進行拷貝和安裝,即使個人出於非盈利性目的。共享軟體的實質就是一種銷售方式,是一種先嘗後買的方式,也有不收取注冊費的共享軟體,但是這種共享軟體的實用性、可靠性和安全性都是值得推敲的,共享軟體跟傳統上商業軟體的區別就在於,前者是先用後付款,而後者是先付後用。
freeware(免費軟體)"freeware"這個術語並沒有清晰的定義,但是它通常使用於那些允許重新發布,但不允許修改的軟體包(他們不提供源代碼)。這些包不是自由軟體。
Free Software(自由軟體)自由軟體是指允許任何人使用、拷貝、修改、分發(免費或者少許費用)的軟體。特別是這種軟體的源代碼必須公開。從某種意義上說,"如果沒有公布源代碼,就不能稱之為自由軟體。「自由」實際上指的是使用上的自由、獲得源程序的自由、修改的自由、復制和推廣的自由。所有的自由軟體都遵循「Copyleft」(版權留左)原則,可以拷貝、修改、重新發布,源代碼的修改和改進公開。
更多信息,請參見 http://www.fsf.org/
⑺ 關於Linux的問題
簡單的說,Linux是Unix克隆(Unix clone)或Unix風格(Unix alike)的操作系統(OS),在原代碼級上兼容絕大部分Unix標准(指的是IEEE POSIX,System V,BSD),是一個支持多用戶, 多進程,多線程,實時性較好的功能 強大而穩定的操作系統.它可以運行x86PC,Sun Sparc,Digital Alpha,680x0,PowerPC, MIPS等平台上,可 以說Linux是目前運行硬體平台最多的操作系統. Linux最大的特點在於它是GNU(Gnu's Not Unix----有點分形與混沌的意味----無限自包含,簡單的說GNU是一種自由軟體體系)的一員,遵循公共版權許可證(GPL),秉承 "自由的思想,開放的源碼"的原則,成千上萬的專家/愛好者通過Internet在不斷地完善並維護它,可以說Linux是計算機愛好者自己的操作系統. 追述Linux的歷史直到1990年,Linus Torvalds還是芬蘭赫爾辛基大學的一名學生,最初是用匯編語言寫了一個在80386保護模式下處理多任務切換的程序,後來從Minix(Andy Tanenbaum教授所寫的很小的Unix操作系統,主要用於操作系統教學)得到靈感,進一步產生了自認為狂妄的想法----寫一個比Minix更好的Minix,於是開始寫了一些硬體的設備驅動程序,一個小的文件系統,......,這樣0.0.1版本的Linux就出來了,但是它只具有操作系統內核的勉強的雛形,甚至不能運行,你必須在有Minix的機器上編譯以後才能玩.這時候 Linus已經完全著迷而不想停止,決定踢開Minix,於是在1991年10 月5號發布Linux 0.0.2版本,在這個版本中已經可以運行bash(the GNU Bourne Again Shell----一種用戶與操作系統內核通訊的軟體)和gcc(GNU C 編譯器).從一開始,Linus就決定自由擴散Linux,包括原代碼,他在comp.os.minix新聞討論組里發布Linux 0.0.2時寫到:
"Do you pine for nice days of Minix-1.1, when mem were men and wrote their own device drivers? Are you without a niceproject and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrsting when everything works on Minix? No more all-nighters to get a nifty program working? Then this post might be just for you.
"As I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable(though may not be depending on what you want),and I am willing to put out the sources for wider distribution. It is just version 0.0.2 ... but I've successfully run bash,gcc,gnu-make,gnu-sed,compress,etc.under it."
隨即Linux引起黑客們(hacker)的注意,通過計算機網路加入了Linux的內核開發,Linux傾向於成為一個黑客的系統----直到今天,在Linux社區里內核的開發被認為是真正的編程.由於一批高水平黑客的加入,使Linux發展迅猛,到1993年底94年初,Linux 1.0終於誕生了! Linux 1.0已經是一個功能完備的操作系統,而且內核寫得緊湊高效,可以充分發揮硬體的性能,在4M內存的80386機器上也表現得非常好,至今人們還在津津樂道於此,不過自從2.1.xx系列的內核Linux開始走高端的路子----硬體的發展太快了,但是Linux不會失去它的本色.Linux具有良好的兼容性和可移植性,大約在1.3版本之後,開始向其他硬體平台上移植,包括弧稱最快的CPU---Digital Alpha(至少目前主頻是最高的).所以不要總把Linux與低檔硬體平台聯系 到一塊,Linux發展到今天,這是一個誤區,它只是將硬體的性能充分發揮 出來而已,Linux必將從低端應用橫掃到高端應用!
在Linux的發展歷程上還有一件重要的事:Linux加入GNU並遵循公共版權許可證(GPL).此舉大大加強了GNU和Linux,幾乎所有應用的GNU庫/軟體都移植到Linux,完善並提高了Linux的實用性,而GNU有了一個根基,我現在也搞不清楚到底是GNU Linux呢還是基於Linux的GNU. :-) 更重要的是遵循公共版權許可證,在繼承自由軟體的精神的前提下,不再排斥對自由軟體的商業行為(如把自由軟體打包以光碟形式出售),不排斥商家對自由軟體進一步開發,不排斥在Linux上開發商業軟體.從此Linux又開始了一次飛躍,出現了很多的Linux發行版 ,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多種,而且 還在增加,注意你不能說"Redhat Linux""Suse Linux""Slackware Linux"等等,Linux主要指操作系統內核,對所有發行版內核原代碼都是一樣的(但集成的內核版本可能因發行時間不同而有所不同). 還有一些公司在Linux上開發商業軟體或把其他Unix平台的軟體移植到Linux上來,如今很多IT業界的大腕如IBM,Intel,Oracle,Infomix,Sysbase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的加盟彌補了純自由軟體的不足和發展障礙,Linux迅速普及到廣大計算機愛好者,並且進入商業應用,正是打破某些公司壟斷文化圈的希望所在!!
Linux是愛好者們通過Internet協同開發出來的,當然它的網路功能十分強大,比如你可以通過ftp,nfs等來安裝Linux,用它來做網關等等.隨著Linux的發展衍生出來的應用恐怕出乎Linus本人最初的預料,如有人用它來做路由器,有人來做嵌入式系統,有人來做實時性系統. .....常有新手問Linux能做什麼,其實它不象那些中看不中用的操作系統,不在於你用它能幹什麼,而在於你想干什麼! Linux的興起還給人們很多啟迪與思考,如集市式軟體開發的討論, 又如自由軟體的精神......
請參考,希望能幫到你。
⑻ Linux是啥意思
Linnux是一種操作系統,就像windows是一樣的,屬於unix系統的一個分支,是一種完全免費的操作系統。
⑼ 自由軟體協議包括哪些
下面的正文是自由軟體基金會GNU通用公共許可證原始文檔的副本。Linux操作系統以及與它有關的大量軟體是在GPL的推動下開發和發布的。
你將看到:如果你打算為了發布的目的修改,更新或改進任何受通用公共許可證約束的軟體,你所修改的軟體軟體同樣必須受到GNU通用許可證條款的約束。
GNU通用公共許可證
1991.6 第二版
版權所有(C)1989,1991 Free Software foundation, Inc.
675 Mass Ave, Cambridge, MA02139, USA
允許每個人復制和發布這一許可證原始文檔的副本,但絕對不允許對它進行任何修改。
序言
大多數軟體許可證決意剝奪你的共享和修改軟體的自由。對比之下,GNU通用公共許可證力圖保證你的共享和修改自由軟體的自由。——保證自由軟體對所有用戶是自由的。GPL適用於大多數自由軟體基金會的軟體,以及由使用這些軟體而承擔義務的作者所開發的軟體。(自由軟體基金會的其他一些軟體受GNU庫通用許可證的保護)。你也可以將它用到你的程序中。當我們談到自由軟體(free software)時,我們指的是自由而不是價格。我們的GNU通用公共許可證決意保證你有發布自由軟體的自由(如果你願意,你可以對此項服務收取一定的費用);保證你能收到源程序或者在你需要時能得到它;保證你能修改軟體或將它的一部分用於新的自由軟體;而且還保證你知道你能做這些事情。為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟體或者發布了軟體的副本,這些規定就轉化為你的責任。
例如,如果你發布這樣一個程序的副本,不管是收費的還是免費的,你必須將你具有的一切權利給予你的接受者;你必須保證他們能收到或得到源程序;並且將這些條款給他們看,使他們知道他們有這樣的權利。
我們採取兩項措施來保護你的權利。
(1)給軟體以版權保護。
(2)給你提供許可證。它給你復制,發布和修改這些軟體的法律許可。
同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟體沒有擔保(no warranty)。如果由於其他某個人修改了軟體,並繼續加以傳播。我們需要它的接受者明白:他們所得到的並不是原來的自由軟體。由其他人引入的任何問題,不應損害原作者的聲譽。
最後,任何自由軟體不斷受到軟體專利的威脅。我們希望避免這樣的風險,自由軟體的再發布者以個人名義獲得專利許可證。事實上,將軟體變為私有。為防止這一點,我們必須明確:任何專利必須以允許每個人自由使用為前提,否則就不準許有專利。
下面是有關復制,發布和修改的確切的條款和條件。
GNU通用公共許可證
有關復制,發布和修改的條款和條件
0. 此許可證適用於任何包含版權所有者聲明的程序和其他作品,版權所有者在聲明中明確說明程序和作品可以在GPL條款的約束下發布。下面提到的「程序」指的是任何這樣的程序或作品。而「基於程序的作品」指的是程序或者任何受版權法約束的衍生作品。也就是說包含程序或程序的一部分的作品。可以是原封不動的,或經過修改的和/或翻譯成其他語言的(程序)。在下文中,翻譯包含在修改的條款中。每個許可證接受人(licensee)用你來稱呼。
許可證條款不適用於復制,發布和修改以外的活動。這些活動超出這些條款的范圍。運行程序的活動不受條款的限止。僅當程序的輸出構成基於程序作品的內容時,這一條款才適用(如果只運行程序就無關)。是否普遍適用取決於程序具體用來做什麼。
1. 只要你在每一副本上明顯和恰當地出版版權聲明和不承擔擔保的聲明,保持此許可證的聲明和沒有擔保的聲明完整無損,並和程序一起給每個其他的程序接受者一份許可證的副本,你就可以用任何媒體復制和發布你收到的原始的程序的源代碼。
你可以為轉讓副本的實際行動收取一定費用。你也有權選擇提供擔保以換取一定的費用。
2. 你可以修改程序的一個或幾個副本或程序的任何部分,以此形成基於程序的作品。只要你同時滿足下面的所有條件,你就可以按前面第一款的要求復制和發布這一經過修改的程序或作品。
a) 你必須在修改的文件中附有明確的說明:你修改了這一文件及具體的修改日期。
b) 你必須使你發布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用。
c) 如果修改的程序在運行時以交互方式讀取命令,你必須使它在開始進入常規的交互使用方式時列印或顯示聲明:包括適當的版權聲明和沒有擔保的聲明(或者你提供擔保的聲明);用戶可以按此許可證條款重新發布程序的說明;並告訴用戶如何看到這一許可證的副本。(例外的情況:如果原始程序以交互方式工作,它並不列印這樣的聲明,你的基於程序的作品也就不用列印聲明)。
這些要求適用於修改了的作品的整體。如果能夠確定作品的一部分並非程序的衍生產品,可以合理地認為這部分是獨立的,是不同的作品。當你將它作為獨立作品發布時,它不受此許可證和它的條款的約束。但是當你將這部分作為基於程序的作品的一部分發布時,作為整體它將受到許可證條款約束。准予其他許可證持有人的使用范圍擴大到整個產品。也就是每個部分,不管它是誰寫的。
因此,本條款的意圖不在於索取權利;或剝奪全部由你寫成的作品的權利。而是履行權利來控制基於程序的集體作品或衍生作品的發布。
此外,將與程序無關的作品和該程序或基於程序的作品一起放在存貯體或發布媒體的同一卷上,並不導致將其他作品置於此許可證的約束范圍之內。
3. 你可以以目標碼或可執行形式復制或發布程序(或符合第2款的基於程序的作品),只要你遵守前面的第1,2款,並同時滿足下列3條中的1條。
a)在通常用作軟體交換的媒體上,和目標碼一起附有機器可讀的完整的源碼。這些源碼的發布應符合上面第1,2款的要求。或者
b)在通常用作軟體交換的媒體上,和目標碼一起,附有給第三方提供相應的機器可讀的源碼的書面報價。有效期不少於3年,費用不超過實際完成源程序發布的實際成本。源碼的發布應符合上面的第1,2款的要求。或者
c)和目標碼一起,附有你收到的發布源碼的報價信息。(這一條款只適用於非商業性發布,而且你只收到程序的目標碼或可執行代碼和按b)款要求提供的報價)。
作品的源碼指的是對作品進行修改最優先擇取的形式。對可執行的作品講,
完整的源碼包括:所有模塊的所有源程序,加上有關的介面的定義,加上控制可執行作品的安裝和編譯的script。作為特殊例外,發布的源碼不必包含任何常規發布的供可執行代碼在上面運行的操作系統的主要組成部分(如編譯程序,內核等)。除非這些組成部分和可執行作品結合在一起。
如果採用提供對指定地點的訪問和復制的方式發布可執行碼或目標碼,那麼,提供對同一地點的訪問和復制源碼可以算作源碼的發布,即使第三方不強求與目標碼一起復制源碼。
4. 除非你明確按許可證提出的要求去做,否則你不能復制,修改,轉發許可證和發布程序。任何試圖用其他方式復制,修改,轉發許可證和發布程序是無效的。而且將自動結束許可證賦予你的權利。然而,對那些從你那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。
5. 你沒有在許可證上簽字,因而你沒有必要一定接受這一許可證。然而,沒有任何其他東西賦予你修改和發布程序及其衍生作品的權利。如果你不接受許可證,這些行為是法律禁止的。因此,如果你修改或發布程序(或任何基於程序的作品),你就表明你接受這一許可證以及它的所有有關復制,發布和修改程序或基於程序的作品的條款和條件。
6. 每當你重新發布程序(或任何基於程序的作品)時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的復制,發布或修改程序的許可證。你不可以對接受者履行這里賦予他們的權利強加其他限制。你也沒有強求第三方履行許可證條款的義務。
7. 如果由於法院判決或違反專利的指控或任何其他原因(不限於專利問題)的結果,強加於你的條件(不管是法院判決,協議或其他)和許可證的條件有沖突。他們也不能用許可證條款為你開脫。在你不能同時滿足本許可證規定的義務及其他相關的義務時,作為結果,你可以根本不發布程序。例如,如果某一專利許可證不允許所有那些直接或間接從你那裡接受副本的人們在不付專利費的情況下重新發布程序,唯一能同時滿足兩方面要求的辦法是停止發布程序。
如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘部分。並將條款作為整體用於其他環境。
本條款的目的不在於引誘你侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟體發布系統的完整性。它是通過通用公共許可證的應用來實現的。許多人堅持應用這一系統,已經為通過這一系統發布大量自由軟體作出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何其他系統發布軟體。許可證持有人不能強制這種選擇。
本節的目的在於明確說明許可證其餘部分可能產生的結果。
8. 如果由於專利或者由於有版權的介面問題使程序在某些國家的發布和使用受到限止,將此程序置於許可證約束下的原始版權擁有者可以增加限止發布地區的條款,將這些國家明確排除在外。並在這些國家以外的地區發布程序。在這種情況下,許可證包含的限止條款和許可證正文一樣有效。
9. 自由軟體基金會可能隨時出版通用公共許可證的修改版或新版。新版和當前的版本在原則上保持一致,但在提到新問題時或有關事項時,在細節上可能出現差別。
每一版本都有不同的版本號。如果程序指定適用於它的許可證版本號以及「任何更新的版本」。你有權選擇遵循指定的版本或自由軟體基金會以後出版的新版本,如果程序未指定許可證版本,你可選擇自由軟體基金會已經出版的任何版本。
10. 如果你願意將程序的一部分結合到其他自由程序中,而它們的發布條件不同。寫信給作者,要求准予使用。如果是自由軟體基金會加以版權保護的軟體,寫信給自由軟體基金會。我們有時會作為例外的情況處理。我們的決定受兩個主要目標的指導。這兩個主要目標是:我們的自由軟體的衍生作品繼續保持自由狀態。以及從整體上促進軟體的共享和重復利用。
沒有擔保
11. 由於程序准予免費使用,在適用法准許的范圍內,對程序沒有擔保。除非另有書面說明,版權所有者和/或其他提供程序的人們「一樣」不提供任何類型的擔保。不論是明確的,還是隱含的。包括但不限於隱含的適銷和適合特定用途的保證。全部的風險,如程序的質量和性能問題都由你來承擔。如果程序出現缺陷,你承擔所有必要的服務,修復和改正的費用。
12. 除非適用法或書面協議的要求,在任何情況下,任何版權所有者或任何按許可證條款修改和發布程序的人們都不對你的損失負有任何責任。包括由於使用或不能使用程序引起的任何一般的,特殊的,偶然發生的或重大的損失(包括但不限於數據的損失,或者數據變得不精確,或者你或第三方的持續的損失,或者程序不能和其他程序協調運行等)。即使版權所有者和其他人提到這種損失的可能性也不例外。
最後的條款和條件
如何將這些條款用到你的新程序
如果你開發了新程序,而且你需要它得到公眾最大限度的利用。要做到這一點的最好辦法是將它變為自由軟體。使得每個人都能在遵守條款的基礎上對它進行修改和重新發布。
為了做到這一點,給程序附上下列聲明。最安全的方式是將它放在每個源程序的開頭,以便最有效地傳遞拒絕擔保的信息。每個文件至少應有「版權所有」行以及在什麼地方能看到聲明全文的說明。
<用一行空間給出程序的名稱和它用來做什麼的簡單說明>
版權所有(C) 19XX <作者姓名>
這一程序是自由軟體,你可以遵照自由軟體基金會出版的GNU通用公共許可證條款來修改和重新發布這一程序。或者用許可證的第二版,或者(根據你的選擇)用任何更新的版本。
發布這一程序的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的隱含的擔保。更詳細的情況請參閱GNU通用公共許可證。
你應該已經和程序一起收到一份GNU通用公共許可證的副本。如果還沒有,寫信給:
The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA02139, USA
還應加上如何和你保持聯系的信息。
如果程序以交互方式進行工作,當它開始進入交互方式工作時,使它輸出類似下面的簡短聲明:
Gnomovision 第69版, 版權所有(C) 19XX, 作者姓名,
Gnomovision絕對沒有擔保。 要知道詳細情況,請輸入『show w』。
這是自由軟體,歡迎你遵守一定的條件重新發布它,要知道詳細情況,
請輸入『show c』。
假設的命令『show w』和『show c』應顯示通用公共許可證的相應條款。當然,你使用的命令名稱可以不同於『show w』和『show c』。根據你的程序的具體情況,也可以用菜單或滑鼠選項來顯示這些條款。
如果需要,你應該取得你的上司(如果你是程序員)或你的學校簽署放棄程序版權的聲明。下面只是一個例子,你應該改變相應的名稱:
Yoyodyne公司以此方式放棄James Harker所寫的 Gnomovision程序的全部版權利益。
Ty coon付總裁
這一許可證不允許你將程序並入專用
⑽ gnu項目為Linux的發展做出了那些突出貢獻
GNU計劃
軟體產業在70年代成就了兩位針鋒相對的領袖人物,來自哈佛大學的比爾·蓋茨和Richard M.Stallman【理查德】。前者宣布了Copyright(版權)時代的到來,並構建了微軟帝國的輝煌;後者於1984年創立自由軟體體系GNU,擬定普遍公用版權協議(GeneralPublicLicense,簡稱GPL),今天Linux的成功就得益於GPL協議。
所有GPL協議下的自由軟體都遵循著Richard M. Stallman的"Copyleft"(非版權)原則:即自由軟體允許用戶自由拷貝、修改和銷售,但是對其源代碼的任何修改都必須向所有用戶公開。
GNU 計劃和自由軟體基金會FSF(the Free Software Foundation)是由Richard M. Stallman 於1984 年一手創辦的。旨在開發一個類似UNIX 並且是自由軟體的完整操作系統:GNU 系統(GNU 是"GNU's Not Unix"的遞歸縮寫,它的發音為"guh-NEW")。
各種使用Linux 作為核心的GNU 操作系統正在被廣泛的使用。雖然這些系統通常被稱作"Linux",但是Stallman 認為,嚴格地說,它們應該被稱為GNU/Linux系統。
到上世紀90 年代初,GNU 項目已經開發出許多高質量的免費軟體,其中包括有名的emacs 編輯系統、bash shell 程序、gcc 系列編譯程序、gdb 調試程序等等。這些軟體為Linux 操作系統的開發創造了一個合適的環境。這是Linux 能夠誕生的基礎之一,網頁鏈接一起學習linux, 以至於目前許多人都將Linux 操作系統稱為「GNU/Linux」操作系統。