Membership Level Checklists

This section defines how to apply to become a FIWARE Generic Enabler, the role of Incubated Generic Enablers and how to transition to full membership as a FIWARE Generic Enabler.

A checkpoint list summarizing all MUST requirements at each level is provided by convenience, to ease identification of the necessary minimum requirements to be fulfilled by Incubated FIWARE Generic Enablers to graduate to full member status.

New Generic Enabler

This checklist is intended to inform new FIWARE GE owners of the steps that have to be taken in order to publish a new FIWARE GE.

Any doubt or request to the FIWARE Foundation shall be made by sending an email to fiware-help@lists.fiware.org.

The following minimal requirements must be met before a new contribution can be considered as an Incubated Generic Enabler. The acceptance can take time, for instance to allow studying the quality of the product, internal architecture, software design, code cleanliness etc.

All New Generic Enablers MUST be presented to the TSC for candidature and accepted into an existing Chapter.

A New Generic Enabler MUST show how it integrates within the overall FIWARE Architecture.

A New Generic Enabler MUST sign-up to the harmonized Entity Contributor License Agreement

The codebase MUST be available on GitHub.

The GitHub repository MUST include an appropriate Open Source License - see https://choosealicense.com/.

For functional readiness at a minimum, a new incubated enabler MUST be able to be instantiated directly in a running state by any competent developer without the need to refer to other dependent technologies

For example:

  • Keyrock relies on MySQL, but a working MySQL can be easily instantiated by Docker and minimal data is seeded by Keyrock - the database volume can be persisted. Knowledge of SQL is unnecessary for use.
  • An IoT Agent can have a dependency on MongoDB - the volumes are exposed so that the data will be persisted if the Docker container goes down. Alternatively an IoT Agent can be memory based, but all configuration can be set up using a config file or Docker params and then data injected by HTTP requests. An understanding of MongoDB is unnecessary to get it to work.
  • QuantumLeap works with Grafana and Crate-DB - appropriate set-up and docker compose are available in the Quick Start. Quantum Leap can be used without in depth knowledge of Crate-DB.

For all webservice components, a Dockerfile MUST be available within the code-base.

Basic documentation MUST exist in Markdown and MUST be complete enough for usage of the component:

  • A Quick Start guide.
  • Admin Installation instructions - how to create instances:
    • Standalone using configuration files.
    • Using Docker/Docker-compose and injecting ENV variables.
  • Developer Documentation - how to call the API programmatically.
  • User Documentation - how to use the GUI.
  • Apiary file (where necessary).

For a stateful component, the state MUST be persistable between instantiations, additional manual set-up MUST not be required.

There MUST be a commitment that the team behind the product will follow through with completing the remaining Incubated requirements within a reasonable time frame.

Submission Checklist

Note: A formal application must be made using the attached Application Form

The following information MUST be submitted to FF Staff:

The URL of all of the GitHub Repositories holding the code base.

The version number of the initial release to be included in the catalogue - this MUST correspond to a real release tag found on the GitHub repository.

The location of the official Dockerfile, so an “official” FIWARE docker image can be set up from the FIWARE account.

The URL for the official documentation - ideally this URL should be a Read the Docs project.

The name and the email of a representative who will take the role of the owner/caretaker of the Generic Enabler.

A sample elevator pitch (one sentence) and the What is? and Why use? texts (one paragraph each) describing the Generic Enabler in the same manner as the other Generic Enablers.

Incubated Generic Enabler

The following items are not specific requirements, but are expected requirements to be fulfilled within a few months of acceptance with the co-operation of the FIWARE Staff and the team behind the contributed component:

  • New entry in the FIWARE Catalogue under the corresponding Chapter agreed at TSC Level. See also Working with the FIWARE catalogue.
  • Mirroring GitHub Webhook properly configured. See webhooks (Ask FIWARE Foundation to configure the mirroring).
  • Read the Docs project available and styled using the FIWARE CSS and Chapter CSS. See fiware-orion.readthedocs.org as an example.
  • Automatic documentation generation MUST be configured. See mkdocs.yml as a reference on how to configure Read the Docs.
  • Analytics MUST be configured for the Read the Docs portal as described by analytics.
  • Docker image MUST be available in FIWARE's Dockerhub account.
  • Roadmap MUST be available at one of the following:
  • Release schedule MUST be aligned with release requirements.
  • Access MUST be provided to the corresponding information in order to see your component reflected in the monitoring tool (Ask FIWARE Foundation Staff).

It is accepted that Incubated Enablers may not currently comply with all "MUST" requirements of the Development Guidelines, but are expected to be working towards fulfilling them. Commitment to completing the transition to a full member is tracked as part of the FIWARE Quality Assurance testing, and insufficient progress on issues will eventually result in the enabler being quarantined or be removed from the list of Enablers.

Mature Generic Enabler (Full Member)

All of the FIWARE "MUST" requirements (marked ) MUST be fulfilled before the incubation period is complete.

The OpenSSF Best Practices Badge MUST be displayed . and passing.

The enabler should have demonstrated that it fulfills a real need within the FIWARE ecosystem, and statistics showing a credible level of adoption and community support MUST be presented to the TSC.

Ongoing Commitment

Having achieved full membership, this is the expected standard for membership going onward. All the requirements for marked or MUST be met.

To further clarify, failure to do so will result in a written warning and a requirement to comply within a given period of time. Mature Generic Enablers which make no effort to fulfill the gaps in their commitments, will be quarantined and will be removed from the list of Enablers.

  • A Stack Overflow tag for the component is registered (Ask FIWARE Foundation Staff)
  • Where it is suitable to provide a global instance of a service, a public instance may be deployed in the FIWARE Foundation infrastructure and maintained by the team in collaboration with the FIWARE Foundation team (Ask FIWARE Foundation Staff).
  • A tour guide entry is provided - see fiwaretourguide.readthedocs.io.
  • A tutorial is provided (See some examples at fiware-tutorials.readthedocs.io).