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

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

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

3天內不再提示

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

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

開源軟件的發行版和分支是不一樣的。了解其中的區別和潛在的風險。

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

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

首先,一些定義

在解釋分支與發行版兩者的細微區別與相似之處之前,讓我們先給一些相關的重要概念下定義。

開源軟件[1] 是指具有以下特點的軟件:

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

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

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

以二進制或者源代碼的方式下載,通常是免費的。(例如,Eclipse 開發者環境[3])

作為一個商業公司的產品,有時向用戶提供一些服務并以此收費。(例如,紅帽產品[4])

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

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

社區community指的是在一個開源項目上協作的團體或個人。任何人或者團體都可以在遵守協議的前提下,通過編寫或審查代碼/文檔/測試套件、管理會議、更新網站等方式為開源項目作出貢獻。例如,在 Openhub.net[6] 網站上,我們可以看見政府、非營利性機構、商業公司和教育團隊等組織都在 為一些開源項目作出貢獻[7]。

一個開源項目project是集協作開發、文檔和測試的結果。大多數項目都搭建了一個中央倉庫用來存儲代碼、文檔、測試文件和目前正在開發的文件。

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

開源項目的商業發行版經常被稱作產品products,因此,紅帽 OpenStack 平臺是紅帽 OpenStack 的產品,它是 OpenStack 上游項目的一個發行版,并且是百分百開源的。

主干trunk是開發開源項目的社區的主要工作流。

開源分支fork是開源項目主干的一個版本,它是分離自主干的獨立工作流。

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

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

獨立前行帶來的風險

一只鳥、帝王蝶或者鯨魚一旦掉隊就失去了許多優勢,例如團隊帶來的保護,以及知道哪兒有食物、庇護所和目的地。

相似地,從上游版本獲取分支并且獨立維護的用戶和組織也存在以下風險:

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

分支用戶有可能運行不太安全的代碼。 由于代碼不同的原因,當開源代碼的漏洞被找到,并且被上游社區修復時,分支版本的代碼可能無法從這次修復中受益。

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

它們可能無法和其他軟件包整合在一起。 開源項目很少是作為單一實體開發的;相反地,它們經常被與其他項目打包在一起構成一套解決方案。分支代碼可能無法與其他項目整合,因為分支代碼的開發者沒有與上游的其他參與者們合作。

它們可能不會得到硬件平臺認證。 軟件包通常被搭載在硬件平臺上進行認證,如果有問題發生,硬件與軟件工作人員可以合作找出并解決問題發生的根源。

總之,開源發行版只是一個來自上游的、多組織協同開發的、由供應商銷售與支持的打包集合。分支是一個開源項目的獨立開發工作流,有可能無法從上游社區協同工作的結果中受益。

參考資料

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

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

[3]Eclipse 開發者環境:https://www.eclipse.org/che/getting-started/download/

[4]紅帽產品:https://access.redhat.com/downloads

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

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

[7]為一些開源項目作出貢獻:https://www.openhub.net/explore/orgs

編輯:jq

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

    關注

    0

    文章

    212

    瀏覽量

    16138
  • 硬件
    +關注

    關注

    11

    文章

    3444

    瀏覽量

    67007
  • 源代碼
    +關注

    關注

    96

    文章

    2949

    瀏覽量

    67541

原文標題:分支與發行版有什么不同?

文章出處:【微信號:gh_3980db2283cd,微信公眾號:開關電源芯片】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    華秋 KiCad 發行版 9.0.1 發布

    . ? ” ? 為什么需要華秋發行版? 華秋電子在去年11月的 KiCon 發布了基于 8.0.6 的首個發行版: 發布后得到了很多小伙伴的積極反饋,但還是會有些疑問,最主要的問題
    的頭像 發表于 04-05 11:19 ?242次閱讀
    華秋 KiCad <b class='flag-5'>發行版</b> 9.0.1 發布

    ADS1100每次復位ADS采集到數據都不一樣,是時序問題嗎?

    為什么我每次復位ADS采集到數據都不一樣啊 是時序問題嗎?
    發表于 02-12 07:06

    用單片機的SPI控制ADS1191,發送命令寫寄存器后讀取相應寄存器的值就不一樣,而且每次讀出來的都不一樣,為什么?

    現用單片機的SPI控制ADS1191,使用內置晶振時鐘,發送命令寫寄存器后,再讀取相應寄存器的值就不一樣,而且每次讀出來的都不一樣,設置讓CLK腳在起振后輸出時鐘信號,示波器也測不到相應的時鐘信號,請給予提示,已經停在這2天了。。。。。。
    發表于 01-23 08:38

    華秋 KiCad 發行版 8.0.8 發布

    的壁壘。 ? ” 為什么需要華秋發行版? 華秋電子在11月的 KiCon 發布了基于 8.0.6 的首個發行版: 發布后得到了很多小伙伴的積極反饋,但還是會有些疑問,最主要的問題
    的頭像 發表于 01-21 16:42 ?895次閱讀
    華秋 KiCad <b class='flag-5'>發行版</b> 8.0.8 發布

    多路采集的空測試值,為什么不裝傳感器的時候每個原點值不一樣

    個8路采集項目,壓力采集都沒有問題,現在問題是不裝傳感器的時候每個原點值不一樣,比如說4路是10000,4路是80000,這個是什么
    發表于 12-27 10:45

    華秋 KiCad 發行版 8.0.7 發布

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

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

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

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

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

    科技云報到:假開源真噱頭?開源大模型和你想的不一樣!

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

    空載時輸出波形如圖2所示,發現相位相反,幅度不一樣,為什么?

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

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

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

    為什么OPA695仿真軟件的仿真結果和數據手冊給出的參數不一樣呢?

    請問為什么OPA695仿真軟件的仿真結果和數據手冊給出的參數不一樣呢,請看下圖: 1、仿真軟件結果:帶寬195MHz 2、數據手冊給出的參數:帶寬350MHz
    發表于 08-16 07:39

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

    我用了opa818,但是個通道的Cf需要變大,需要換成opa817才能穩定,否則震蕩。 但是我在對比兩個運放的參數時候,個疑問,兩顆運放明明是
    發表于 07-30 06:16

    請問pad和pin什么不一樣?

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

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

    我現在發現個問題,就是用iar debug進去的程序和用STVP燒錄的程序不一樣,STVP燒錄的程序運行速度快于IAR,諸位有誰知道原因的? 定時器的速度并沒有變化,但是程序運行速度卻不一樣 注意:是STVP,不是stvd
    發表于 05-08 06:53
    主站蜘蛛池模板: 欧美在线免费 | 亚洲福利午夜 | 久青草视频在线 | 男人呻吟双腿大开男男h互攻 | 扒开末成年粉嫩的小缝强文 | 九九热在线视频观看这里只有精品 | 在线天堂bt种子 | 天天天色 | 三级色网站 | 人人干人人爽 | 天天操电影 | 影音先锋 色天使 | 很黄很暴力 很污秽的小说 很黄很黄叫声床戏免费视频 | 午夜免费在线观看 | 国产精品夜夜春夜夜爽久久 | 色在线免费观看 | 国产重口老太和小伙乱视频 | 啪啪午夜免费 | 婷婷久操| 免费一级特黄特色大片在线 | 色噜噜狠狠色综合欧洲selulu | 国产一区二区高清在线 | 日本三级高清 | 国产高清区 | 永久看免费bbbbb视频 | 日日搞夜夜操 | 中文字幕精品一区影音先锋 | 日本美女黄色一级片 | 国产三级国产精品国产普男人 | 一级一级特黄女人精品毛片 | 亚洲黄色天堂 | 日韩孕交 | 亚洲va久久久噜噜噜久久狠狠 | 欧美国产精品主播一区 | 夜夜爽一区二区三区精品 | 伊人操| 国产一区中文字幕 | 中国人黑人xxⅹ性猛 | 亚洲伦理中文字幕一区 | 久久精品94精品久久精品 | 最新版资源在线天堂 |