API Policy Update 2024/zh

This page is a translated version of the page API Policy Update 2024 and the translation is 100% complete.

Below is a new draft text of WMF legal policy discussing the use of its APIs. This new document is now published at Policy:API usage guidelines on the Foundation wiki.

A feedback period on it was open from August 28 to September 13, 2024, but comments are welcome on the talkpage.

背景

2023 年,經過廣泛而詳細的公眾諮詢和起草過程,維基媒體基金會更新了使用條款 (英文簡稱為:ToU)。

引用 API 的部分現在如下所示:

12. API 條款:
我們提供一系列API(包括文檔與相關工具)使用戶得以構建促進自由知識的產品。使用我們的API,即表示您同意遵守所有適用的API政策方針,包括但不限於用戶代理方針機器人方針API:禮儀(統稱為「API文檔」),這些政策方針通過引用納入本使用條款。

儘管 APIs 一直受使用條款管轄,但維基媒體基金會在本次更新中試圖澄清(特別是向惡意行為者),APIs是使用條款的一部分,維基媒體基金會有能力執行作為公平並可靠的API生態系統一部分的規則。

為了繼續這項工作,維基媒體基金會正在更新 API 文件以描述維基媒體基金會如何管理 APIs。

這並不是對使用 API 要求的更改。這是對現有實踐的更詳細說明,其中包含維基媒體基金會如何區分允許的善意使用 API 和不適當的有害使用 API 資訊。本次更新不會改變開發者與 API 交互的技術方式。與使用條款中與 API 相關的文本一樣,本次更新旨在更全面地描述可對惡意行為者強制執行的現有規則。

版本 1.0

日期:2024 年 8 月 26 日

API

維基媒體基金會對操作者使用某些 API 實作限制,包括但不限於 MediaWiki Action API、MediaWiki REST API 和 RESTBase API。其中一些限制如下所述。這些限制的存在是為了維護 API 的效能和穩定性,促進伺服器資源的公平分配,並確保社群成員可以使用 API 進一步推動自由知識運動。您可以在下面「常見問題與解答」部份閱讀有關此政策的常見問題。

就本政策而言,「操作者」的定義是為部署軟件導致我們的 API 被調用的任何人士。換句話說,操作者控制使用 API 的頻率。舉個例子,這包括在維基專案上編寫「小工具」的人士(即使他們並不操作這些小工具),以及運行機器人的人士(即使他們並不編寫機器人程式)。如果您正在閱讀本文,並在尋找如何使用維基媒體API的實用技巧,那麽這可能就是「您」。如果對操作者的使用施加限制,他們不得規避這些限制。例如,操作員必須遵循所有說明,以延遲或降低他們在 API 回應中收到的進一步請求速率。任何端點的具體數值限制可能會不時變化(例如,當前和預測的未來負載變化)。

使用維基媒體 API 時,操作者必須:

  1. 遵循用戶代理媒介政策並以其他方式正確標記用戶代理媒介
  2. 遵循您可能收到的速率限制請求(如限制通知);和
  3. 重新發佈下載或快取的資料時,請遵循內容許可的要求。

使用維基媒體 API 時,操作者不得:

  1. 透過並發連接向維基媒體 APIs 發送流量,導致其他人的服務品質下降或危及網站的穩定性;
  2. 以遠遠超出常見用例的高速率請求數據,例如以峰值請求或故意規避此政策的方式;
  3. 將維基媒體 API 請求分散到多個用戶代理媒介,以隱藏單一操作者的過度使用;或者
  4. 發送來自單一來源或針對特定維基/資源的極高用量請求,最終阻止其他人使用或存取該資源。

操作者應按照本政策和每個 API 的其他技術文件中描述的指南使用我們的 API。為避免疑義,本政策的存在並不要求維基媒體社群成員在以符合本政策的方式使用 API 之前獲得維基媒體基金會的事先許可。相反,我們希望人們意識到可能會導致其 API 使用中斷的用途,以便操作者知道如何正確使用維基媒體的共享資源。

如果您的使用案例可能超出此處所述的政策範圍,並且您希望收到例外許可或澄清,請向 legal wikimedia.org 提交請求。

在有關限制可能影響操作者使用的情況下,維基媒體基金會可能會與操作者聯系,討論限制的性質以及可能需要的例外情況。這只適用於在操作者的腳本遵守用戶代理媒介政策並包含最新聯系信息的情況下。

維基媒體基金會保留透過阻止 API 存取、停用程式或任何類似操作來執行此政策的權利。在特定情況下選擇採取或不採取執行行動,並不表示放棄今後根據本政策採取的任何行動。在執行本政策的情況下,如果請求方採取行動減少所造成的傷害或不公平,維基媒體基金會可酌情決定取消所採取的任何行動。例如:

  • 降低發送 API 請求的速率;
  • 實施指數回退,即向操作者發送節流通知,操作員者會自動降低請求速度以作為回應;或
  • 依照用戶代理媒介政策的要求,遵循用戶代理媒介命名約定,以便在使用出現問題時可以聯絡您

子許可

操作者(或代表操作者行事的人士)不得向任何第三方再授權、租賃、轉讓或保證維基媒體基金會管理的 API 的可用性或功能。不允許以掩蓋 API 最終服務提供者(維基媒體基金會)身分的方式實作白標籤 API 用戶端。為避免疑義,該術語不會限制維基媒體內容根據內容許可的自由許可的使用和重新發佈。

停用 APIs

維基媒體基金會可能會停用或修改 API。在宣佈的服務終止日期之後使用 API 的操作者應該預計 API 將在沒有進一步警告的情況下不可使用,或者效能會顯著下降。預計操作者會在服務終止日期之前更新以使用適當的替代方案。維基媒體基金會可能會根據用戶代理媒介要求提供的聯絡資訊提供有關 API 更新和停用的通知。

有關本政策的修改

本政策是維基媒體基金會目前對操作者使用維基媒體 API 施加的一些限制的公開總結。因此,維基媒體基金會可以酌情修改該政策,以更全面地描述當前限制或反映未來的變化。

常見問題與解答

維基媒體的 API 政策發生了什麼變化?

維基媒體基金會正在更新 API 政策的文本,這是我們為實現更清晰的API管理而持續努力的一部分。舉個例子,標題中有關用戶代理媒介政策的頁面自2010年以來就沒有進行過實質性更新。維基媒體基金會一直致力使 API 在過去 10 年中的管理方式透明化,因此創建了此政策頁面,傳達我們現有的管理政策。這些更新的文本不應被視為維基媒體基金會對 API 管理方式的改變。相反,我們希望在能澄清有關 API 管理方式的一些要點。更清晰的文本將有助於與故意破壞規則的不良行為者進行溝通。

此更新會影響我使用 API 進行開發的方式嗎?

對於絕大多數使用者來說,這些說明不會改變您使用 API 的方式。此更新是對現有做法更詳細的說明,因此如您以前沒有遇到過使用 API 進行開發的問題,那麼您不太可能會遇到新的問題。此更新文本不會限制維基媒體基金會 API 的功能。用量極高的資源使用者可能會注意到該文本,因為新文本可以讓這些使用者更好地理解維基媒體基金會的資源管理流程,並避免任何錯誤、限制和阻塞。

這將會發生哪些重大變化?

由於這些更新反映了維基媒體基金會現有的期望(您可在用戶代理媒介政策和其他文檔中找到相關資訊),因此維基媒體基金會希望新的文本能夠強調一些已經成為事實的觀點。例如,使用應用程序接口的開發者應通過具體描述的用戶代理媒介來自我識別其用途。用量極高的用戶應該了解他們的使用會帶來安全/保障/資源影響,這使得用聯絡資訊標記用戶代理媒介變得更加重要。當已中斷的使用不再具有任何用途時,用量極高的使用者應主動關閉這些使用。當用量極高的使用者意圖規避現有限制時,應避免透過並行操作多個代理媒介來規避現有限制。

這將如何影響維基媒體 API 的「極高用量」社群用戶?

更新後的文本應該會對遵循該政策的維基媒體社群成員產生零影響。維基媒體成員通常不會屬於最終遇到技術限制的極高用戶量類別。如有需要,任何希望尋求其具體使用保證的人士均可以向legal wikimedia.org發送電郵提交請求。

如果我是維基媒體 API 的重度用戶,我的存取權限是否會受到限制?

是。我們已採取措施確保系統的穩定性和安全性。目前,我們正在努力規範描述這些限制的方式,以幫助流量極大的用戶了解如何避免高頻率並資源密集型請求對 API 造成干擾。

舉個具體的例子,我們的用戶代理媒介規則就能做到這一點。如果單一使用者對應用程式介面的使用量達到峰值,而我們能確定該使用者的身分(因為他們遵守了使用者代理媒介程式規則並提供了聯絡資訊),我們也許就能共同找到解決資源密集型使用的辦法。如果開發人員不遵守這些規則,我們就無法共同找出解決辦法。

志願者工具和機器人會受到影響嗎?

我們知道,許多志願者開發的工具和機器人均依賴維基媒體 API 來完成各種任務——如果這些使用方法以前沒有引起問題,那麼將來也不太可能引起任何問題。此更新的目的是為了澄清政策。如有需要,任何希望尋求其具體使用保證的人士均可以向legal wikimedia.org發送電郵提交請求。

如果此文本只是重申現有政策,為什麼這需要更新?

當中的原因有幾個——這些原因均有助於提高為那些已經遵循最佳做法的人士提供服務的質量。

首先,盡可能明確說明規則有助於資源使用率極高的開發人員避免違反這些規則。額外的資訊為這些用戶提供了更高的可預測性。如果善意的操作者能更了解現有規則,維基媒體基金會的 API 管理員便能減少其工作量。

其次,這是試圖強調目前尚未普遍遵循的有益政策。舉個例子,強調資源極度豐富的用戶需要遵守現有的用戶代理媒介政策,可以避免我們在試圖對惡意使用做出反應時,無意中擾亂了善意用戶的正常使用。

最後,對規則的重述試圖澄清惡意開發者的行為 (適合/不適合的行為)。

這些變化將如何影響研究人員?

這不會影響遵循該政策的研究人員。我們了解 API 對於研究人員、開發人員和小型組織的重要性。*未來*與研究相關的善意用途似乎不太可能受到限制,因為我們未有發現*當前*與研究相關的善意用途受到限制。

此更新會影響「大型科技」的API 用戶嗎?

可能會——如果他們未有遵守政策。無法遵守或選擇不遵守本更新所述現有規則的大流量使用者可以在企業 API 中找到解決方案,該 API 是為支援大流量和/或需要服務級別協定的用例而建立的。

為何更新政策需強調增加具體性?

透過讓我們的政策更加具體,我們的目標是讓使用者清楚地了解他們應該做什麼和不應該做什麼,以避免 API 使用受到技術限制。我們的目標是確保所有 API 使用者進行更順暢、更有效率的互動。