注意:當我們說到Git時,我們并不是指GitHub。GitHub是一個集中式平臺,而Git是一個協(xié)議。你可以使用Git而不使用GitHub,而是將你的代碼存儲在GitLab或BitBucket等平臺。
現(xiàn)在的代碼協(xié)作大多是通過GitHub進行的。也有像GitLab和BitBucket這樣的替代品,但GitHub是迄今為止使用最多的Git平臺。
然而,使用GitHub并不是免費的午餐。GitHub為微軟所擁有,而集中化就意味著要進行權(quán)衡。既然你在GitHub的平臺上托管你的代碼和內(nèi)容,這意味著如果他們想的話,可以對你進行審查。讓我們看一個例子。
youtube-dl是一個免費和開源的下載管理器,用于下載YouTube以及其他1000多個網(wǎng)站的視頻和音頻。它是GitHub上星級最高的項目之一,有超過100,000顆星。
2020年10月,GitHub根據(jù)美國唱片業(yè)協(xié)會(RIAA)的要求,關(guān)閉了youtube-dl存儲庫,以及該項目其他各種公開分叉。
這引發(fā)了很多爭議,并強調(diào)了開源軟件和代碼是如何因其被托管在一個集中的平臺上而被取締的。盡管GitHub在2020年11月因公眾的反感而公開恢復了該倉庫,但這仍然表明他們對你的代碼擁有多大的權(quán)力。
由于 GitHub 是一家美國公司,所以他們必須按照美國政府的規(guī)定行事。作為一個中心化平臺意味著 GitHub 可以禁止任何他們想要的人進入平臺,并阻止他們通過全球最大的開源平臺參與開源。
迫于美國政府的壓力,GitHub 目前已封禁所有伊朗、敘利亞和克里米亞賬戶。這與建設(shè)自由開放社區(qū)的價值觀和使命嚴重不一致。
本著去中心化和消除中介控制的精神,Radicle 成為一種去中心化的代碼協(xié)作工具。它提供了與 Git 類似的功能,沒有集中的平臺風險。
開源運行世界
你可能以前聽過這個。免費和公共代碼使構(gòu)建軟件變得更加容易和便宜,行業(yè)的創(chuàng)新也因此呈指數(shù)級增長。
像 GitHub 這樣的代碼協(xié)作平臺無疑發(fā)揮了巨大的作用,并且永遠改變了開發(fā)人員編寫和維護軟件的方式。但是,它們是中心化的,您在這些平臺上所做的一切都被鎖定并僅存在于這些平臺上。
作為實現(xiàn)真正目標的替代方案,Radicle 建立在以下原則之上:
Radicle 網(wǎng)絡(luò)建立在名為 Radicle Link 的點對點協(xié)議之上。Radicle Link 擴展了 Git 協(xié)議,并添加了廣播消息,以分散的方式找到對相同數(shù)據(jù)感興趣的對等方。
Gossip協(xié)議是一種去中心化的通信協(xié)議,所有節(jié)點隨機與其他節(jié)點對話并請求信息或共享他們想要的信息,并通過將知識轉(zhuǎn)發(fā)給其他節(jié)點,“Gossip”最終會給那些想要你所擁有的,或擁有你所想要的的節(jié)點讓路。
與IPFS分享數(shù)據(jù)的方式非常相似,Radicle網(wǎng)絡(luò)的參與者通過保留一份本地拷貝并分享他們感興趣的數(shù)據(jù)來分享和傳播。由于它是Git協(xié)議的擴展,它通過點對點網(wǎng)絡(luò)保持了Git的數(shù)據(jù)傳輸協(xié)議的效率。
在Radicle中,存儲庫被稱為項目,它們被復制并由同伴共享。如果你曾經(jīng)使用過torrent,'peers '這個詞可能聽起來很熟悉。從本質(zhì)上講,他們是尋找他們感興趣的數(shù)據(jù)的人或組織,或者將他們已經(jīng)擁有的數(shù)據(jù)公開給其他同行使用。
如果你想更深入地了解Radicle Link到底是如何工作的,你可以在這里找到更深入的規(guī)范文件[1]。
雖然它們是為解決相同的問題而構(gòu)建的,盡管方法不同,但使用 Radicle 的方式與使用 GitHub 的方式有些不同。
與 Git 不同,Radicle 項目沒有單一的規(guī)范視圖(即主/主分支)。相反,Radicle 項目有多個上游,即代碼的不同分支,由代碼維護者和貢獻者維護。
要從貢獻者那里獲取和接收更改,您必須將它們作為遠程添加到您的項目中。這會自動跟蹤他們,您可以訂閱他們在上游進行的新代碼更新。
要真正開始使用 Radicle,主要方法是下載Radicle Upstream桌面客戶端。它是一個開源客戶端,充當您通往 Radicle 網(wǎng)絡(luò)的網(wǎng)關(guān)。
不幸的是,Radicle Upstream 桌面客戶端目前不支持 Windows。它僅適用于 Linux 和 macOS。
在 Radicle 上創(chuàng)建項目的基本工作流程與 GitHub 的工作方式非常相似:
要查看在 Radicle 上托管的開源項目,您需要訪問該項目的 Radicle ID。
使用桌面客戶端,您可以搜索 Radicle ID。這將在 Gossip 協(xié)議上發(fā)送信息請求消息,一旦您找到可以與您共享該信息的對等方,您將能夠查看該項目。
要為開源項目做出貢獻,您可以像往常一樣分叉一個項目并對其進行更改。
然后,如果原始存儲庫將您的分叉添加為存儲庫的遠程,則原始存儲庫可以跟蹤您的更改。
這將讓他們自動跟蹤您的更改并生成補丁,這些補丁可以自動從您的 fork 合并到原始存儲庫中。
Radicle 可選擇與以太坊集成。用戶可以選擇加入集成,這將允許他們通過使用 ENS 為您的個人資料和組織擁有唯一的全局名稱,通過將成員鏈接到以太坊錢包來在 Radicle 上擁有去中心化組織,并能夠接受加密貨幣的貢獻你的開源項目。
此外,Radicle 在以太坊上也有 $RAD 代幣,這是 Radicle DAO 的治理代幣。該代幣在控制 Radicle 網(wǎng)絡(luò)的 DAO 中提供投票權(quán)。
希望這篇文章對 Radicle 是什么、它與 GitHub 有何不同、為什么它很重要以及它是如何工作的有一個概念性的概念。
在接下來的教程中,我們將對 Radicle 進行實際介紹,并完成在 Radicle 上實際設(shè)置存儲庫并與他人共享的過程。
注意:由于我們等待 Radicle 團隊發(fā)布也可以在 Windows 上運行的跨平臺 CLI 客戶端,因此實際 Radicle 級別略有延遲。但是,如果您是 Linux 或 macOS 用戶,我們強烈建議您下載 Radicle Upstream 客戶端并嘗試在 Radicle 上創(chuàng)建項目。
[1] 你可以在這里找到更深入的規(guī)范文件: https://docs.radicle.xyz/understanding-radicle/how-it-works
聯(lián)系客服