博雲違反 Apache 2.0 開源協議被要求整改,開源協議到底應該如何遵守?

2020-06-19     segmentfault官方

原標題:博雲違反 Apache 2.0 開源協議被要求整改,開源協議到底應該如何遵守?

6 月 18 日晚,SegmentFault 思否收到 Apache 基金會提供的消息,雲計算解決方案服務商博雲在使用開源項目 Apache SkyWalking 時,違反了該項目聲明的 Apache License Version 2.0 開源協議規定。

Apache License Version 2.0 中明確註明了,當使用聲明了 Apache License Version 2.0 的軟體時,需要有顯著的聲明,不得有隱瞞和可以忽略的色彩。而博雲在產品的宣傳文件中,並沒有進行相關內容的展示以及說明。

Apache 基金會發現該問題後,通過郵件與博雲進行了問責溝通:

溝通後,博雲方面積極進行了調整,並表示「沒有把 Apache SkyWalking 裝扮成自有產品的意思」,但確實在引用開源項目時做的不規範,違反了開源協議規定。

隨著開源主義的發展和開源項目的日漸豐富,越來越多的開發者和企業會使用開源的軟體和源碼。但在實際使用的過程中,很多人對於開源協議以及引用規範並不是十分清晰,進而引起各種不必要的爭議甚至法律糾紛。

Apache SkyWalking 因為有強大的社區背書,被侵權後才能被迅速發現並得以順利維權,而很多開源項目,哪怕聲明了相關的開源協議,仍在被默默的被違規侵權使用。

對此,我們呼籲各企業和開發者在使用開源項目前,認真了解開源項目的意義與價值,遵守相關的開源協議,尊重他人的勞動成果。

我們整理了一些與開源相關的基礎知識,並以通用的開源協議 Apache License Version 2.0 為例,和大家解讀一下如何正確遵守開源協議。

什麼是開源協議?

開源授權協議的產生,是為了更好地保護開源項目的產權。開源協議作為一種契約和授權方式,是用戶合法使用軟體作品的一個憑證,就相當於軟體作者與用戶之間簽訂的一份合同,而且是在有相應行為就默認接受的。違反協議將侵犯專利所有人的智慧財產權,專利所有人可以提起訴訟。

企業只有真的理解了開源協議,才能享受到開源帶來的便利,並有效降低智慧財產權侵權風險。

對於開源授權協議的定義,我們可以參考百度百科詞條:

自由軟體/開源軟體是自由的,免費的,原始碼開放的,我們可自由下載安裝和使用。同時,為了維護作者和貢獻者的合法權利,保證這些軟體不被一些商業機構或個人竊取,影響軟體的發展,開源社區開發出了各種的開源許可協議。

開源許可協議有很多種,常見的開源許可協議有 Apache、BSD、GPL(GNU)、LGPL、MIT 等。烏克蘭程式設計師 Paul Bagwell 曾畫過一張分析圖,說明應該如何選擇開源協議。下面是阮一峰中文翻譯版本:

如果正確遵守開源協議

開源雖好,但在選擇開源軟體進行項目開發時一定要慎重,不僅僅要對其性能進行檢測,也需要對充分考慮其採用了哪種開源協議、是否存在智慧財產權風險,再具體的使用過程中需要如何遵守協議的規定與規範。

上圖是 Apache 軟體基金會在 2019 年年度報告中,披露的 ASF 軟體在全球各個國家的下載量排名。可以看到,中國已然成為 Apache 軟體基金會項目下載量最大的地區。

作為全球最大開源消費國,ASF 在國內有廣泛的群眾基礎。今天我們就以 Apache License Version 2.0 為例,來為大家解讀如何正確遵守開源協議,避免引發不必要的風險。

Apache License Version 2.0 鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟體)。Apache Licence 也是對商業應用友好的許可,使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發布/銷售。

協議中明確寫出,只要遵守該許可的條款和條件的前提下,每位貢獻者將被授予永久的、全球性的、非排他性的、免費的、免版稅的、不可撤銷的版權許可,以複製、準備衍生作品、公開展示、公開使用、再許可、分發本作品和其衍生作品(無論是以「源碼」還是「目標」形式)。

也就是不僅可以用,還可以對基於 Apache License Version 2.0 的作品或衍生作品進行修改或增補,並應用到商業項目。但前提是滿足以下幾個條件:

  1. 需要給代碼的用戶一份 Apache Licence;

  2. 如果你修改了代碼,需要在被修改的文件中說明;

  3. 在延伸的代碼中(修改和有原始碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明;

  4. 如果再發布的產品中包含一個 Notice 文件,則在 Notice 文件中需要帶有 Apache Licence。你可以在 Notice 中增加自己的許可,但不可以表現為對 Apache Licence 構成更改。

總結下來,就是需要在相關產品的 發行版本,Notice 文件、源碼或文檔里,添加歸屬聲明的可讀拷貝,並給接收者提供開源項目中提供的 Apache License Version 2.0 許可證的拷貝,在分發的衍生作品的原始碼中,必須保留本作品源碼中的所有版權、專利、商標和歸屬聲明。

公司在使用 Apache License Version 2.0 授權的開源軟體,進行分發的過程中,不應隱瞞或故意忽略提及對此軟體的使用。

其他的開源協議也類似,都有非常明確的使用規範與要求,在選擇開源軟體進行項目開發時一定要提前閱讀協議。規範使用開源協議既是對開源協議的尊重,也可以避免自身的法律風險。

* Apache SkyWalking, SkyWalking, Apache , Apache feather logo 版權屬於 Apache 軟體基金會。

擴展閱讀:

《Apache Licene 2.0 協議英文文檔》

http://www.apache.org/licenses/LICENSE-2.0.html

《OpenCV 擬更改授權協議,從 BSD 變更為 Apache License 2》

思否開源項目支持計劃,為開源項目助力!

很高興可以看到,開源正迎來最好的發展時期。

20 年前的開源項目,基本上是由個人開發者主導的。但隨著開源精神的發展以及開源文化的普及,越來越多的企業與科技公司參與到了開源生態的建設當中。

但歸根結底,開源更多的是一種社會化活動,很多的項目創意也是來自個人或者小型團隊。個人有了興趣,有了想法,並進而動手形成項目,而後建立社區,或者成立公司繼續推進。這種模式將會持續存在,也是技術創新的一種健康和合理途徑。所以游離於大公司外的開源項目和植根於大公司內的開源項目,會長期共存。

但根據社區部分開源作者的反饋,大部分的優質個人開源項目很難進行有效的傳播推廣。

為助力優質開源項目成長,SegmentFault 思否社區作為服務於開發者的技術社區,正式推出「SFOSSP - 思否開源項目支持計劃」,我們希望藉助社區的資源對開源項目進行相關的宣傳推廣,並作為一個長期項目助力開源事業的發展,與廣大開發者共建開源新生態。

有意向的開源項目負責人或團隊成員,可通過郵箱提供相應的信息(開源項目地址、項目介紹、團隊介紹、聯繫方式等),以便提升交流的效率。

聯繫郵箱:[email protected]

文章來源: https://twgreatdaily.com/zh-mo/HgHHy3IBnkjnB-0zMMaT.html

Flutter 知識點

2020-08-10