文件

§Play 如何處理 Akka 的授權變更

您可能聽說,在 2022 年 9 月,Lightbend Inc. 變更了 Akka 授權模式,從 Apache 2.0 授權切換為 Business Source License (BSL) 1.1
此變更自 Akka 2.7 和 Akka HTTP 10.4 起生效。

Play 版本 2.x 在幕後使用 Akka,並提供架構使用者與 Play Framework 文件中的 Akka 類別和 API 互動的方法。此外,除了 Netty 後端外,Play 2.x 中也提供 Akka HTTP 伺服器後端。

許多人擔心如果 Play 切換到採用 BSL 授權的新 Akka 版本,他們的公司是否必須支付授權費用。為了解決這些問題,Lightbend 為 Play Framework 導入了 “其他使用授權”。這允許在 Play 2.x 中使用 Akka,並讓 Play Framework 使用者可以在其原始程式碼中使用某些 Akka 功能,包括生產環境,而無需受到授權限制。然而,Play Framework 使用者和高級贊助商都表示,這些例外情況太過狹隘。這表示如果您在 Play 2.x 應用程式中以官方 Play Framework 文件中未記載的方式使用 Akka,您可能已經需要取得授權。此類使用案例很容易超出該例外範圍。例如,注入一個 ActorSystem(不適用於 WebSockets)將觸發新的 BSL 授權套用,讓您受限於完整的 Akka 授權模式。

我們的首要任務是防止 Play Framework 使用者在不知情的情況下無意間受 BSL 授權架構約束,並避免 Play Framework 依賴於非開放原始碼函式庫。因此,Play 2.9+ 預設繼續搭載 Akka 2.6 和 Akka HTTP 10.2如果使用者希望升級到採用 BSL 的 Akka 版本,則由他們決定,這是一個使用者將完全了解新授權模式的明智選擇。我們的 Play ScalaPlay Java 更新指南提供如何進行此轉換的協助。

注意:Akka 2.6 / Akka HTTP 10.2 已於 2023 年 9 月到達生命週期結束 (EOL)

§介紹 Apache Pekko 和 Play 3.0

我們於 2023 年 10 月發布 Play 3.0。此版本已將 Akka 和 Akka HTTP 取代為 Pekko 和 Pekko HTTP:Apache Pekko 代表 Akka 2.6 和 Akka HTTP 10.2 的社群分支,由高度參與且積極的個人開發,其中一些人以前是 Lightbend Akka 團隊的一員。Pekko 正在積極開發中。例如,Pekko HTTP 已移植到 Scala 3,這項功能目前僅能從 BSL 授權的 Akka HTTP 版本 10.4 開始使用。此外,Pekko 已修正 Akka 2.6 和 Akka HTTP 10.2 中未解決的錯誤和安全性漏洞。

除了利用底層的不同架構,Play 2.9Play 3.0 提供相同的功能,並獲得平行維護,受益於相同的增強功能和錯誤修正。

§您的選項摘要

§結束生命週期 (EOL) 日期

如果您考慮使用 Play 2.9(搭配 BSL 授權的 Akka 和 Akka HTTP),我們想告知您 Play 核心團隊的資源有限。您可能想考慮成為高級贊助商,以協助維持 2.x 系列的運作。否則,如果對 2.x 系列的興趣下降,我們可能需要在某個時間點停止支援。

下一步:Play 版本


在此文件發現錯誤?此頁面的原始程式碼可在此處找到 here。在閱讀 文件指南 後,請隨時提交協力廠商請求。有問題或建議要分享嗎?前往 我們的社群論壇 與社群展開對話。