01“開源”
在互聯網領域,可以簡單理解為是“開放源代碼”的簡稱。通常來說,指的是將軟件項目的源代碼向大眾開放,允許大眾獲取、使用、修改和發行。在硬件等其它領域也可以套用開源的概念。
“開源”就好比公開一棟房子的結構圖紙,有了圖紙的人可以拿這份圖紙建造一棟一模一樣的房子,也可以叫懂行的人幫你優化這原來的設計造一棟新版本的房子。沒有“開源”就好像沒有結構圖你要仿造一棟房子只能仿造表面相似,結構性能可能相差很遠,可能根本經不住用戶多堆一點東西就變形垮塌了。
02“開源項目”
在互聯網領域,可以簡單理解為是“開放源代碼”的簡稱。通常來說,指的是將軟件項目的源代碼向大眾開放,允許大眾獲取、使用、修改和發行。在硬件等其它領域也可以套用開源的概念。
03“開源軟件”
直接的字面意思是公開源代碼的軟件,也就是說,如果軟件的源代碼是開源的,那么這個軟件就可以稱之為“開源軟件”。不過,對于很多商業公司來說,“開源軟件”只能看作是某個開源項目給出的“軟件示例”而已,因為軟件的源代碼已經開放出來了,那么這些商業公司,完全可以根據自己的需要,基于這個示例,修改或衍生出真正適合自己的軟件產品。
04“開源社區”
為某個開源項目的開發成員提供的一個學習和交流的空間。由于開源項目常常需要散布在全世界的開發人員共同參與推進,所以“開源社區”就成了他們溝通交流的必要途徑。
05“開源協議”
是指開源軟件所遵循的許可協議,獲得了開源軟件的用戶,需要在該協議的允許范圍內對軟件的源代碼進行使用、修改和發行(包括以盈利為目的商業發行)。
06“GitHub”
是一個面向軟件項目的托管平臺,可以用于托管各種類型的軟件項目,包括開源項目和私有項目。由于大量開源項目基于GitHub進行托管,方便來自世界各地的開發人員共同工作以及獲取開源軟件,所以在開源項目領域,GitHub的影響力很大,是開源項目的首選托管平臺。
總結一句話來說
就是在GitHub上,發布了一個軟件項目,是開源的,這個開源項目會產出一款使用了MIT開源協議的開源軟件供大家免費獲取,如果想加入這個開源項目共同工作,可以來這個項目的開源社區參與討論,網址是:http://xxx.xxx.xxx。
開源的意義
一、給企業帶來的價值
1.為企業提供品牌形象的引導:在程序員的世界中,開源雖然不能說是多么崇高的事情,但總的來說,形象依然是正面的。開源意味著企業愿意與其他企業和個人共建生態,這個企業的大體上來說,是有擁抱開放的這樣的傾向的。
- 為企業降低人員篩選的成本:關于人員篩選成本降低的一方面而言,其實很好理解。企業需要開發者來完成自己的需求,在招募的時候,他可以選擇沒有貢獻過自己開源項目的人,但他更喜歡去招募那些已經貢獻過自己開源項目的人,因為這些人貢獻過代碼,至少知道我的項目、邏輯是什么,知道我的團隊的代碼風格是什么,參與過社區的溝通,能夠和我的團隊有很好的協作。這樣的人如果招募到自己的團隊中,拉過來就可以干活,沒有切換成本,篩選起來也簡單,成本自然而然降低了。在這個方面,國內做的最好的是 TiDB ,大部分成員都來自開源社區。
3.控制社區的發展:開源世界的規則是,你的貢獻多,你的話語權就大,你就可以主導項目的發展。對于企業來說,如果你想將一個開源項目向著你想要的方向去發展,就多安排人去貢獻開源,然后,通過這種明謀,來控制項目的發展。這一方面,做的最好的應該算 RedHat,RedHat 通過提供大量的人去參與 Linux Kernel 的開發,從某種意義上來說,RedHat 可以控制 Linux Kernel 的方向。在內核開發大部分都是 RedHat 的人的情況下,他可以讓開發者只去處理對自己有利的 Pull Request 。這種操作并不違反社區的規則,只是優先處理自己家的 PR,沒有任何問題。但也正是這種明謀,在不斷的調整著 Linux Kernel 的方向。
二、舉例各盈利模式下的開源項目
1、多種產品線
如 MySQL 產品就同時推出面向個人和企業的兩種版本,即開源版本和專業版本,分別采用不同的授權方式。開源版本完全免費以便更好的推廣,而從專業版的許可銷售和支持服務獲得收入。
2、技術服務型
JBoss就是這種模式的典型代表。JBoss 應用服務器完全免費,而通過提供技術文檔、培訓、二次開發支持等技術服務而獲得收入。
3、應用服務托管(ASP)
PHP Live,就是一種構架于 PHP、MySQL 之上的開源軟件,它可為企業用戶提供實時交談服務。目前已經有數十家公開提供 PHP Live托管服務的應用服務提供商。
4、軟、硬件一體化
比如 IBM HP 等服務器供應商巨頭,通過捆綁免費的 Linux 操作系統銷售硬件服務器。SUN 公司近期將其 Solaris 操作系統開放源碼,以確保服務器硬件的銷售收入,也是這種模式的體現。
5、附屬品
比如 IBM HP 等服務器供應商巨頭,通過捆綁免費的 Linux 操作系統銷售硬件服務器。SUN 公司近期將其 Solaris 操作系統開放源碼,以確保服務器硬件的銷售收入,也是這種模式的體現。
6、品牌戰略、服務至上
康比爾公司的 Compiere ERP & CRM 軟件是這種模式的典型案例。
7、市場策略
對開源感興趣的推薦去LUPA開源社區了解。
以下重點說一下 開源協議 。
開源軟件雖然通常都是免費的,但并不等于軟件的開發者們(開源社區)完全放棄了自己的權利和對軟件的控制。為了保證開源軟件不被一些商業機構或個人竊取,成為他們不勞而獲的牟利工具,并影響開源項目的長遠發展,開源社區開發出了各種開源協議,用于維護自己的軟件版權。
在開源協議里面,會詳盡表述使用者在獲得代碼后擁有的權利和義務,包括可以進行何種操作,而何種操作又是被禁止的。
開源協議種類非常之多,并且同一款協議會有很多個變種版本。開源協議規定得太寬松,會導致開發者們喪失對開源軟件的很多權利,而太嚴格又不便于使用者們的使用以及開源軟件的傳播。
常見的開源協議有:GPL、LGPL、BSD、Apache 2.0、MIT
01
G P L
Linux就是采用了GPL協議。GPL協議允許代碼的獲取、代碼的免費使用和引用、代碼的修改和衍生,但要求對修改和衍生代碼的進行開源,不允許修改和衍生的代碼做為私有閉源的商業軟件發布和銷售。
這也就是為什么我們能用各種免費的linux操作系統,以及linux上各種各樣的由個人,組織,以及商業軟件公司開發的免費軟件了。
GPL協議的主要內容是,只要在一個軟件中使用到了包含GPL 協議的產品(GPL類庫),則該軟件產品必須也采用GPL協議,既必須也是開源和免費,這就是所謂的“傳染性”。
由于GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對于使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發的基礎。
02
L G P L
LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL不同,LGPL允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。
但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協議。因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。
03
B S D
BSD開源協議是一個給予使用者很大自由的協議。開發者可以自由使用和修改源代碼,也可以將修改后的源代碼作為開源或者專有軟件再發布。但是有以下幾個要求:
如果再發布的產品中含有源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權申明中包含原有代碼中的BSD協議。
不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。
04
Apache 2.0
Apache Licence 2.0的簡稱,Apache Licence是著名的非盈利開源組織Apache采用的協議。該協議和BSD類似,同樣鼓勵代碼共享和最終原作者的著作權,同樣允許源代碼修改和再發布。但是也需要遵循以下條件:
需要給代碼的用戶一份Apache Licence。
如果修改了代碼,需要再被修改的文件中說明。
在衍生的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以再Notice中增加自己的許可,但是不可以表現為對Apache Licence構成更改。
Apache Licence也是對商業應用友好的許可,使用者也可以在需要的時候修改代碼來滿足并作為開源或商業產品發布/銷售。
*05M I T
MIT是和BSD一樣寬泛的許可協議,源自麻省理工學院(Massachusetts Institute of Technology, MIT)。使用MIT協議的開源軟件作者只保留版權,而對使用者無任何其它限制。MIT與BSD類似,但是比BSD協議更加寬松,是目前最少限制的協議。這個協議唯一的條件就是在修改后的代碼或者發行包中包含原作者的許可信息,且適用于商業軟件。使用MIT的軟件項目有:jquery、Node.js。
-
開源
+關注
關注
3文章
3254瀏覽量
42408 -
BSD
+關注
關注
0文章
30瀏覽量
10400 -
gpl
+關注
關注
0文章
26瀏覽量
2173
發布評論請先 登錄
相關推薦
評論