亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

你知道Linux開源軟件的過去嗎

今日,Linux以及開源軟件已經(jīng)占有了大部分公司的服務(wù)器。但是,和我一批差不多剛剛進(jìn)入軟件職業(yè)幾年的程序員來說,咱們現(xiàn)在只能被迫的承受和運(yùn)用這些東西,如果不認(rèn)真廣泛的查找一大堆材料,咱們真的很難了解它們的曩昔……

試問,你不了解它的過去,你怎么參與到它的未來呢?

概述

我們真的離美國、離硅谷、離那些不算遙遠(yuǎn)“激情燃燒的歲月”太遠(yuǎn)了!
今天,我要嘗試去發(fā)掘那些過去,認(rèn)真了解我們眼前的自由軟件是如何走到今天的。

一切就緒,從哪里開始呢?
如果按照時間線顯然會太雜亂了,我想,按照幾個關(guān)鍵詞會是比較好的方式。


一. UNIX

接上篇《C語言、編程語言發(fā)展史》 所述,在貝爾實(shí)驗(yàn)室 中由于近似好奇或興趣的驅(qū)動,UNIX被創(chuàng)建了出來。

  1. 發(fā)展壯大

    此后的10年,UNIX在學(xué)術(shù)機(jī)構(gòu)和大型企業(yè)中得到了廣泛的應(yīng)用,當(dāng)時的UNIX擁有者at&t公司以低廉甚至免費(fèi)的許可將UNIX源碼授權(quán)給學(xué)術(shù)機(jī)構(gòu)做研究或教學(xué)之用,許多機(jī)構(gòu)在此源碼基礎(chǔ)上加以擴(kuò)充和改進(jìn),形成了所謂的“UNIX變種”,這些變種反過來也促進(jìn)了UNIX的發(fā)展,其中最著名的變種之一是由加州大學(xué)伯克利分校開發(fā)的伯克利軟件套件(Berkeley Software Distribution,BSD)產(chǎn)品。

  2. 版權(quán)之爭

    后來at&t 意識到了UNIX的商業(yè)價值,不再將UNIX源碼授權(quán)給學(xué)術(shù)機(jī)構(gòu),并對之前的UNIX及其變種聲明了版權(quán)權(quán)利。BSD在UNIX的歷史發(fā)展中具有相當(dāng)大的影響力,被很多商業(yè)廠家采用,成為很多商用UNIX的基礎(chǔ)。其不斷增大的影響力終于引起了at&t 的關(guān)注,于是開始了一場持久的版權(quán)官司,這場官司一直打到at&t 將自己的UNIX系統(tǒng)實(shí)驗(yàn)室賣掉,新接手的Novell采取了一種比較開明的做法,允許柏克萊分校自由發(fā)布自己的UNIX變種,但是前提是必須將來自于AT&T的代碼完全刪除,于是誕生了4.4 BSD Lite版,由于這個版本不存在法律問題,4.4 BSD Lite成為了現(xiàn)代柏克萊軟件包的基礎(chǔ)版本。盡管后來,非商業(yè)版的UNIX系統(tǒng)又經(jīng)過了很多演變,但其中有不少最終都是創(chuàng)建在BSD版本上(Linux、Minix等系統(tǒng)除外)。所以從這個角度上,4.4 BSD 又是所有自由版本UNIX的基礎(chǔ),它們和System V及Linux等共同構(gòu)成UNIX操作系統(tǒng)這片璀璨的星空。

總結(jié)以上,也就是說:現(xiàn)在的UNIX和類UNIX分為3類

  1. 正統(tǒng)UNIX
    System V,商業(yè)、收費(fèi)的;
  2. 類UNIX - BSD衍生版本
    非商業(yè),大部分免費(fèi);
  3. 類UNIX - Linux和其它
    非商業(yè),大部分免費(fèi);

    UNIX/類UNIX 發(fā)展歷史(截止2007年) - Wikipedia

    這里寫圖片描述

UNIX規(guī)范

  1. POSIX

    Portable Operating System Interface of UNIX,POSIX(UNIX的可移植操作系統(tǒng)接口)。見名知意,POSIX是一種統(tǒng)一UNIX操作系統(tǒng)接口的規(guī)范。

    當(dāng)前的POSIX主要分為四個部分:Base Definitions、System Interfaces、Shell and Utilities和Rationale。

    Linux基本逐步實(shí)現(xiàn)了POSIX兼容,但沒有參與正式認(rèn)證。微軟的Windows NT聲稱部分實(shí)現(xiàn)了POSIX標(biāo)準(zhǔn)。

  2. 單一UNIX規(guī)范

    單一UNIX規(guī)范(Single UNIX Specification) 是一套UNIX系統(tǒng)的統(tǒng)一規(guī)格書,它擴(kuò)充了POSIX,定義了標(biāo)準(zhǔn)UNIX操作系統(tǒng)。

    當(dāng)前,只有符合單一UNIX規(guī)范 的UNIX系統(tǒng)才能稱為UNIX系統(tǒng),否則只能稱為類UNIX(UNIX-like)

    單一UNIX規(guī)范 的歷史:

    1. 1980年代中,開始有人提出計劃,想要統(tǒng)一不同UNIX 操作系統(tǒng)的接口。
    2. 1988年,這些標(biāo)準(zhǔn)被匯整為IEEE 1003(ISO/IEC 9945),也就是POSIX。
    3. 1990年代,發(fā)布共通應(yīng)用程序界面規(guī)格(Common API Specification),又稱為Spec 1170。
    4. 1997年,單一UNIX規(guī)范第二版(Single UNIX Specification version 2)。
    5. 2001年: POSIX:2001, 單一UNIX規(guī)范第三版。
    6. 2004年:POSIX:2004。
    7. 2008年:POSIX:2008。

    符合規(guī)范的UNIX(可以自稱UNIX系統(tǒng))有:

    1. AIX
    2. HP/UX
    3. OS X ( 原 Mac OS X )
    4. Reliant UNIX
    5. SCO
    6. Solaris
    7. Tru64 UNIX
    8. z/OS
    9. K-UX

二. Stallman&自由軟件運(yùn)動

1. 自由軟件運(yùn)動 - free software

這個運(yùn)動是什么?為什么會產(chǎn)生這種運(yùn)行呢?

  1. 二十世紀(jì)六十年代,IBM 等公司所開發(fā)的軟件都是自由分發(fā)的。那個時候的商業(yè)模式都是以硬件為中心,軟件只是被看作使硬件工作的東西。他們提供軟件的同時也提供源代碼,軟件可以被修改并因此得到改進(jìn),這便是現(xiàn)在開源軟件的早期情況。
  2. 但是,隨著硬件價格的不斷下跌,銷售硬件的利潤也逐漸減小,制造商開始期望軟件能夠帶來額外的收入。越來越多的廠商開始單獨(dú)銷售軟件,也不再提供軟件的源代碼。
  3. 1983年春天,Richard Matthew Stallman,這位曾經(jīng)在 MIT 人工智能實(shí)驗(yàn)室工作的程序員,發(fā)起了 GNU 項(xiàng)目,旨在開發(fā)一個自由的類 UNIX 的操作系統(tǒng)。他為專有軟件的增長和隨之而來的用戶不再能夠修改他們電腦上的程序而憂心忡忡。軟件開發(fā)者被束縛,有悖自由精神的現(xiàn)象隨之普遍發(fā)生。GNU 項(xiàng)目的創(chuàng)立,標(biāo)志了自由軟件運(yùn)動的開始,隨后的 1985年10月,Stallman 又創(chuàng)立了自由軟件基金會(Free Software Foundation, FSF)。

    這里寫圖片描述

需要明白的是(以下是Stallman原話的中譯):

“自由軟件”是權(quán)利問題,不是價格問題。要理解這個概念,自由應(yīng)該是“言論自由”中的“自由”,而不是“免費(fèi)啤酒”中的“免費(fèi)”。
自由軟件關(guān)乎使用者運(yùn)行、復(fù)制、發(fā)布、研究、修改和改進(jìn)該軟件的自由!

2. Stallman

理查德·馬修·斯托曼(Richard Matthew Stallman RMS,1953-今)是自由軟件運(yùn)動的精神領(lǐng)袖,GNU計劃以及自由軟件基金會(Free Software Foundation)的創(chuàng)立者、著名黑客。他被尊稱為:rms。

他的主要成就包括Emacs及后來的GNU Emacs,GNU C 編譯器及GNU 除錯器。 他所寫作的GNU通用公共許可證(GNUGPL)是世上最廣為采用的自由軟件許可證,為copyleft觀念開拓出一條嶄新的道路。他最大的影響是為自由軟件運(yùn)動豎立了道德、政治以及法律框架。他被許多人譽(yù)為當(dāng)今自由軟件的斗士、偉大的理想主義者,但同時也有人批評他過于固執(zhí)、觀點(diǎn)落伍。

這里寫圖片描述

Stallman個人履歷:

  1. 1953年斯托曼出生于美國紐約曼哈頓地區(qū);
  2. 1971年進(jìn)入哈佛大學(xué)學(xué)習(xí),同年受聘于麻省理工學(xué)院人工智能實(shí)驗(yàn)室(AI Laboratory),成為一名職業(yè)黑客。 在AI實(shí)驗(yàn)室工作期間,斯托曼開發(fā)了多種今后影響深遠(yuǎn)的軟件,其中最著名的就是Emacs。斯托曼在AI是一名典型的黑客,是整個黑客文化的一份子。
  3. 1980年后,黑客社群在軟件工業(yè)商業(yè)化的強(qiáng)大壓力下日漸土崩瓦解,甚至連AI實(shí)驗(yàn)室的許多黑客也組成了Symbolic公司,試圖以專利軟件來取代實(shí)驗(yàn)室中黑客文化的產(chǎn)物 - 免費(fèi)可自由流通的軟件。斯托曼對此感到氣憤與無奈。
  4. 1985年,在對Symbolic進(jìn)行了一段時間的抗?fàn)幒?,他最終發(fā)表了著名的GNU宣言(GNU Manifesto),正式宣布要開始進(jìn)行一項(xiàng)宏偉的計劃:創(chuàng)造一套完全自由免費(fèi),兼容于UNIX的操作系統(tǒng)GNU(GNU’s Not UNIX!)。
  5. 1985年10月,他又建立了自由軟件基金會(Free Software Foundation)來協(xié)助GNU計劃。
  6. 1989年,他與一群律師起草了廣為使用的GNU通用公共協(xié)議證書(GNU General Public License, GNU GPL),創(chuàng)造性地提出了“反版權(quán) - copyleft“的概念。 同時,GNU計劃中除了最關(guān)鍵的Hurd操作系統(tǒng)內(nèi)核之外,其他絕大多數(shù)軟件已經(jīng)完成。
  7. 1991年,芬蘭大學(xué)生Linus Torvalds在GPL條例下發(fā)布他自己創(chuàng)作的Linux操作系統(tǒng)內(nèi)核,至此GNU計劃正式完成,操作系統(tǒng)被命名為GNU/Linux(或簡稱Linux)。

斯托曼是一名堅(jiān)定的自由軟件運(yùn)動倡導(dǎo)者!
與其他提倡開放源代碼的人不同,斯托曼并不是從軟件質(zhì)量的角度而是從道德的角度來看待自由軟件。他認(rèn)為使用專利軟件是非常不道德的事,只有附帶了源代碼的程序才是符合其道德標(biāo)準(zhǔn)的。對此許多人表示異議,并也因此有了自由軟件運(yùn)動開源軟件運(yùn)動之分。

3. GNU和GPL

  1. GNU計劃是由Richard Stallman在1983年9月27日公開發(fā)起的。它的目標(biāo)是創(chuàng)建一套完全自由的操作系統(tǒng)。Richard Stallman最早是在net.unix-wizards新聞組上公布該消息,并附帶《GNU宣言》等解釋為何發(fā)起該計劃的文章,其中一個理由就是要“重現(xiàn)當(dāng)年軟件界合作互助的團(tuán)結(jié)精神”。

    可以理解GNU計劃是:開發(fā)出一個兼容UNIX接口的全新的自由的操作系統(tǒng)。

    也就是說:此OS應(yīng)該是類似UNIX的,但完全不是UNIX。

  2. GPL
    GNU通用公共許可證(GNU General Public License,GPL),即反版權(quán) - Copyleft 概念。
    為保證GNU軟件可以自由地“使用、復(fù)制、修改和發(fā)布”,所有GNU軟件都有一份在禁止其他人添加任何限制的情況下授權(quán)所有權(quán)利給任何人的協(xié)議條款。

    但是GPL過于自由(嚴(yán)格),只要用到了GPL的軟件,那么自身也必須遵守GPL,這讓很多人不能接受。

    承接上文所說“對此許多人表示異議,并也因此有了自由軟件運(yùn)動與開源軟件運(yùn)動之分”,后文會說開源軟件運(yùn)動。

  3. GNU是“GNU is Not UNIX”的遞歸縮寫。Stallman宣布GNU應(yīng)當(dāng)發(fā)音為Guh-NOO(革奴)以避免與new這個單詞混淆(注:Gnu在英文中原意為非洲牛羚,發(fā)音與new相同)。

    這里寫圖片描述
  4. UNIX在當(dāng)時是一種廣泛使用的商業(yè)操作系統(tǒng)。由于GNU計劃實(shí)現(xiàn)UNIX系統(tǒng)的接口標(biāo)準(zhǔn),因此GNU打算分別開發(fā)不同的操作系統(tǒng)部件。GNU計劃采用了部分當(dāng)時已經(jīng)可自由使用的軟件,例如TeX排版系統(tǒng)和X Window視窗系統(tǒng)等。不過GNU計劃也開發(fā)了大批其他的自由軟件。這包括了:
    • Emacs:一個功能強(qiáng)大的文字編輯器;
    • GCC:GNU Compiler Collection,GNU編譯器集合;
    • 大部分的UNIX系統(tǒng)程序庫、工具;
    • 但是,唯一沒有完成的重要組件就是操作系統(tǒng)的內(nèi)核(正在開發(fā),GNU稱之為HURD);

三. Linus - Linux

上文書說到:萬事俱備,只欠內(nèi)核?。ㄕ陂_發(fā),此事暫時放下不表)

1. Linus - 林納斯

1991年,大洋彼岸的歐洲,芬蘭赫爾辛基,21歲的赫爾辛基大學(xué)大學(xué)生,林納斯·托瓦茨(Linus Torvalds)開始在一臺386sx兼容微機(jī)上學(xué)習(xí)Minix (也是UNIX-like)操作系統(tǒng)。不久之后,林納斯覺得Minix 并不好用,隨后他開始著手自己開發(fā)一個類UNIX系統(tǒng)。

這里寫圖片描述
(題外話,Git也是這guy開發(fā)的)

Linus開發(fā)的Linux履歷:

  1. 1991年4月13日在comp.os.minix 上發(fā)布說自己已經(jīng)成功地將bash 移植到了minix 上,而且已經(jīng)愛不釋手、不能離開這個shell 軟件了。
  2. 1991年7月3日,第一個與Linux有關(guān)的消息是在comp.os.minix上發(fā)布的(當(dāng)然此時還不存在Linux這個名稱,當(dāng)時林納斯·托瓦茲的腦子里想的可能是FREAX,F(xiàn)REAX的英文含義是怪誕的、怪物、異想天開等)。
  3. 1991年的10月5日,林納斯·托瓦茲在comp.os.minix新聞組上發(fā)布消息,正式向外宣布Linux內(nèi)核的誕生(Freeminix-like kernel sources for 386-AT)
  4. 1993年,大約有100余名程序員參與了Linux內(nèi)核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼大約有十萬行,用戶大約有10萬左右。
  5. 1994年3月,Linux1.0發(fā)布,代碼量17萬行,當(dāng)時是按照完全自由免費(fèi)的協(xié)議發(fā)布,隨后正式采用GPL協(xié)議。
    在自由軟件之父斯托曼的某些精神感召下,Linus很快將這個操作系統(tǒng)內(nèi)核加入到了GUN 計劃中,并通過GPL授權(quán)。越來越多的全球范圍的程序員加入到開發(fā)和維護(hù)Linux的工作中來了。

2. Linux

準(zhǔn)確來說,Linux這個詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。

在Linux加入GNU伊始,原UNIX內(nèi)核的開發(fā)計劃并沒有改變,但是隨著Linux越來越多流行,在事實(shí)上GNU + Linux 已經(jīng)成為了GNU計劃的最終產(chǎn)物。

  1. 關(guān)于Linux:
    1. 從技術(shù)上說Linux只是一個內(nèi)核。內(nèi)核 指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。
    2. 一個內(nèi)核并不是一套完整的操作系統(tǒng)。有一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux(在該系統(tǒng)中包含了很多GNU計劃的系統(tǒng)組件)。
  2. 命名:
    隨后,在90年代中期,斯托曼 要求Linux更名為“GNU/Linux”但鑒于當(dāng)時Linux已經(jīng)流行,且Linux朗朗上口簡短好記,Linux社區(qū)沒有采納這個名稱。雖然Linux內(nèi)核只占此系統(tǒng)的3%,而GUN 的代碼占據(jù)了28%。當(dāng)然,也有部分人認(rèn)為操作系統(tǒng) 一詞就是指的內(nèi)核(Kernel),而那些其他程序只能稱為應(yīng)用軟件。

    這里寫圖片描述

3. Linux distribution - 發(fā)行版

上文說到,Linux只是內(nèi)核,而Linux + GNU 可以組成一個不算完全的操作系統(tǒng)。雖然這些都是自由軟件,但是讓用戶自己去進(jìn)行所有組合和拼裝以及編譯操作還是有一定難度的。所以,出現(xiàn)了Linux 發(fā)行版 。

Linux 發(fā)行版(Linux distribution,也被叫做GNU/Linux 發(fā)行版),為一般用戶預(yù)先集成好的Linux操作系統(tǒng)及各種應(yīng)用軟件。一般用戶不需要重新編譯,在直接安裝之后,只需要小幅度更改設(shè)置就可以使用,通常以軟件包管理系統(tǒng)來進(jìn)行應(yīng)用軟件的管理。

Linux發(fā)行版通常包含了包括桌面環(huán)境、辦公包、媒體播放器、數(shù)據(jù)庫等應(yīng)用軟件。這些操作系統(tǒng)通常由Linux內(nèi)核、以及來自GNU計劃的大量的函數(shù)庫,和基于X Window的圖形界面。有些發(fā)行版考慮到容量大小而沒有預(yù)裝 X Window,而使用更加輕量級的軟件,如:busybox, uclibc 或 dietlibc。現(xiàn)在有超過300個Linux發(fā)行版。大部分都正處于活躍的開發(fā)中,不斷地改進(jìn)。

  1. 1995年1月,Bob Young創(chuàng)辦了RedHat(小紅帽),以GNU/Linux為核心,集成了400多個源代碼開放的程序模塊,搞出了一種冠以品牌的Linux,即RedHat Linux,稱為Linux Distribution - 發(fā)行版,在市場上出售。這在經(jīng)營模式上是一種創(chuàng)舉。
  2. 發(fā)行版可以分為商業(yè)、社區(qū)、和非商非社版。我們聽說和使用最多的有:Red Hat、Debian、Ubuntu、CentOS等。

四. 開源軟件運(yùn)動

1998年2月,以Eric Raymond為首的一批年輕的”老牛羚骨干分子”終于認(rèn)識到GNU/Linux體系的產(chǎn)業(yè)化道路的本質(zhì),并非是什么自由哲學(xué),而是市場競爭的驅(qū)動,創(chuàng)辦了Open Source Intiative(開放源代碼促進(jìn)會)在互聯(lián)網(wǎng)世界里展開了一場歷史性的Linux產(chǎn)業(yè)化運(yùn)動。

隨后,OSI和FSF分道揚(yáng)鑣。

開源軟件(open source software),是說源代碼可以任意獲取的計算機(jī)軟件,這種軟件的版權(quán)持有人在軟件協(xié)議的規(guī)定之下保留一部分權(quán)利并允許用戶學(xué)習(xí)、修改、增進(jìn)提高這款軟件的質(zhì)量。

開源協(xié)議通常匹配開放源代碼的定義 的要求,如果人為設(shè)置一些源碼開放條件限制,則稱之為:公開源代碼的免費(fèi)軟件(Freeware)。

1. 開放源代碼促進(jìn)會

開放源代碼促進(jìn)會(Open Source Initiative,OSI),是一個旨在推動開源軟件發(fā)展的非盈利組織。

這里寫圖片描述

1998年2月,OSI由布魯斯·裴倫思埃里克·斯蒂芬·雷蒙 等人創(chuàng)立。當(dāng)時,網(wǎng)景公司 為了與微軟的IE競爭,將他們的旗艦產(chǎn)品網(wǎng)景瀏覽器(Navigator) 發(fā)布成自由軟件。然而隨后網(wǎng)景公司 還是輸?shù)袅说谝淮螢g覽器大戰(zhàn)。
————————– 開源軟件”open-source software”一詞出自自由軟件的營銷活動中。

2. Eric Raymond

埃里克·斯蒂芬·雷蒙(Eric Steven Raymond,1957至今),是著名黑客,《大教堂與集市》作者,是開放源代碼運(yùn)動的主要領(lǐng)導(dǎo)人。被稱為:ESR。

從1998年2月 - 2005年2月,雷蒙擔(dān)任OSI的主席。

雷蒙有句名言(又被稱為林納斯定律):“足夠多的眼睛,就可以讓所有問題浮現(xiàn)。Given enough eyeballs, all bugs are shallow”。

3. 與自由軟件區(qū)別

許多人將開放源代碼與自由軟件(free Software)視為相同,但若以定義條件而言,自由軟件僅是開放源代碼的一種,也就是自由軟件的定義較開放源代碼更為嚴(yán)格。

4. 著名開源軟件

應(yīng)用軟件:
7-Zip——文件壓縮軟件。
Blender——三維繪圖及渲染軟件。
Eclipse——集成開發(fā)環(huán)境。
GIMP——GNU圖像處理軟件。
Scribus——桌面出版軟件。
Inkscape——矢量圖形編輯器。
Emacs——純文本編輯器。
Vim——純文本編輯器。
Chromium——網(wǎng)頁瀏覽器。
Mozilla Firefox——網(wǎng)頁瀏覽器。
Mozilla Thunderbird——電子郵件客戶端軟件。
NASA World Wind——虛擬地球軟件。
Open Broadcaster Software——在線直播軟件。
DocFetcher——桌面搜索軟件。

操作系統(tǒng):
Android——基于Linux的操作系統(tǒng)。
Firefox OS——基于Linux的操作系統(tǒng)。
FreeBSD——類Unix的操作系統(tǒng)。
Linux——類Unix操作系統(tǒng)家族。
OpenIndiana——類Unix操作系統(tǒng)家族。
ReactOS——創(chuàng)建在Windows NT架構(gòu)的操作系統(tǒng)。
Haiku——與BeOS兼容的操作系統(tǒng)。

編程語言:
Perl——一種通用的編程語言。
PHP——適用于網(wǎng)絡(luò)開發(fā)的編程語言。
Python——一種通用的編程語言。
Ruby——一種通用的編程語言。
Swift——一種支持多編程范式,編譯式編程語言。

服務(wù)器軟件:
Apache HTTP Server——一種網(wǎng)頁服務(wù)器。
Drupal——內(nèi)容管理系統(tǒng)。
Joomla!——內(nèi)容管理系統(tǒng)。
MediaWiki——運(yùn)行于維基百科的Wiki引擎。
MongoDB——文件導(dǎo)向數(shù)據(jù)庫管理系統(tǒng)
Moodle——課程管理系統(tǒng)、虛擬學(xué)習(xí)環(huán)境。
Arduino——單片機(jī)微電腦,由藝術(shù)家、設(shè)計師、業(yè)余愛好者所使用。


五. License

今天存在很多的開源/自由協(xié)議,這里我們了解下最著名的4個。

  1. GPL(GNU General Public License)
    我們很熟悉的Linux就是采用了GPL。GPL協(xié)議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣。GPL的出發(fā)點(diǎn)是代碼的開源/免費(fèi)使用和引用/修改/衍生代碼的開源/免費(fèi)使用,但不允許修改后和衍生的代碼做為閉源的商業(yè)軟件發(fā)布和銷售。這也就是為什么我們能用免費(fèi)的各種Linux,包括商業(yè)公司的Linux和Linux上各種各樣的由個人,組織,以及商業(yè)軟件公司開發(fā)的免費(fèi)軟件了。

    GPL協(xié)議的主要內(nèi)容是只要在一個軟件中使用(“使用”指類庫引用,修改后的代碼或者衍生代碼)GPL 協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用GPL協(xié)議,既必須也是開源和免費(fèi)。這就是所謂的”傳染性”。GPL協(xié)議的產(chǎn)品作為一個單獨(dú)的產(chǎn)品使用沒有任何問題,還可以享受免費(fèi)的優(yōu)勢。

    由于GPL嚴(yán)格要求使用了GPL類庫的軟件產(chǎn)品必須使用GPL協(xié)議,對于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發(fā)的基礎(chǔ)。
    其它細(xì)節(jié)如再發(fā)布的時候需要伴隨GPL協(xié)議等和BSD/Apache等類似。

    嚴(yán)格自由:如果使用了GPL軟件那么自身也必須是GPL軟件

  2. LGPL(GNU Lesser General Public License)
    LGPL是GPL的一個為主要為類庫使用設(shè)計的開源協(xié)議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟件必須采用GPL協(xié)議不同。LGPL允許商業(yè)軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業(yè)軟件的代碼。這使得采用LGPL協(xié)議的開源代碼可以被商業(yè)軟件作為類庫引用并發(fā)布和銷售。

    但是如果修改LGPL協(xié)議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協(xié)議。因此LGPL協(xié)議的開源代碼很適合作為第三方類庫被商業(yè)軟件引用,但不適合希望以LGPL協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。

    GPL/LGPL都保障原作者的知識產(chǎn)權(quán),避免有人利用開源代碼復(fù)制并開發(fā)類似的產(chǎn)品。

    弱化的GPL:可以引用LGPL軟件而不需要自身GPL/LGPL,但不能修改原LGPL軟件

  3. BSD License(Original、FressBSD、Original BSD)
    BSD license(Berkeley Software Distribution License),是自由軟件中使用最廣泛的許可證之一。BSD軟件就是遵照這個許可證來發(fā)布,該許可證也因此而得名。

    BSD開源協(xié)議是一個給于使用者很大自由的協(xié)議?;旧鲜褂谜呖梢浴睘樗麨椤?可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。

    BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權(quán)。BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是對商業(yè)集成很友好的協(xié)議。而很多的公司企業(yè)在選用開源產(chǎn)品的時候都首選BSD協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,在必要的時候可以修改或者二次開發(fā)。

    可以隨意使用,僅需要包含原軟件BSD License即可

  4. Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)
    Apache Licence是著名的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件也和BSD類似。

    Apache Licence也是對商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。

    類似BSD License


六. 總結(jié)

如上所述,軟件行業(yè)的版權(quán)發(fā)展思路就是如下三種:

  1. Copyright - 完全限制
    要遵守限制重重的著作權(quán) - Copyright。
  2. Copyleft - 完全自由
    帶有基于政治(是類似言論自由這種)以及哲學(xué)思想的理想主義方式。如GPL,必須完全自由,只要跟GPL有關(guān)系就必須也是GPL。
  3. Copycenter - 開放
    如BSD License,BSD的后續(xù)版本可以選擇要繼續(xù)是BSD或其他自由軟件條款或封閉軟件等等。

這三種思路現(xiàn)在都各有各的發(fā)展,都有其適用情況。

對商業(yè)公司來說Copyright 是商業(yè)必須!

對自由軟件運(yùn)動斗士和生來就有自由基因的軟件來說Copyleft 是一種信仰!

對開源擁護(hù)者,但也想獲得商業(yè)利益的人來說Copycenter 是最好的選擇!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!