API Policy Update 2024/vi

This page is a translated version of the page API Policy Update 2024 and the translation is 28% 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.

Nội dung

Năm 2023, sau một quá trình tham vấn cộng đồng rộng rãi và chi tiết, Wikimedia Foundation đã cập nhật Điều khoản Sử dụng (ToU).

Mục liên quan đến API hiện nay ghi rõ:

12. Điều khoản API:
Chúng tôi cung cấp một tập hợp các API, bao gồm tài liệu hướng dẫn và các công cụ liên quan, nhằm giúp người dùng phát triển các sản phẩm thúc đẩy tri thức tự do. Bằng việc sử dụng API của chúng tôi, bạn đồng ý tuân thủ tất cả các chính sách áp dụng cho việc sử dụng API, bao gồm nhưng không giới hạn ở Chính sách User-Agent, Chính sách RobotAPI tắc ứng xử (gọi chung là "Tài liệu API"), những tài liệu này được tích hợp vào các Điều khoản Sử dụng thông qua tham chiếu.

Mặc dù các API luôn được quản lý bởi Điều khoản Sử dụng, trong bản cập nhật đó, Wikimedia Foundation muốn làm rõ (đặc biệt là đối với những đối tượng có ý đồ xấu) rằng các API là một phần của Điều khoản Sử dụng và rằng Quỹ có quyền thực thi các quy tắc để đảm bảo một hệ sinh thái API công bằng và đáng tin cậy.

Để tiếp tục nỗ lực đó, Quỹ đang cập nhật tài liệu API để mô tả cách mà Quỹ quản lý các API.

Đây không phải là một sự thay đổi trong các yêu cầu sử dụng API. Đây là một tuyên bố về các thực tiễn hiện có với nhiều chi tiết hơn, thông tin mô tả cách mà Quỹ phân biệt giữa việc sử dụng API hợp pháp với thiện chí và việc sử dụng API không phù hợp, có hại. Bản cập nhật này không thay đổi cách thức kỹ thuật mà các nhà phát triển tương tác với API. Giống như ngôn ngữ liên quan đến API trong Điều khoản Sử dụng, bản cập nhật này nhằm mục đích mô tả đầy đủ hơn các quy tắc hiện có có thể được thực thi đối với những đối tượng có ý đồ xấu.

Phiên bản 1.0

Ngày: 26 tháng 8, 2024

API

Wikimedia Foundation áp dụng các giới hạn đối với việc sử dụng một số API nhất định của các nhà điều hành, bao gồm nhưng không giới hạn ở API MediaWiki Action, API REST MediaWiki và API RESTBase. Một số giới hạn này được mô tả dưới đây. Các giới hạn trong chính sách này tồn tại nhằm duy trì hiệu suất và sự ổn định của các API của chúng tôi, thúc đẩy việc phân bổ tài nguyên máy chủ công bằng, và đảm bảo rằng các thành viên trong cộng đồng có thể sử dụng các API để thúc đẩy phong trào tri thức tự do. Bạn có thể đọc phần câu hỏi thường gặp về chính sách này ở bên dưới.

Trong chính sách này, “nhà điều hành” được định nghĩa là bất kỳ cá nhân nào triển khai phần mềm khiến các API của chúng tôi bị gọi. Nói cách khác, nhà điều hành kiểm soát tần suất gọi các API. Ví dụ, điều này bao gồm những người viết “gadget” trên wiki (ngay cả khi họ không vận hành chúng) và những người chạy bot (ngay cả khi họ không viết chúng). Nếu bạn đang đọc điều này và tìm kiếm các mẹo hữu ích về cách sử dụng các API của Wikimedia, thì có lẽ bạn chính là người đó. Nếu có giới hạn được áp đặt lên việc sử dụng của nhà điều hành, họ không được phép vượt qua các giới hạn này. Ví dụ, các nhà điều hành phải tuân theo tất cả hướng dẫn để trì hoãn hoặc giảm tỷ lệ yêu cầu mà họ nhận được trong phản hồi từ một API. Các giới hạn số cụ thể trên bất kỳ điểm cuối nào có thể thay đổi từ thời gian này sang thời gian khác (ví dụ, khi tải hiện tại và dự đoán trong tương lai thay đổi).

Khi sử dụng API Wikimedia, nhà điều hành phải:

  1. Tuân theo chính sách User-Agent và ghi nhãn chính xác các user agent;
  2. Tuân thủ các yêu cầu giới hạn tần suất (ví dụ: thông báo về việc hạn chế) mà bạn có thể nhận được; và
  3. Tuân thủ các yêu cầu của giấy phép nội dung khi phát hành lại dữ liệu đã tải xuống hoặc lưu cache.

When using Wikimedia APIs, an operator must not:

  1. Send traffic via concurrent connections to Wikimedia APIs resulting in a degradation of service to others or endangering the stability of the site;
  2. Yêu cầu dữ liệu với tốc độ cao, vượt xa các trường hợp sử dụng thông thường, chẳng hạn như trong các đợt tăng đột biến hoặc theo cách cố ý nhằm vượt qua chính sách này;
  3. Phân tán các yêu cầu API của Wikimedia qua nhiều user agent để che giấu việc sử dụng quá mức của một nhà điều hành duy nhất; hoặc
  4. Send high traffic originating from a single source or targeting a specific wiki/resource that ends up blocking others from using or accessing that resource.

Operators should use our APIs within the guidelines described in this policy and other technical documentation for each API. For the avoidance of doubt, the existence of this policy does not require members of the Wikimedia community to get prior permission from the Wikimedia Foundation before using the APIs in a manner consistent with this policy. Rather, we want people to be aware of uses that could result in disruption of their API usage, so operators know how to use Wikimedia's shared resources properly.

If your use case might fall outside the bounds of the policy described here and you would like to receive an exception or clarification, please submit a request to legal wikimedia.org.

In situations where a limit may affect an operator’s use, the Foundation may contact the operator to discuss the nature of the limits and any exceptions that may be needed. This is only possible if the operator’s scripts adhere to the User-Agent policy and include up-to-date contact information.

The Foundation reserves the right to enforce this policy through blocking API access, disabling a program, or any similar action. Any choice to take or not take an enforcement action in a given situation will not be a waiver of any future action under this policy. In situations when this policy is enforced, any action taken can be lifted at the Foundation's discretion if the requesting party takes action to reduce the harm or unfairness caused. For example:

  • Reducing the rate of the API requests being sent;
  • Implementing an exponential backoff, where a throttling notification is sent to the operator, and in response, they slow down their rate of requests automatically; or
  • Following User-Agent naming conventions, as required in the User-Agent policy, such that you can be contacted if usage becomes problematic.

Sub-licensing

Operators (or those acting on their behalf) may not sublicense, lease, assign, or guarantee the availability or functionality of a Wikimedia Foundation-managed API to any third party. It is not permissible to implement an API client that white labels in a manner that obscures the identity of the ultimate service provider of the APIs (the Wikimedia Foundation). For the avoidance of doubt, this term does nothing to limit the use and republication of Wikimedia content in accordance with the free licenses that content is licensed under.

Retiring APIs

The Foundation may retire or modify APIs. Operators that use APIs beyond the announced end-of-service date should expect the API to become unavailable without further warning or to experience significant degradation in performance. It is expected that operators update to use appropriate alternatives in advance of the end-of-service date. The Foundation may provide notice regarding updates and deprecations of APIs to the contact information that is provided per the User Agent requirements.

Modifications to this policy

This policy is a public summary of some of the current limitations that the Wikimedia Foundation imposes on operators regarding their use of the Wikimedia APIs. As such, the Wikimedia Foundation may modify the policy in its discretion to more fully describe current limits or reflect future changes.

FAQ

What is happening to Wikimedia's API policies?

The Wikimedia Foundation is updating the language of our API policies as part of our ongoing effort towards more clear API management. For example, the page with policies around user-agents in headers has not had a substantial update since 2010. The Foundation strives to be transparent about how the APIs have been managed for the previous 10 years, so the Foundation created this policy page that conveys our existing management policies. This updated language should not be viewed as a change in the way the Foundation administers the APIs. Instead, we hope that it clarifies some points about how the API is already managed. More clear language will be helpful in communicating to bad actors already intentionally breaking the rules.

Will this update affect how I develop using the APIs?

For the vast majority of users, nothing about these clarifications should change how you use the APIs. This is a more detailed statement of existing practices. Therefore, if you have not encountered previous issues developing using the APIs, you are unlikely to encounter new ones. This update language does not limit the functionality of the Wikimedia Foundation’s APIs. Extremely high resource users may take note of the language because the new language may allow those users to better understand the Foundation’s resource management process and avoid errors, limits, and blocks.

What will the significant changes be?

Since these updates reflect existing expectations (found previously in places like the User Agent Policy and other documentation), the Wikimedia Foundation hopes the new language emphasizes a handful of points that are already true. For example, developers using the APIs should self-identify their uses with specifically described user agents. Extremely high-volume users should understand there are safety/security/resource implications to their use which makes labeling user agents with contact information even more important. Extremely high-volume users should voluntarily shut off broken uses when those uses no longer serve any purpose. Extremely high-volume users should refrain from circumventing existing limits by operating multiple agents in parallel when their intent is to circumvent existing limits.

How will this affect "power" community users of Wikimedia APIs?

The updated language should have zero impact on members of the Wikimedia community who follow the policy. Wikimedians generally never fall into the category of extremely high-volume users who end up encountering technical limits. Optionally, anyone wishing to seek assurances about their specific usage may submit a request to legal wikimedia.org.

If I am a heavy-user of Wikimedia APIs, can my access be limited?

Yes. We have measures in place to ensure the stability and security of our systems. We are now working to standardize the way to describe these limits to help extremely high-volume users understand how to avoid disrupting the APIs with high-frequency, resource-intensive requests.

As a concrete example, our User Agent rules do this. If there is a peak in the usage of an API by a single user and we are able to identify who that user is (because they have followed the user agent rules and included their contact information), we may be able to reach a solution for the resource-intensive use together. If a developer does not follow those rules, there’s no way to mutually troubleshoot a solution.

Will volunteer tools and bots be affected?

We know that many volunteer-developed tools and bots rely on Wikimedia APIs for various tasks, so if those usages have not caused concern previously, they are unlikely to in the future. This update is only to clarify policy. Optionally, anyone wishing to seek assurances about their specific usage may submit a request to legal wikimedia.org.

If this language just restates existing policies, why is it being updated?

There are several reasons, all of which are useful to improve the quality of service to those who do already follow best practices.

First, being as explicit as possible about what the rules are helps extremely high-resource-using developers avoid violating those rules. Extra information provides these users with increased predictability. Hopefully, if good-faith operators are more aware of the existing rules this could  give the Foundation’s API administrators less work.

Secondly, this is an attempt to emphasize helpful policies that are not currently being followed universally. For example, foregrounding the rule that extremely high-resource users need to follow the existing user-agent policy avoids a situation where we may have to unintentionally disrupt good-faith users when attempting to react to malicious use.

Finally, a restatement of rules attempts to clarify what is and isn’t appropriate for developers working in bad faith.

How will these changes affect researchers?

They will not affect researchers who follow the policy. We understand the importance of our APIs for researchers, developers, and small organizations. It seems unlikely that *future* good faith research-related use could be limited because we are unaware of *current* good faith research-related uses that are limited.

Will this update affect “big tech” API users?

Possibly yes, if they do not follow the policy. High-volume users who cannot or choose not to comply with the existing rules described in this update may find a solution in the Enterprise API which has been created to support use cases that are high-volume and/or require an SLA.

Why the emphasis on increased specificity in the updated policy?

By making our policies more specific, we aim to provide users with a clear understanding of what they should and should not do to avoid technical restrictions on their API usage. The goal is to ensure smoother, more efficient interactions for all API users.