與自由軟體社群合作

1. 什麼是「社群」?

在自由軟體的領域中,「社群」是重要的概念,因為這是執行自由軟體開發的核心單位。通常一個社群由軟體開發者、使用者與其他有興趣者所組成。

每一個社群都不盡相同,並且有不同的目標、做事方法與要求標準。因此,跟某甲社群的合作方式,不見得可以套用在跟某乙社群的合作上。有些社群歡迎與私人企業合作,不過有一些社群卻對此採取敵對的態度。然而規模越大的社群, 如 Linux kernel 幾乎都很歡迎與私人企業合作。

 

2. 為什麼我要和自由軟體社群合作?

與社群合作有一些好處。例如,當您利用了某社群開發的專案的程式碼,並且對這些程式碼做了一些修改,若是這些修改被納入到「上層」(upstream) 的原始碼中,這意味著:

  • 如果該軟體有新版本釋出時,您的修改將會直接被納入到新版本中,可以省掉將自己的修改納入新版本的功夫;
  • 您的程式碼可以被社群開發者同儕審閱,並且可能因此獲得改進;
  • 對您公司的對外公共關係有益處;
  • 若這個軟體是 GPL 授權的話,在管理上會比較容易,因為當散布原始碼時,不會有補丁 (patches) 被遺漏而未散布出去。

 

 

3. 我該如何與自由軟體社群合作?

這邊提供您一些重要原則,可以增加您的貢獻被社群接受的機會:

  • 使用跟那個專案開發社群一樣的軟體寫作風格 (coding style)。社群的開發者習於慣用的軟體寫作風格,並有時因此而拒絕風格不同的程式碼;
  • 不要期望大的補丁會立即被接受,因為有些補丁只方便特定使用者利用,並無法讓大部分的使用者受惠,所以在被接受之前需要時間修訂;
  • 保持開放的態度,而若是您有什麼不懂的話,就請開口問;
  • 別把社群討論中的批評當作是人身攻擊。許多開發者也許蠻無禮的,尤其在 Linux kernel 的郵遞論壇中有不少這樣的開發者,但這是因為寫出高品質程式碼是這些開發者引以為傲的事情,因此他們也期待別人會想寫出好的程式碼,卻不善於圓滑地表達。請記住:這些批評並非人身攻擊,也並非是針對您公司的批評,這些開發者關心的只有程式碼品質而已。

 

 

4. 尋求協助

有一些公司提供相關諮詢服務,協助他人如何利用自由軟體與如何將貢獻內容回饋給社群,提供諮詢的公司包括了 IBM、HP 等大型提供者, 以及 Olliance、Opendawn 等小型管理諮詢公司,還有像是以工程師為主要諮詢提供者的 HMW Consulting 與 Loohuis Consulting 兩間公司。

 

© 2010,著作權所有。作者:Armijn Hemel, gpl-violations.org;譯者:葛冬梅,自由軟體鑄造場。

此中譯版之授權條款為:創用CC - 姓名標示 - 禁止改作 3.0 台灣

 

原文(英文版)檔案下載:ODT / PDF





分類: 開發者注意事項