【開源社】您會為開源專案貢獻程式碼嗎?

TP_funny發表於2015-02-10
您已經寫了一些程式碼
您為您關注了一段時間的專案寫了一些程式碼。您參與到了使用者郵件列表的討論中,也默默關注著開發者的討論郵件列表。您也從每日構建倉庫中下載了原始碼,您也在您認為需要調整的某些特性寫了些程式碼。
您是否可以將這些程式碼片貢獻到專案中去呢?

軟體是一項有版權的工作
軟體的原始碼是受版權保護的。一旦您的想法出現在固定的媒介上,紙質的或電子的,就會受到版權保護,程式碼的版權也是如此。
版權持有人可以以自己認為合適的方式處理自己的這些資料,這包括各種不同的授權方式。
開源軟體的程式碼釋出前是需要經過 OSI 認證的。如果您想讓您的程式碼在專案中使用,您必須要找到合適的授權方式進行許可。有兩種方法實現:
  • 將程式碼的版權移交給專案
  • 通過合適的方式將程式碼運用到專案中
有些專案會要求指定版權,這樣一來,在他們今後有關版權處理的問題會變得容易解決。這也是方案之一。
大多數專案只需要您將程式碼,以與專案許可相相容的方式授權許可即可。
以上兩種情況存在一個相同的約束:僅有版權持有人擁有重新分配版權和許可他人使用其版權資料的權力。
您是否有權許可這份受版權保護的資料呢?

您是版權持有者嗎?
大多數的僱員通常不是其在工作中所編寫的程式碼的版權持有者。當然,這也會因組織或其在組織中的角色不同而不同。請注意:即便是您在家裡寫的程式碼,也並不表明您擁有對此程式碼的版權;有關細節,還是應當以僱傭條款為準。
您是否是版權持有者,用工合同應當做出了相關的說明。如果沒有,您應當諮詢用工合同中引用的相關機構政策,如智慧財產權政策。如果您是一名學生,您需要查詢相關的助學金協議或大學章程,因為您的學校可能會在這裡宣告您在校期間的所開發的內容版權屬於學校。
在後續操作之前(甚至更早),您應當確定誰是版權持有者。 
您是實際版權持有者嗎?

如果您是版權持有者
如果您對自己的版權資料擁有實際的版權,那麼恭喜您!您可以按照您的意願處理自己的智慧財產權了。包括將其授權應用於一個開源專案。您甚至可以將其分配到正在討論的專案中,或是贊助該專案的上層組織(如自由軟體基金會)。
如果願意,您甚至還可以雙重許可您的程式碼。具體地說,您可以以一種許可方式授權某人或某組織,同時以另一種方式授權另一個人或組織。因為您對自己的版權資料擁有絕對的處理權,所以這也是情理之中。

如果您不是版權持有者。
如果您不是版權持有者,您就必須徵得您僱傭合同上註明的版權持有者的同意,以處理相關受版權保護的資料。
在我們的例子中,為了將您的程式碼貢獻到開源社群,版權持有者必須明確授權您貢獻其所持有的版權。然而,需要指出的是這其本身的版權不會產生影響。
貢獻到開源社群的程式碼通常會保持原著作人的版權。如果需要移交版權,就必須啟動一個更正式的程式。這通常會需要交換法律檔案,從而將版權移交大另一方。其過程相當繁瑣,因為也極為罕見。
但是,即使沒有移交版權,在程式碼貢獻到開源專案之前您也必須先獲得同意授權。除此之外,您還需通過貢獻者許可協議的形式來提供同意授權證明。
您應當如何讓您的僱主或機構,同意您向開源專案貢獻其版權所屬的資料呢?

從哪裡開始呢?
通常來說,在您的組織裡,會有專人負責智慧財產權。或是法務部門,或是研發部門,對於小組織來說也可能是某位經理。然而,您最好是先諮詢下您的直接領導,請他(她)幫助您將請求轉達至有關負責人。
如果運氣好,您的經理或部門負責人即有權對此做決定。
如果沒那麼幸運,您的經理或部門負責人沒有直接的權力,但至少可以告訴您所在組織內的一系列的程式,從而幫助您獲取相關許可以將程式碼貢獻到開源專案中去。
這可能意味著您要和法務部門打交道。他們通常會討論這項智慧財產權的價值以及將其釋出後要承擔的責任。
遺憾的是這其中涉及到的步驟可能會很多,且各個組織各有不同。並且其結果也是難以預料。

一個更好的方法
具有前瞻性的機構會意識到,程式碼的貢獻,無論是程式碼片的形式還是重大的模組的形式,是與開源專案展開機構合作的重要環節。那麼如何優化這一過程?
例如,當 Open University (英國國家高等教育機構)為其未來的虛擬學習環境(VLE)選擇 Moodle(用於製作網路課程或網站的軟體包,一個全球性的開源專案)時,也參與到了 Moodle 的可持續發展中,結果為開源開發帶來了大筆量化、受控的投資。開放大學在這個專案中的貢獻不僅僅是讓 Moodle 更加強大,也是機構參與開源社群的典範。
另一個例子是劍橋大學參與到 Sakai(一個自由、開源的線上協作和學習環境)專案中。在 Sakai 的早期階段,專案側重於為參與到專案的教育機構創立管理框架。主要的目標在於保證軟體及時按照優先順序次序進行釋出。然而,在 Sakai 的試行期間發現,對於專案的整體可持續性發展而言,統籌各個機構進行專案開發和程式碼貢獻極為重要。劍橋及其成員夥伴認為,建立以共享程式碼為核心的社群非常重要。隨著他們的不懈努力,專案進入了更開放的發展模式。
來自:部落格園
評論(1)

相關文章