開發者原產地證明

2023 年 10 月 31 日,作者:Stian Thorgersen

對於任何開放原始碼專案,重要的是,任何貢獻都包含可以合法貢獻給專案的程式碼,並且該專案有權在其授權下發布該程式碼。有很多方法可以實現這一點,其中兩種流行的方法是開發者原產地證明 (DCO) 和貢獻者許可協議 (CLA)。

開發者原產地證明 (DCO) 是最輕量級的方法,它要求貢獻者對作為貢獻一部分的個別提交進行簽署。這可以透過在建立提交時使用 --signoff (-s) 選項輕鬆完成。例如

git commit -s -m "Description of the commit"

這會在提交的末尾新增一個 Signed-off-by 聲明,其中貢獻者證明他們遵循了 開發者原產地證明 (DCO) 中規定的協議。

另一方面,貢獻者許可協議 (CLA) 是一種更複雜的方法。作為 CLA 的一部分,任何貢獻者在做出任何貢獻之前,都需要與專案簽署一份預先協議。這為貢獻者提供了更高的門檻,也為開放原始碼專案帶來了更高的成本,因為它必須維護一份經批准的貢獻者清單,並附帶相應維護的協議存檔。

對於 Keycloak,我們決定採用 DCO,因為我們認為它對貢獻者和維護者來說都簡單得多。

如果您有興趣了解更多關於 CLA 與 DCO 的資訊,opensource.com 上有一篇關於此主題的優秀文章