Jump to content

Help:Toolforge/Right to fork policy

From Wikitech

The Toolforge right to fork policy helps to protect Wikimedia wikis from loss of a useful tool. It guarantees the right to fork an existing tool project by developers who are interested in extending and maintaining it after the original developers have lost interest. The Terms of Use for Toolforge hosting require that all tools must be Open Source and Open Data. These requirements are consistent with the Wikimedia movement's commitment to the right to fork and the licenses under which MediaWiki and the Wikimedia movement's content are distributed.

The key words must, must not, should, should not, and may in this document are to be interpreted as described in RFC:2119.

What the right to fork means for tool maintainers

  • All Toolforge hosted tools must license their source code under an Open Source Initiative (OSI) approved FLOSS software license.
  • All Toolforge hosted tools should publish their source code using Wikimedia's provided version control services, another public version control system, or some other publicly accessible means.
  • All Toolforge hosted tools should separate secret data (SUL account passwords, database passwords, OAuth secrets, etc) from the tool's source code to make publication easier.
  • All Toolforge hosted tools should document basic installation and configuration steps needed to run a copy of the tool under another Toolforge shared account.
  • All Toolforge hosted tools should document a process for obtaining a copy of any required custom databases and/or data files.

What the right to fork means for the Wikimedia communities

  • Source code may be requested for tools that are not publicly sharing their code.
  • Requests must first be made to the maintainer(s) of the tool in question. Wikitech user talk page and home wiki (if known) talk page messages are preferred.
  • A request may be made to the Toolforge Source Code Committee if no response has been received from maintainers(s) after 14 days.

What the right to fork does not include

  • The right to fork must not include a right to usurp an existing tool's URL or home directory.
  • The right to fork must not include a right to usurp an existing tool's SUL account(s) or OAuth grants.
  • The right to fork must not include a right to gain write access to a tool's custom databases and/or data files.
  • The right to fork must not include a right to any on-wiki privileges granted to an existing tool's associated user accounts (e.g. WP:BAG approvals, special on-wiki user rights, etc).

Toolforge standards committee

The Toolforge standards committee is a group of Wikimedia volunteers who review, approve, and facilitate access requests for the source code of Toolforge hosted tools. The committee has the power to review the source code in the tool's home directory and determine if it is publishable. After review they can publish a version of the source code to a public version control system after removing any obvious secret information such as SUL account passwords, database passwords, and OAuth secrets. It is not the responsibility of the source code committee to ensure that the published source code is complete, bug free, or suitable for a particular purpose.

Additional requests can be handled for data dumps associated with a Toolforge hosted tool when the data is not covered by an existing dump provided by the Wikimedia movement. Dumps will not be made for tables that obviously contain secret information (password hashes, etc).

The committee is also given a mandate to work with and encourage developers to publish their tool's source code on their own, and socialize the need for publicly available source code. This could involve reviewing newly created tools and filing bugs asking developers to publish their code as well as being a support resource for questions about licensing, compatibility, and related areas.

Committee membership

Members of the Toolforge standards committee must:

  • be active members in good standing of the Toolforge community
  • sign the Wikimedia Foundation's Volunteer NDA

Scope of policy

For the purposes of this policy, "Toolforge" is defined as the Tools project hosted in Cloud VPS and the software and services that it provides. This includes but is not limited to all software uploaded to or created within Toolforge by current and past Toolforge project members ("tool maintainers"). Services from other Wikimedia Cloud VPS projects and externally hosted services do not fall under the scope of this policy.

See also