chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

程序員常說的“開源”是什么?

jf_78858299 ? 來源:小馬技術圈 ? 作者:小馬技術圈 ? 2023-05-06 18:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01“開源”

在互聯網領域,可以簡單理解為是“開放源代碼”的簡稱。通常來說,指的是將軟件項目的源代碼向大眾開放,允許大眾獲取、使用、修改和發(fā)行。在硬件等其它領域也可以套用開源的概念。

“開源”就好比公開一棟房子的結構圖紙,有了圖紙的人可以拿這份圖紙建造一棟一模一樣的房子,也可以叫懂行的人幫你優(yōu)化這原來的設計造一棟新版本的房子。沒有“開源”就好像沒有結構圖你要仿造一棟房子只能仿造表面相似,結構性能可能相差很遠,可能根本經不住用戶多堆一點東西就變形垮塌了。

02“開源項目”

在互聯網領域,可以簡單理解為是“開放源代碼”的簡稱。通常來說,指的是將軟件項目的源代碼向大眾開放,允許大眾獲取、使用、修改和發(fā)行。在硬件等其它領域也可以套用開源的概念。

03“開源軟件”

直接的字面意思是公開源代碼的軟件,也就是說,如果軟件的源代碼是開源的,那么這個軟件就可以稱之為“開源軟件”。不過,對于很多商業(yè)公司來說,“開源軟件”只能看作是某個開源項目給出的“軟件示例”而已,因為軟件的源代碼已經開放出來了,那么這些商業(yè)公司,完全可以根據自己的需要,基于這個示例,修改或衍生出真正適合自己的軟件產品。

04“開源社區(qū)”

為某個開源項目的開發(fā)成員提供的一個學習和交流的空間。由于開源項目常常需要散布在全世界的開發(fā)人員共同參與推進,所以“開源社區(qū)”就成了他們溝通交流的必要途徑。

05“開源協(xié)議”

是指開源軟件所遵循的許可協(xié)議,獲得了開源軟件的用戶,需要在該協(xié)議的允許范圍內對軟件的源代碼進行使用、修改和發(fā)行(包括以盈利為目的商業(yè)發(fā)行)。

06“GitHub”

是一個面向軟件項目的托管平臺,可以用于托管各種類型的軟件項目,包括開源項目和私有項目。由于大量開源項目基于GitHub進行托管,方便來自世界各地的開發(fā)人員共同工作以及獲取開源軟件,所以在開源項目領域,GitHub的影響力很大,是開源項目的首選托管平臺。

總結一句話來說

就是在GitHub上,發(fā)布了一個軟件項目,是開源的,這個開源項目會產出一款使用了MIT開源協(xié)議的開源軟件供大家免費獲取,如果想加入這個開源項目共同工作,可以來這個項目的開源社區(qū)參與討論,網址是:http://xxx.xxx.xxx。

開源的意義

一、給企業(yè)帶來的價值

1.為企業(yè)提供品牌形象的引導:在程序員的世界中,開源雖然不能說是多么崇高的事情,但總的來說,形象依然是正面的。開源意味著企業(yè)愿意與其他企業(yè)和個人共建生態(tài),這個企業(yè)的大體上來說,是有擁抱開放的這樣的傾向的。

  1. 為企業(yè)降低人員篩選的成本:關于人員篩選成本降低的一方面而言,其實很好理解。企業(yè)需要開發(fā)者來完成自己的需求,在招募的時候,他可以選擇沒有貢獻過自己開源項目的人,但他更喜歡去招募那些已經貢獻過自己開源項目的人,因為這些人貢獻過代碼,至少知道我的項目、邏輯是什么,知道我的團隊的代碼風格是什么,參與過社區(qū)的溝通,能夠和我的團隊有很好的協(xié)作。這樣的人如果招募到自己的團隊中,拉過來就可以干活,沒有切換成本,篩選起來也簡單,成本自然而然降低了。在這個方面,國內做的最好的是 TiDB ,大部分成員都來自開源社區(qū)。

3.控制社區(qū)的發(fā)展:開源世界的規(guī)則是,你的貢獻多,你的話語權就大,你就可以主導項目的發(fā)展。對于企業(yè)來說,如果你想將一個開源項目向著你想要的方向去發(fā)展,就多安排人去貢獻開源,然后,通過這種明謀,來控制項目的發(fā)展。這一方面,做的最好的應該算 RedHat,RedHat 通過提供大量的人去參與 Linux Kernel 的開發(fā),從某種意義上來說,RedHat 可以控制 Linux Kernel 的方向。在內核開發(fā)大部分都是 RedHat 的人的情況下,他可以讓開發(fā)者只去處理對自己有利的 Pull Request 。這種操作并不違反社區(qū)的規(guī)則,只是優(yōu)先處理自己家的 PR,沒有任何問題。但也正是這種明謀,在不斷的調整著 Linux Kernel 的方向。

二、舉例各盈利模式下的開源項目

1、多種產品線

如 MySQL 產品就同時推出面向個人和企業(yè)的兩種版本,即開源版本和專業(yè)版本,分別采用不同的授權方式。開源版本完全免費以便更好的推廣,而從專業(yè)版的許可銷售和支持服務獲得收入。

2、技術服務型

JBoss就是這種模式的典型代表。JBoss 應用服務器完全免費,而通過提供技術文檔、培訓、二次開發(fā)支持等技術服務而獲得收入。

3、應用服務托管(ASP)

PHP Live,就是一種構架于 PHP、MySQL 之上的開源軟件,它可為企業(yè)用戶提供實時交談服務。目前已經有數十家公開提供 PHP Live托管服務的應用服務提供商。

4、軟、硬件一體化

比如 IBM HP 等服務器供應商巨頭,通過捆綁免費的 Linux 操作系統(tǒng)銷售硬件服務器。SUN 公司近期將其 Solaris 操作系統(tǒng)開放源碼,以確保服務器硬件的銷售收入,也是這種模式的體現。

5、附屬品

比如 IBM HP 等服務器供應商巨頭,通過捆綁免費的 Linux 操作系統(tǒng)銷售硬件服務器。SUN 公司近期將其 Solaris 操作系統(tǒng)開放源碼,以確保服務器硬件的銷售收入,也是這種模式的體現。

6、品牌戰(zhàn)略、服務至上

康比爾公司的 Compiere ERP & CRM 軟件是這種模式的典型案例。

7、市場策略

對開源感興趣的推薦去LUPA開源社區(qū)了解。

以下重點說一下 開源協(xié)議 。

開源軟件雖然通常都是免費的,但并不等于軟件的開發(fā)者們(開源社區(qū))完全放棄了自己的權利和對軟件的控制。為了保證開源軟件不被一些商業(yè)機構或個人竊取,成為他們不勞而獲的牟利工具,并影響開源項目的長遠發(fā)展,開源社區(qū)開發(fā)出了各種開源協(xié)議,用于維護自己的軟件版權。

在開源協(xié)議里面,會詳盡表述使用者在獲得代碼后擁有的權利和義務,包括可以進行何種操作,而何種操作又是被禁止的。

開源協(xié)議種類非常之多,并且同一款協(xié)議會有很多個變種版本。開源協(xié)議規(guī)定得太寬松,會導致開發(fā)者們喪失對開源軟件的很多權利,而太嚴格又不便于使用者們的使用以及開源軟件的傳播。

常見的開源協(xié)議有:GPL、LGPL、BSD、Apache 2.0、MIT

01

G P L

Linux就是采用了GPL協(xié)議。GPL協(xié)議允許代碼的獲取、代碼的免費使用和引用、代碼的修改和衍生,但要求對修改和衍生代碼的進行開源,不允許修改和衍生的代碼做為私有閉源的商業(yè)軟件發(fā)布和銷售。

這也就是為什么我們能用各種免費的linux操作系統(tǒng),以及l(fā)inux上各種各樣的由個人,組織,以及商業(yè)軟件公司開發(fā)的免費軟件了。

GPL協(xié)議的主要內容是,只要在一個軟件中使用到了包含GPL 協(xié)議的產品(GPL類庫),則該軟件產品必須也采用GPL協(xié)議,既必須也是開源和免費,這就是所謂的“傳染性”。

由于GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協(xié)議,對于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發(fā)的基礎。

02

L G P L

LGPL是GPL的一個為主要為類庫使用設計的開源協(xié)議。和GPL不同,LGPL允許商業(yè)軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業(yè)軟件的代碼。這使得采用LGPL協(xié)議的開源代碼可以被商業(yè)軟件作為類庫引用并發(fā)布和銷售。

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

03

B S D

BSD開源協(xié)議是一個給予使用者很大自由的協(xié)議。開發(fā)者可以自由使用和修改源代碼,也可以將修改后的源代碼作為開源或者專有軟件再發(fā)布。但是有以下幾個要求:

如果再發(fā)布的產品中含有源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。

如果再發(fā)布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權申明中包含原有代碼中的BSD協(xié)議。

不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。

BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是對商業(yè)集成很友好的協(xié)議。而很多的公司企業(yè)在選用開源產品的時候都首選BSD協(xié)議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發(fā)。

04

Apache 2.0

Apache Licence 2.0的簡稱,Apache Licence是著名的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵代碼共享和最終原作者的著作權,同樣允許源代碼修改和再發(fā)布。但是也需要遵循以下條件:

需要給代碼的用戶一份Apache Licence。

如果修改了代碼,需要再被修改的文件中說明。

在衍生的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標,專利聲明和其他原來作者規(guī)定需要包含的說明。

如果再發(fā)布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以再Notice中增加自己的許可,但是不可以表現為對Apache Licence構成更改。

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

*05M I T

MIT是和BSD一樣寬泛的許可協(xié)議,源自麻省理工學院(Massachusetts Institute of Technology, MIT)。使用MIT協(xié)議的開源軟件作者只保留版權,而對使用者無任何其它限制。MIT與BSD類似,但是比BSD協(xié)議更加寬松,是目前最少限制的協(xié)議。這個協(xié)議唯一的條件就是在修改后的代碼或者發(fā)行包中包含原作者的許可信息,且適用于商業(yè)軟件。使用MIT的軟件項目有:jquery、Node.js

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

    關注

    3

    文章

    3874

    瀏覽量

    45177
  • BSD
    BSD
    +關注

    關注

    0

    文章

    32

    瀏覽量

    10724
  • gpl
    gpl
    +關注

    關注

    0

    文章

    26

    瀏覽量

    2336
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    程序員需要學什么,微軟資深程序員學習手冊面試寶典資料

    程序員是現在比較吃香的工作。程序員工資高還不需要和復雜的社會打交道。那么怎么成為一名程序員?當程序員需要學什么?
    發(fā)表于 03-22 11:54 ?30次下載

    “菜鳥”程序員和“大神”程序員到底有什么區(qū)別

    現在社會上有很多程序員,那您是否可想過程序員為什么會有不同的水平?你又是哪一類的程序員?“菜鳥”程序員和“大神”程序員差在哪里?
    的頭像 發(fā)表于 05-14 08:48 ?4243次閱讀

    程序員如何定義

    當了幾年的程序員了,一直都在想一個問題,什么是程序員,程序員應該做好那些事情,什么樣的程序員是有素質的程序員?什么樣的
    的頭像 發(fā)表于 12-18 14:15 ?3404次閱讀

    菜鳥程序員和大神程序員的差距

    剛剛走出就業(yè)的程序員,技術是剛剛起步的基點。那下面我們就聊一聊有關技術的東西。首先請您先想想這幾個問題。現在社會上有很多程序員,CSDN就是我們程序員的家,那您是否可想過程序員為什么會
    的頭像 發(fā)表于 06-03 15:56 ?2974次閱讀

    什么是程序員

    當了幾年的程序員了,一直都在想一個問題,什么是程序員,程序員應該做好那些事情,什么樣的程序員是有素質的程序員?什么樣的
    的頭像 發(fā)表于 06-04 16:21 ?9723次閱讀

    程序員的未來

    程序員出路在何方程序員 創(chuàng)業(yè)如果你是程序員,也想創(chuàng)業(yè),看看我說的。
    的頭像 發(fā)表于 06-12 17:29 ?3465次閱讀

    為什么要成為高級程序員

    程序員到高級程序員的職業(yè)生涯要經歷以下幾個階段:初級程序員、中級程序員、最后是高級程序員。
    的頭像 發(fā)表于 07-11 16:51 ?2961次閱讀

    頂尖程序員和普通程序員的區(qū)別

    普通程序員常說:“這個簡單,幾天我就寫出來。”
    的頭像 發(fā)表于 07-25 11:17 ?2845次閱讀

    普通程序員和高級程序員有哪些區(qū)別

    從工作的方面來說,普通程序員和高級程序員一般有下面幾個區(qū)別:
    的頭像 發(fā)表于 09-08 10:47 ?4330次閱讀

    如何定義程序員

    多年以來,黑程序員一直是一項廣大人民群眾喜聞樂見的娛樂活動,我們不僅黑程序員,程序員也喜歡自黑,如此一來,大家好像都覺得黑程序員是一項天經地義的事情了,然而事實上,的確是的。
    的頭像 發(fā)表于 10-28 17:05 ?3177次閱讀

    優(yōu)秀程序員與糟糕程序員的變現差異

    軟件蠶食一切,未來屬于程序員。所以人人都想當程序員。但是并不是每個人都能當好程序員。在你做出決定前還是先看看自己能不能當好程序員吧。
    的頭像 發(fā)表于 11-07 16:14 ?3580次閱讀

    程序員最大的失敗是什么

    程序員最大的失敗就是認為自己是好的程序員。
    的頭像 發(fā)表于 11-18 16:26 ?3706次閱讀

    程序員的類型

    今天來聊個有趣的話題,你是什么類型的程序員? 在學校里或在公司里,你是不是接觸過不少其他的程序員,有沒有發(fā)現,雖然同屬程序員科, 但也有眾多的不同。 今天我就來給程序員分個類,看看你是
    的頭像 發(fā)表于 11-28 16:39 ?5277次閱讀

    NEC程序員開源分享

    電子發(fā)燒友網站提供《NEC程序員開源分享.zip》資料免費下載
    發(fā)表于 07-05 11:29 ?1次下載
    NEC<b class='flag-5'>程序員</b><b class='flag-5'>開源</b>分享

    Shield Arduino程序員ISP ATtiny 85開源

    電子發(fā)燒友網站提供《Shield Arduino程序員ISP ATtiny 85開源.zip》資料免費下載
    發(fā)表于 07-14 14:23 ?1次下載
    Shield Arduino<b class='flag-5'>程序員</b>ISP ATtiny 85<b class='flag-5'>開源</b>