/metaflask

A repository to organize the Flask ecosystem.

                          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 ************.  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.