鄭婷宇撰文 / OCF Lab 編輯

輔助資通訊科技界(Information and Communication Technology,簡稱 ICT)做好開源合規的 OpenChain 流程標準,已在美國時間 2020/12/16正式成為 ISO 認證的一環(序號為 ISO/IEC 5230:2020),對組織的創新與開發管理都是十分重要的消息。多數 ICT 廠商都有使用自由開源軟體,但在授權合規上由於缺乏管理流程,常呈現一片紊亂,再者,若軟體開發涉及上下游各公司加疊的供應鏈關係,會讓授權問題更加複雜難解,嚴重時就猶如一顆未爆彈。當這樣的狀況發生時,OpenChain 就是協助拆卸這些不確定因子的解決方案。

圖片來源:OpenChain 官方網站

OpenChain 是要 Open 什麼?

無論是軟體還是韌體,當代的數位產品幾乎都會在開發過程中使用到自由開源軟體,但一般來說,除非產業公司已達跨國規模,設有專職部門處理開源合規;一般中小規模的廠商,鮮有餘裕或心力,能鉅細靡遺的遵照自由開源軟體授權條款的要求,釋出相對應的程式源碼並標註正確「顯名聲明」。然而整個 ICT 領域若持續失序,多數廠商在供應鏈裡,缺乏開源程式碼的管理流程配套,屆時即使最後的產品發布產業具相當規模,當產生開源授權合規的爭議甚至訴訟時,恐也難以一己之力修補這樣的合規漏洞,而會面臨訴訟無法和解、衍生不必要的損害賠償,或被禁制令要求停止交付產品及供貨的結果。

根據台灣開源法律網絡的共同創辦人林誠夏的整理,歷年來國內廠商不符開源授權規範,最常見的有以下幾個行為:

  1. 沒有提供產品裡採 GPL 授權的程式源碼;
  2. 誤認 GPL 元件的改作範圍,因此未提供改作範圍的程式源碼;
  3. 不清楚相關編譯工具及安裝資訊同屬 GPL 源碼範圍,因而沒有提供完整程式源碼;
  4. 刻意隱藏所使用的自由開源軟體的相關資訊;
  5. 沒有依照多數授權條款的要求標注專案的原始開發者。

擔任 OpenChain 專案治理委員的林上智指出,這些開源合規(Open Source Compliance)的爭議,因為牽涉到跨領域的專業知識,若沒有預作管理規劃,恐在實務裡更為難解:對工程人員而言,這牽涉到法律問題;對法務人員而言,程式碼之間的互動關係,遠超出其本職的涉獵範圍。無論是使用者違反授權而導致釋出的源碼稀少,或是因授權問題而導致使用者卻步,都會弱化開發的生態系,並非開放源碼界樂見的結果。OpenChain 就是為了降低使用開源軟體的風險而生的解決方案,藉由導入一套高品質及與業界共通的自由開源軟體的管理流程,建立供應鏈上下游廠商彼此間的信任基準,讓不同組織間能夠交換自由開源軟體組成的軟體解決方案。

怎麼落實 OpenChain? 

每間公司有各自做事的方法,比起訂立一部要所有組織遵循的規則,OpenChain 建立的導入模式,是提供一套幫助組織打造適合自身規模、目標及範圍,且可融入既定管理流程的原則!因此,每間通過 OpenChain 認證的公司,都有一套符合自身需求的自由開源軟體管理流程,即使是同一間公司內的不同部門,也可以各自細化不同的管理流程,並個別通過 OpenChain 的流程認證。通過 OpenChain 認證者,雖然不能擔保該公司或該產品部門,一定不會有開源合規的問題,如同 ISO 22000 食品安全管理系統的認證,無法保證該公司的產品絕對沒有食安問題,但可以信任該公司在食品處理上,已就標準作業流程來進行,既然流程已作妥善管理,發生食安問題的概然率自然也能大幅降低。 OpenChain 類同於此,透過建立開源合規的處理流程,讓廠商能信任當發生開源合規的問題,該公司或該部門能依循 OpenChain 導入的流程及步驟,依序將相關爭議在合理期間進行適當的處理,從而釐清發生爭議的軟體是什麼、如何解決問題,讓公司不再對自家產品使用的自由開源軟體授權狀態一問三不知。想了解完整的 OpenChain 規格書,可參考由 OpenChain 社群協作,OpenChain 專案官方發布的繁體中文規範書

將 OpenChain 導入產業組織,常遇到的難題是「政治因素及對現行管理框架的衝擊」,因此,林誠夏整理較務實的六點做法,給預計落實及導入 OpenChain 開源合規流程的公司參考:

  1. 政策書會訂立內部標準,告訴員工能或不能使用哪些自由開源軟體程式的依據,以及達到開源合規的流程是什麼。政策書一定要由公司內部的執事人員協力撰寫,避免曲高和寡,寫出該公司無法實踐的流程;
  2. 開源合規須設立專任的協調窗口,且該窗口不能只是傳聲筒,需要由在公司握有一定管理地位和協調能力的人擔任,才會知道該將什麼資訊傳遞到什麼部門;
  3. 目前開源合規產生的爭議,由於供應的流向,最後都必須由品牌商承受,故為建立供應鏈的信任基礎,從產品的最上游到下游廠商,都應產製出所使用的自由開源軟體清單;
  4. 無論是透過公司內部驗證或外部顧問,公司應訂立可驗證自由開源軟體清單的流程及步驟;
  5. 公司應訂立參與開源社群的容許或行為規範,不再只是單向取用自由開源軟體的既定成果,還應進一步做到成果貢獻,達到能與社群交流,才能惠己惠人;
  6. 目前 OpenChain 最新版本為相容於 ISO 格式的 2.1 版。每當 OpenChain 規範的版本更新,公司需要再次通過驗證才能將流程更新到合宜狀態。即使 OpenChain 規範的版本未更新,公司也需要每 18 個月更新一次公司內部的開源合規狀態,來確保公司各單位有妥善落實 OpenChain 開源合規的流程。

為什麼 OpenChain 很重要?

隨著 OpenChain 進入國際標準化組織(International Organization for Standardization,簡稱 ISO),國際間的 ICT 大廠自然希望能將此新成形的共通標準應用到自由開源軟體的商用導入,期待跨地域、跨領域的合作廠商皆能取得 OpenChain 認證,因為這代表該產業供應鏈內的開放源碼授權狀態可被掌握,得以擺脫過往上下游廠商,對開源合規狀態捉摸不定、權責不符的混亂狀態。也就是說,透過導入 OpenChain ISO 標準,供應鏈裡各參與廠商將能清楚了解在哪個開發環節使用哪些自由開源軟體,並進一步釐清發生授權問題的解決方案。

通過 OpenChain 驗證的廠商的優勢在於,OpenChain 可協助達成以下目標:

  1. 產出使用的自由開源軟體清單;
  2. 適時提出應提供的開源程式源碼;
  3. 理解某些專案認證金鑰的提供要求,並預作資安防護上可行模式的規劃;
  4. 協助完成授權條款所需的顯名標示及免責標示的要求。

Toyota 是第一個正式宣告符合 ISO 認證的 OpenChain 2.1 版本的公司,Google、微軟與索尼等國際大廠與台灣本土企業 MOXA 亦長期推動 OpenChain 成為業界標準。如果各家企業想通過 OpenChain 認證,可透過線上測驗自我測驗或委外進行獨立評估,亦可尋求第三方機構進行認證。

林誠夏在「OpenChain 台灣社群聚會:首發工作坊」打趣的說,台灣的產業界,常見琅琅上口要與國際接軌,但以開放源碼的使用狀態來說,多數台灣公司只有拿國際知名專案來用,卻很少回饋到上游。短期內看似「搭便車的人」撿了便宜,但長期來看,因為沒有對開源生態系進行回饋,也無法參與或影響這些開源專案的開發方向及技術導向,很容易與最新開源應用的產業趨勢脫節,當市場產生改變時,僅是跟風的這些廠商,很容易被淘汰或被洗鍊到產業分潤的下階。

在瞬息萬變的商業世界,洞燭機先者往往能掌握優勢。OpenChain 甫通過 ISO,台灣公司若能積極爭取導入並完成驗證,將有助於解決公司內部開源合規長期缺乏管理的問題,也可爭取供應鏈內其他廠商的信任與合作。長遠來看,良好的開源合規狀態更有助於台灣公司真正與國際產生「深度接軌」:除了使用開放源碼,也釋放使用及改作的源碼,與社群產生更多良性的互動,從而貼近自由開源軟體的生態系,直接「身處」最新趨勢,並參與未來走向的發展。


本文章授權條款採 創用 CC BY (姓名標示) 4.0

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.