復刻 為 fork 的中文翻譯定名

2021-09-23 15:52:11 字數 1871 閱讀 4176

使用過 github 的人大多知道它上面有個「fork」的功能,用來將某個倉庫轉殖到你的賬戶之下,從而可以對其進行修改、衍生,也可以比較方便的將你的修改推回到原來的倉庫(所謂的上游)。

隨著 github 的流行,我們經常能在各種文章中見到,「fork 某某專案」等說法,是的,「fork」這個一直沒有乙個正式的譯名。

其實這個問題不獨出現在 github 中,fork 這個詞更早的出現在 unix/linux 中的 c 語言程式設計之中。在 unix/linux 的程序模型中,fork 是指程序建立自身副本的操作,它通常是乙個在核心中實現的系統呼叫。fork 是 unix 類系統中程序建立的主要方式(歷史上曾經是唯一的方式)。從那個時候起,fork 就一直沒有乙個確定的譯名。

不過,我們認為,對於這樣的乙個經常使用的專業名詞,有乙個明確的譯名比較適合,雖然大家都習慣了直接用 fork 一詞。

fork 一詞在英文中的原意是「叉子」, 雖然翻譯成「分叉」、「分支」似乎也可以,但是前者較少用做動詞,後者則和 branch 的譯名重複混淆。

據 linux 中國翻譯組(lctt)的譯者 dongfengweixiao 提議,可譯作「復刻」,我們認為這是乙個可取的譯法,一方面照顧到了音譯,另一方面其釋義也形象直觀。

補充 1,「復刻」這樣的譯法,在網路上已存在,包括中文維基中也採用該譯法,只是並未得到公認和流行。

補充 2,據 @愛開源魅影 稱,git 軟體包裡面,蔣新將「fork」譯為「派生」。似也可取。

既然說到這裡,順便我們對復刻fork做乙個技術方面的簡介吧。

在 github 上評價乙個專案(倉庫)是否流行,其中乙個重要指標就是其復刻fork數。

在 github 上參與乙個開源專案的程度有三個階段:

顯然,乙個專案的復刻數越高,代表著貢獻者越多。

通過復刻fork + pr 的方式對開源專案進行貢獻的流程類似下圖:

我們知道 github 是執行在 git 之上的,github 中的復刻fork其本質上是 git 中的轉殖clone。關於 github 中的復刻的進一步介紹,可以參考「在 github 和 git 上 fork 之簡單指南」一文。

順便說一句,我們的 lctt 翻譯組就是通過復刻fork + pr 的方式運作的,這也是 github 上絕大多數開源專案的運作方式。

在 unix 下的 c 語言程式設計中,通過 fork() 系統呼叫來對程序本身進行複製,然後被複製出來的子程序就可以執行不同於父程序的操作,或通過 exec() 執行其它程序。典型的 c **如下:

fpid 

=fork

();if

(fpid

<0)

printf

("error in fork!"

);elseif(

fpid ==0

)else

所有的伺服器守護程序,包括你所見到的 web 服務、mysql 資料庫服務等,都是通過這種方式來產生子程序來提供服務的。甚至,整個 linux/unix 中的程序,除了 init 程序本身之外,都是由 init 程序復刻fork出來的。關於伺服器程式設計方面的復刻fork的使用,可以進一步參閱「搭個 web 伺服器(三)」一文。

其實,不只是 c 語言裡面有復刻fork的功能,在 shell 裡面也有,想必大家可能都聽說過 「fork 炸彈」,這就是利用函式的迭代執行,無限復刻fork出許多子程序,從而耗盡系統資源,導致系統崩潰的乙個惡意(玩笑)用法。

復刻炸彈有很多種形式,不過最簡潔的可能就是如上圖的這個了,關於這個炸彈的具體解釋,可以參閱「經典的 fork 炸彈解析」,在此就不贅述了。

原文發布時間為:2016-10-20

jabber 規範的中文翻譯

jabber 的相關規範已經有人做了翻譯 url 正式rfc標準 url 做個記錄,4.3.流的安全 在xmpp 1.0中,當xml流開始握手時,tls應該 should 按 第五章 tls的使用 中的規定來使用,sasl必須 must 按第六章 sasl的使用中的規定來使用。儘管可能 may 存在...

SERVER變數的中文翻譯

伺服器變數 server 詳解 1 session php self 獲取當前正在執行指令碼的檔名 2 server server protocol 請求頁面時通訊協議的名稱和版本。例如,http 1.0 3 server request time 請求開始時的時間戳。從 php 5.1.0 起有效...

很值得看看的中文翻譯The Django Book

不但原著漂亮,中文翻譯也很好 網路版免費,排版也很優美 實在是作相關工作之不可不讀 最近更新 貢獻者 方便自己也方便大家,敬請積極參與翻譯!december 12,2007 chapter 1 introduction to django 第一章 django介紹 完成度 100 december ...