Help:Toolforge/Right to fork policy

From Wikitech
Jump to: navigation, search
Toolforge HelpFAQRulesDevelopingDatabasesJob gridKubernetesWebHow toList of ToolsGlossary

The Tool Labs 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 Tool Labs 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 Tool Labs hosted tools must license their source code under an OSI approved FLOSS software license.
  • All Tool Labs 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 Tool Labs 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 Tool Labs hosted tools should document basic installation and configuration steps needed to run a copy of the tool under another Tool Labs shared account.
  • All Tool Labs 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 Tool Labs 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).

Tool Labs standards committee

The Tool Labs standards committee is a group of Wikimedia volunteers who review, approve, and facilitate access requests for the source code of Tool Labs 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 Tool Labs 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 Tool Labs standards committee must:

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

Scope of policy

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

See also