M E T A F L A S K
What is Metaflask?
Metaflask is the informal "Flask Software Foundation". It's the closest equivalent to stewardship that Flask has and currently starting up. Some of the information of this repository is available at http://metaflask.pocoo.org/ as a read-only JSON API. An IRC Channel exists at #metaflask on irc.freenode.net
What does it do?
The Metaflask project's aim is to ensure that the Flask ecosystem does not suffer from abandoned extensions or problems in Flask itself. As a purely virtual organization without legal power it does not do anything fancy other than acting as a central space where discussions about Flask can be held in a structured way.
How is it structured?
The Metaflask project is a meritocracy with each project maintained through the Metaflask project being a dictatorship. As such the Metaflask project does not really have a clear form of governance. It is whatever the members of the project decide it is.
How do I add my project?
You do not need to be a member to add your project. Just send a pull request against this repository with your own project added and off you go. Do not add a steward to the project. Someone will add it later. Not all projects will have stewards at the beginning.
How do projects get stewards?
Any member can become a steward for a project. For more information see stewardship below. To see projects that currently do not have members this API lists them all: http://metaflask.pocoo.org/needs-stewards
Who are the members?
For the current members have a look at the members folder in the same repository.
How do I become a member?
The way to become a member is to open an issue on this repository with the request to join it. Currently you have to fulfil one of the following criteria: * be a Flask developer * be a Flask extension maintainer * be a future Flask extension maintainer Whether you are accepted as member or not is arbitrary and the decision is made in an even more arbitrary process by the members of Metaflask. Rejections can be challenged by flamewars on the closed issue. On a more serious note: each member added needs a sponsor who is a person already on Metaflask. There is no formalized process beyond that at the moment but maybe there should be a voting process.
What privileges do members have?
Members do not have any implied privileges as such. Primarily they get write access to this repository and most organizational repositories in the pocoo organization at GitHub. This does not include the main sourcecode repositories for Flask, Werkzeug or Jinja. https://github.com/pocoo
Why would I want to become a member?
Raise the bus factor of Flask and the ecosystem and of course to gain fame :)
What is a Stewardship?
Previously we had the problem that the extension registry did not scale well. The idea of stewardship is that for each project that is listed in the projects/ folder there is at least one Metaflask member that acts as a steward for that project so that the extension index and similar things stays active.
What are a Steward’s responsibilities?
A Steward is primarily responsible for keeping the record of the project in this repository active. If they are the maintainers or developers of that project they are responsible for the project as such, if they just act as the index maintainer they are required to ensure that the project status is kept updated regularly. Primarily if a project becomes insecure, broken or unmaintained the Steward is responsible for flagging it in the repository and communicating this through the issue tracker so that a replacement can be found or the project can be marked inactive to warn users.
Why is this a repo?
... instead of a wiki for instance. The main reason is that it should be possible to work with this as if it was a regular repository so go through pull requests and other methods. It also should eventually act as the source for certain parts of the Flask website.
What else goes in this repo?
One of the things this repo will do is act as a general hub of knowledge. For instance lots of Flask extensions are so small that it makes no sense for them to reinvent the wheel all the time. As such they can refer back to this project here. For instance extensions can refer back to styleguides and release workflows that work for multiple projects. Projects listed here that have an active Metaflask steward can also manage their PEPs here if they so desire.