如何尋找可行之路?開源律師如是說
正如我在這個分為兩部分的系列文章的第一部分中所分享的那樣,我是 紅帽公司 的一名開源律師。我工作中的一個重要部分是向其他公司(包括其內部法律顧問)提供有關紅帽公司如何採用完全開源的開發模式來構建企業級產品的信息,並回答他們有關開源許可的一般問題。在聽了紅帽公司的成功經驗之後,這些律師與我對話的話題常常轉變為其所在組織如何發展成為更具開源意識和能力的組織,他們也經常詢問我如何改善他們的做法,以便更熟練地為其組織的僱員提供開源法律諮詢。在這兩篇文章中,我將分享我通常在這些主題上告訴內部法律顧問的那些內容。
總是要找到一條可行路徑
我的僱主紅帽公司在使用開源軟體方面的獨特之處在於,我們的開發模式始於具有數千名貢獻者的開源社區,併產生了經受過嘗試、測試和信任的最終產品。更具體地說,通過我們獨特的開發模式,我們從社區創建的開源軟體開始,並在每個項目的基礎上加強安全性,修復錯誤,修補漏洞並添加新功能。然後,我們將這些改進回饋給每個項目,以便使整個開源社區受益。此方法的效用非常重要,包括:
- 通過內部團隊與組織外部其他人之間的協作來利用外部創新;
- 當現有或潛在的社區與您在同一問題上開展工作而且能夠合作時,可以避免您自己開發和維護開源解決方案的成本和效率低下的問題;
- 通過與合作夥伴和上游項目社區的富有成效的合作,能夠避免維護主項目下游分支的昂貴代價。
- 一些公司發現創建上游代碼的非公共分支很誘人,因為它是解決特定 用例 的快速方法,或者因為它們不願意在社區中進行協作。然而,由於增加的開發成本、互操作性損失和其他原因,這種分支的長期維護負擔可能是令人望而卻步的。相比之下,將開發集中在原始上游社區中,可以在所有參與者之間分擔開發成本。
除少數例外(例如紅帽公司)外,大多數使用開源軟體的組織可能都擁有專有軟體許可模式(或與 SaaS 等效的概念),並在其業務中對專有軟體進行許可。這些組織認為他們擁有可以提供某些競爭優勢的軟體組件,並且不希望看到這些組件在開源條款下對其他人可用。這是可以理解的。但是,我會鼓勵任何諮詢此類問題的開源律師來敦促其客戶採用開源開發模式,尤其是對於所有無差異且通用的軟體。
例如,如果您的公司開發了用於手機的應用程序,並且您需要一個軟體模塊來讀取和寫入 PNG 圖像文件,那麼使用 GitHub 上流行的開源 PNG 軟體模塊之一將便宜得多。對於您的業務而言,對 PNG 圖像進行編碼和解碼可能是無差別的,那麼為什麼要花費寶貴的工程時間來編寫自己的版本?此外,為此功能編寫自己的模塊也可能會導致與使用常用開源模塊的其他軟體的兼容性問題。這是為什麼呢?儘管您的模塊和開源模塊可能已被編寫為對已發布的 PNG 規範進行編碼和解碼,但有時對規範的解釋可能會有所不同,也可能會出現實施錯誤。使用同一模塊執行此功能的每個人都可以確保大多數用戶的兼容性,並降低開發和維護成本。
還必須意識到,您可能需要某些軟體來保持專有性,並且不受開源條款的約束。取決於您系統的軟體體系架構和所使用的開源許可證,除非採取某些措施(超出本文的範圍),否則打算保留專有權的軟體代碼可能會受到開源許可證條款的約束。在這裡向客戶提供一些有關許可證選擇和體系架構的諮詢服務將變得很有用。
尋找靈活的解決方案
之前主要許可專有軟體的組織逐漸增加了對開源軟體的使用,但審核和批准的要求可能會增長(以我的經驗甚至成倍增長)。由於資源限制,這樣的組織可能會陷入困境。下面介紹了一些可以採用的靈活的解決方案。
授權並委託他人
律師不能也不應成為看門人。那樣效率低下,並且肯定會導致開發和發布時間出現瓶頸,從而產生挫敗感和收入損失。相反,應將審批許可權授予產品或項目管理和工程領域有能力的個人。這可以讓組織有效地保持靈活性。對客戶進行教育(請參閱下一節)對於成功實現這一點至關重要。
我採用的一種方法是為整個工程組織提供開源培訓,以便他們可以進行基本的許可模式和體系架構選擇,同時為軟體開發人員提供更專業的培訓,以使他們能夠提供更複雜的指導和決策。也要考慮在每個級別上對許可權進行明確限制,包括哪些類型的問題和決定必須上報給作為他們開源律師的您。您組織的特定授權級別將取決於您團隊在開源方面的經驗以及對某些開源問題的敏感性。
教育客戶
我發現培訓是將您的組織遷移到更具開源意識組織的最有效工具之一。培訓您的軟體工程師和產品經理至關重要。讓我詳細說明。
儘管您的軟體工程師處在最前沿,並且通常可能對開源問題和軟體許可非常了解,但是基於您組織的特定要求對他們進行培訓仍然很重要。例如,您的公司可能只允許使用寬鬆的開源許可證,並且可能對其版權聲明和源代碼可用性有某些要求。為避免開發中出現隨後必須糾正的問題(一種昂貴且耗時的實踐),最好培訓工程師最大程度地減少不當行為的可能性,尤其是在所有開發過程的開始時(請參閱下一節)。
產品經理也必須接受培訓。在許多公司中,產品經理負責營銷的經典四個環節(產品、價格、定位和促銷),並負責產品從生到死的整個生命周期。產品經理工作的方方面面可能會受到使用開源軟體的影響。出於上述相同的原因,了解使用開源軟體的要求對他們很有用。此外,更重要的是,產品經理在組織中的重要影響,意味著他們通常能夠對流程和政策進行必要的更改。產品經理可能會成為您針對「開放」進行流程變更的最強有力的擁護者之一。
早期發現
在開發過程快要結束時解決開源許可問題非常困難且成本很高。隨著軟體的發布日期臨近,體系架構和開源軟體模塊都是已經選定且難以更改了。如果檢測到問題,例如專有軟體模塊中嵌入的「左版」(copyleft)軟體(當該專有模塊無意受開源條款約束時),則在該開發階段修改體系架構或模塊可能非常困難且成本昂貴。相反,應該在開發過程中儘早進行架構分析和開源模塊選擇的過程,以便可以進行成本更低且更有效的更正。
開源法規的「獎勵」
實踐開源法規是一項有益的職業,因為它具有影響組織朝著「開放」方向發展的能力,這具有很大的好處。是否成功取決於您隨著組織的成長和成熟而找到具備可行性和靈活性的解決方案的能力。
作者簡介:Jeffrey R. Kaufman 是全球領先的開源軟體解決方案供應商 紅帽公司 開源法務團隊的資深商務法律顧問,還擔任 北卡羅來納大學 的兼職法律教授。在任職紅帽公司之前,Jeffrey 曾擔任 高通公司 的專利和開源法律顧問。
譯者簡介:薛亮,集慧智佳知識產權諮詢公司互聯網事業部總監,擅長專利分析、專利布局、競爭對手跟蹤、FTO 分析、開源軟體知識產權風險分析,致力於為互聯網企業、高科技公司提供知識產權諮詢服務。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive