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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

開源軟件的發(fā)行版和分支有什么不一樣

開關(guān)電源芯片 ? 來源:LCTT、Linux中國(guó) ? 作者:Jonathan Gershater選題 ? 2021-08-27 09:28 ? 次閱讀

開源軟件的發(fā)行版和分支是不一樣的。了解其中的區(qū)別和潛在的風(fēng)險(xiǎn)。

如果你們對(duì)開源軟件有過一段時(shí)間的了解,一定曾在許多相關(guān)方面中聽說過分支fork和發(fā)行版distribution兩個(gè)詞。許多人對(duì)這兩個(gè)詞的區(qū)別不太清楚,因此我將試著通過這篇文章為大家解答這一疑惑。

(LCTT 譯注:fork 一詞,按我們之前的倡議,在版本控制工作流中,為了避免和同一個(gè)倉(cāng)庫(kù)的 branch 一詞混淆,我們建議翻譯為“復(fù)刻”。但是在項(xiàng)目和發(fā)行版這個(gè)語境下,沒有這個(gè)混淆,慣例上還是稱之為“分支”。)

首先,一些定義

在解釋分支與發(fā)行版兩者的細(xì)微區(qū)別與相似之處之前,讓我們先給一些相關(guān)的重要概念下定義。

開源軟件[1] 是指具有以下特點(diǎn)的軟件:

在特定的 許可證[2] 限制下,軟件供所有人免費(fèi)分發(fā)

在特定的許可證限制下,軟件源代碼可以供所有人查看與修改

開源軟件可以按以下方式 使用:

以二進(jìn)制或者源代碼的方式下載,通常是免費(fèi)的。(例如,Eclipse 開發(fā)者環(huán)境[3])

作為一個(gè)商業(yè)公司產(chǎn)品,有時(shí)向用戶提供一些服務(wù)并以此收費(fèi)。(例如,紅帽產(chǎn)品[4])

嵌入在專有的軟件解決方案中。(例如一些智能手機(jī)和瀏覽器用于顯示字體的 Freetype 軟件[5])

自由開源軟件free and open source software(FOSS)不一定是“零成本”的“免費(fèi)free”。自由開源軟件僅僅意味著這個(gè)軟件在遵守軟件許可證的前提下可以自由地分發(fā)、修改、研究和使用。軟件分發(fā)者也可能為該軟件定價(jià)。例如,Linux 可以是 Fedora、Centos、Gentoo 等免費(fèi)發(fā)行版,也可以是付費(fèi)的發(fā)行版,如紅帽企業(yè)版 Linux(RHEL)、SUSE Linux 企業(yè)版(SLES)等。

社區(qū)community指的是在一個(gè)開源項(xiàng)目上協(xié)作的團(tuán)體或個(gè)人。任何人或者團(tuán)體都可以在遵守協(xié)議的前提下,通過編寫或?qū)彶榇a/文檔/測(cè)試套件、管理會(huì)議、更新網(wǎng)站等方式為開源項(xiàng)目作出貢獻(xiàn)。例如,在 Openhub.net[6] 網(wǎng)站上,我們可以看見政府、非營(yíng)利性機(jī)構(gòu)、商業(yè)公司和教育團(tuán)隊(duì)等組織都在 為一些開源項(xiàng)目作出貢獻(xiàn)[7]。

一個(gè)開源項(xiàng)目project是集協(xié)作開發(fā)、文檔和測(cè)試的結(jié)果。大多數(shù)項(xiàng)目都搭建了一個(gè)中央倉(cāng)庫(kù)用來存儲(chǔ)代碼、文檔、測(cè)試文件和目前正在開發(fā)的文件。

發(fā)行版distribution是指開源項(xiàng)目的一份的二進(jìn)制或源代碼的副本。例如,CentOS、Fedora、紅帽企業(yè)版 Linux(RHEL)、SUSE Linux、Ubuntu 等都是 Linux 項(xiàng)目的發(fā)行版。Tectonic、谷歌的 Kubernetes 引擎(GKE)、亞馬遜的容器服務(wù)和紅帽的 OpenShift 都是 Kubernetes 項(xiàng)目的發(fā)行版。

開源項(xiàng)目的商業(yè)發(fā)行版經(jīng)常被稱作產(chǎn)品products,因此,紅帽 OpenStack 平臺(tái)是紅帽 OpenStack 的產(chǎn)品,它是 OpenStack 上游項(xiàng)目的一個(gè)發(fā)行版,并且是百分百開源的。

主干trunk是開發(fā)開源項(xiàng)目的社區(qū)的主要工作流。

開源分支fork是開源項(xiàng)目主干的一個(gè)版本,它是分離自主干的獨(dú)立工作流。

因此,發(fā)行版并不等同于分支。發(fā)行版是上游項(xiàng)目的一種包裝,由廠商提供,經(jīng)常作為產(chǎn)品進(jìn)行銷售。然而,發(fā)行版的核心代碼和文檔與上游項(xiàng)目的版本保持一致。分支,以及任何基于分支的的發(fā)行版,導(dǎo)致代碼和文檔的版本與上游項(xiàng)目不同。對(duì)上游項(xiàng)目進(jìn)行了分支的用戶必須自己來維護(hù)分支項(xiàng)目,這意味著他們失去了上游社區(qū)協(xié)同工作帶來的好處。

為了進(jìn)一步解釋軟件分支,讓我來用動(dòng)物遷徙作比喻。鯨魚和海獅從北極遷徙到加利福尼亞和墨西哥;帝王斑蝶從阿拉斯加遷徙到墨西哥;并且北半球的燕子和許多其他鳥類飛翔南方去過冬。成功遷徙的關(guān)鍵因素在于,團(tuán)隊(duì)中的所有動(dòng)物團(tuán)結(jié)一致,緊跟領(lǐng)導(dǎo)者,找到食物和庇護(hù)所,并且不會(huì)迷路。

獨(dú)立前行帶來的風(fēng)險(xiǎn)

一只鳥、帝王蝶或者鯨魚一旦掉隊(duì)就失去了許多優(yōu)勢(shì),例如團(tuán)隊(duì)帶來的保護(hù),以及知道哪兒有食物、庇護(hù)所和目的地。

相似地,從上游版本獲取分支并且獨(dú)立維護(hù)的用戶和組織也存在以下風(fēng)險(xiǎn):

由于代碼不同,分支用戶不能夠基于上游版本更新代碼。 這就是大家熟知的技術(shù)債,對(duì)分支的代碼修改的越多,將這一分支重新歸入上游項(xiàng)目需要花費(fèi)的時(shí)間和金錢成本就越高。

分支用戶有可能運(yùn)行不太安全的代碼。 由于代碼不同的原因,當(dāng)開源代碼的漏洞被找到,并且被上游社區(qū)修復(fù)時(shí),分支版本的代碼可能無法從這次修復(fù)中受益。

分支用戶可能不會(huì)從新特性中獲益。 擁有眾多組織和個(gè)人支持的上游版本,將會(huì)創(chuàng)建許多符合所有上游項(xiàng)目用戶利益的新特性。如果一個(gè)組織從上游分支,由于代碼不同,它們可能無法納入新的功能。

它們可能無法和其他軟件包整合在一起。 開源項(xiàng)目很少是作為單一實(shí)體開發(fā)的;相反地,它們經(jīng)常被與其他項(xiàng)目打包在一起構(gòu)成一套解決方案。分支代碼可能無法與其他項(xiàng)目整合,因?yàn)榉种Тa的開發(fā)者沒有與上游的其他參與者們合作。

它們可能不會(huì)得到硬件平臺(tái)認(rèn)證。 軟件包通常被搭載在硬件平臺(tái)上進(jìn)行認(rèn)證,如果有問題發(fā)生,硬件與軟件工作人員可以合作找出并解決問題發(fā)生的根源。

總之,開源發(fā)行版只是一個(gè)來自上游的、多組織協(xié)同開發(fā)的、由供應(yīng)商銷售與支持的打包集合。分支是一個(gè)開源項(xiàng)目的獨(dú)立開發(fā)工作流,有可能無法從上游社區(qū)協(xié)同工作的結(jié)果中受益。

參考資料

[1]開源軟件:https://opensource.com/resources/what-open-source

[2]許可證:https://opensource.com/tags/licensing

[3]Eclipse 開發(fā)者環(huán)境:https://www.eclipse.org/che/getting-started/download/

[4]紅帽產(chǎn)品:https://access.redhat.com/downloads

[5]Freetype 軟件:https://www.freetype.org/

[6]Openhub.net:http://openhub.net/

[7]為一些開源項(xiàng)目作出貢獻(xiàn):https://www.openhub.net/explore/orgs

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開源軟件
    +關(guān)注

    關(guān)注

    0

    文章

    210

    瀏覽量

    15934
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3353

    瀏覽量

    66334
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66830

原文標(biāo)題:分支與發(fā)行版有什么不同?

文章出處:【微信號(hào):gh_3980db2283cd,微信公眾號(hào):開關(guān)電源芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多路采集的空測(cè)試值,為什么不裝傳感器的時(shí)候每個(gè)原點(diǎn)值不一樣

    個(gè)8路采集項(xiàng)目,壓力采集都沒有問題,現(xiàn)在問題是不裝傳感器的時(shí)候每個(gè)原點(diǎn)值不一樣,比如說4路是10000,4路是80000,這個(gè)是什么
    發(fā)表于 12-27 10:45

    華秋 KiCad 發(fā)行版 8.0.7 發(fā)布

    ? ” ? 為什么需要華秋發(fā)行版? 華秋電子在11月的 KiCon 發(fā)布了基于 8.0.6 的首個(gè)發(fā)行版: 發(fā)布后得到了很多小伙伴的積極反饋,但還是會(huì)有些疑問,最主要的問題兩個(gè):
    的頭像 發(fā)表于 12-19 11:21 ?638次閱讀
    華秋 KiCad <b class='flag-5'>發(fā)行版</b> 8.0.7 發(fā)布

    DAC5682Z輸出不同頻率幅度不一樣,這是正常的嗎?

    現(xiàn)遇到DAC5682Z輸出不同頻率幅度不一樣問題,不知道是否正常。 下面是提供的4MHz和250MHz的圖: 麻煩幫忙確認(rèn)下輸出幅度和頻率之間的關(guān)系,謝謝
    發(fā)表于 12-10 06:52

    DS90UB948 I2C地址有時(shí)和IDX引腳配制的不一樣是為什么?

    DS90UB948按照參考電路設(shè)計(jì)的,但是I2C地址軟件讀到的和設(shè)置的不一樣,上電時(shí)序符合規(guī)格書要求
    發(fā)表于 11-26 07:04

    科技云報(bào)到:假開源真噱頭?開源大模型和你想的不一樣

    科技云報(bào)到原創(chuàng)。 25年前,著名的計(jì)算機(jī)程序員、開源軟件運(yùn)動(dòng)旗手Eric S·Raymond出版了《大教堂與集市》書,首次提出了開放源代碼(Open Source)的概念,提倡軟件
    的頭像 發(fā)表于 11-03 10:46 ?252次閱讀

    空載時(shí)輸出波形如圖2所示,發(fā)現(xiàn)相位相反,幅度不一樣,為什么?

    空載時(shí)輸出波形如圖2所示,發(fā)現(xiàn)相位相反,幅度不一樣。圖3 加8歐姆負(fù)載后輸出的波形,再接喇叭后聲音是突然一高一低,懷疑是不是鏡像后幅度不一樣造成的?
    發(fā)表于 08-29 08:06

    TINA-TI仿真,為什么VF1和VG1的波形不一樣

    為什么VF1和VG1的波形不一樣? 還有就是如果我把波形的下降沿改為100N,VF1的波形就會(huì)被削頂,這個(gè)是什么原因?
    發(fā)表于 08-19 07:15

    為什么OPA695仿真軟件的仿真結(jié)果和數(shù)據(jù)手冊(cè)給出的參數(shù)不一樣呢?

    請(qǐng)問為什么OPA695仿真軟件的仿真結(jié)果和數(shù)據(jù)手冊(cè)給出的參數(shù)不一樣呢,請(qǐng)看下圖: 1、仿真軟件結(jié)果:帶寬195MHz 2、數(shù)據(jù)手冊(cè)給出的參數(shù):帶寬350MHz
    發(fā)表于 08-16 07:39

    OPA817跟opa818一樣的封裝,為什么兩者的熱阻不一樣呢?

    我用了opa818,但是個(gè)通道的Cf需要變大,需要換成opa817才能穩(wěn)定,否則震蕩。 但是我在對(duì)比兩個(gè)運(yùn)放的參數(shù)時(shí)候,個(gè)疑問,兩顆運(yùn)放明明是
    發(fā)表于 07-30 06:16

    請(qǐng)問pad和pin什么不一樣

    pad 和 pin 什么不一樣
    發(fā)表于 06-25 06:08

    用iar debug進(jìn)去的程序和用STVP燒錄的程序不一樣,為什么?

    我現(xiàn)在發(fā)現(xiàn)個(gè)問題,就是用iar debug進(jìn)去的程序和用STVP燒錄的程序不一樣,STVP燒錄的程序運(yùn)行速度快于IAR,諸位有誰知道原因的? 定時(shí)器的速度并沒有變化,但是程序運(yùn)行速度卻不一樣 注意:是STVP,不是stvd
    發(fā)表于 05-08 06:53

    用Keil上下載按鈕下載執(zhí)行程序和直接斷電執(zhí)行程序,什么不一樣

    在連接上J-Link或者ST-Link的時(shí)候,可以直接在Keil上點(diǎn)擊下面的按鈕下載程序并執(zhí)行程序(當(dāng)然要勾選下載復(fù)位后自動(dòng)執(zhí)行) 想問的是,這樣下載程序進(jìn)去沒有斷電的軟復(fù)位執(zhí)行程序,和,直接斷電之后重新上電執(zhí)行程序,什么不一樣
    發(fā)表于 05-06 06:43

    Khadas攜新品亮相,定義不一樣的“mini”

    環(huán)球資源消費(fèi)電子展覽會(huì)與中國(guó)進(jìn)出口商品交易會(huì)(廣交會(huì))。? 01 不一樣的“Mind” 不一樣的“mini” Khadas Mind 作為本次參展的“C 位產(chǎn)品”,自 2023 年上市以來,便以其輕薄
    的頭像 發(fā)表于 04-22 10:46 ?382次閱讀
    Khadas攜新品亮相,定義<b class='flag-5'>不一樣</b>的“mini”

    STM32的VDD與VDDA不一樣可以嗎?

    STM32 的VDD與VDDA不一樣可以么
    發(fā)表于 04-11 06:34

    MCU冷復(fù)位和熱復(fù)位什么不一樣

    求問MCU冷復(fù)位和熱復(fù)位什么不一樣
    發(fā)表于 02-02 15:52
    主站蜘蛛池模板: 亚洲综合色婷婷久久| 天天色资料| 无遮挡很爽很污很黄的网站w| 日本特黄特色免费大片| 午夜精品久久久久蜜桃| 特级毛片免费看| 色妞网| 女性一级全黄生活片| 精品久久久久久婷婷| 成人伊人青草久久综合网| 在线网站 看片 网站| 天天操精品视频| yy6080亚洲半夜理论一级毛片| 天天插天天插| 美人岛福利| 日韩激情淫片免费看| 国产精品臀控福利在线观看| 日本视频一区二区| 亚洲艹| 欧美大全| www.婷婷| 毛片天天看| xxxxxhd69日本护士| 这里只有精品视频| 色多多在线观看| 国模私拍视频在线| 天天成人| 黄色大片视频网站| 伊人成人在线| 欧美一区二区三区在线| 成年人网站免费观看| 免费午夜网站| 亚州一级毛片| 色香焦| 福利社藏经阁| 久久伊人影视| 色女人综合| 日韩电影中文字幕| 操女网站| jlzzjlzzjlzz亚洲女| 中文三级视频|