This guide describes the requirements to be fulfilled by any FIWARE Generic Enabler (GE) within the FIWARE Catalogue as well as the recommended practices for its development.
|FIWARE Catalogue||GitHub Repository|
There are three kinds of requirements included:
MUST requirements. They are mandatory and your GE project must conform to that.
SHOULD requirements. They are not mandatory but highly recommended if you want to have a mature development process.
MAY requirements. They are currently nice to have, but are expected to be a sign of further good development process as the tools around them mature in the future.
The Guide assumes that the reader knows the basics of GitHub, GitHub Actions, test driven development and continuous integration. If that is not the case please read one of the many tutorials available on the internet.
Summary of MUST Requirements
Every Generic Enabler MUST comply with the Licensing and IPR Management requirements
Every Generic Enabler MUST comply with all requirements under General Requirements.
Every Generic Enabler must sign-up to the OpenSSF Best Practices Badge Program and display the badge.
GitHub and GitHub Issue tracking MUST be used.
Accurate, current Documentation MUST be available on Read the Docs and as GitHub content.
To guarantee that documentation is of high quality, development related documents MUST be peer-reviewed and QA verified. See Documentation Guidelines for the best documentation practices.
Should you want to benefit from automatic documentation generation systems, namely, Read the Docs, you MUST use an approved markup notation:
API Specifications MUST be provided. Preferred format is OpenAPI, a.k.a. Swagger, format.
Should you have any questions please contact mailto:firstname.lastname@example.org.
Impact on Rating and Continuous Improvement
To further clarify, all mature FIWARE Generic Enablers MUST comply with all "MUST" requirements, failure to do so will result in a written warning and a requirement to comply within a given period of time. Mature FIWARE 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.
It is accepted that FIWARE Incubated Enablers may not currently comply with all "MUST" requirements, but are expected to be working towards fulfilling them. All of the "MUST" requirements must be fulfilled before the incubation period is complete.
In addition, all FIWARE Generic Enablers are expected to continuously improve and strive to apply industry best practises by fulfilling as many "SHOULD" and "MAY" requirements as they can. The quality of each enabler will be checked against the guideline list, failure to apply guidelines will result in a lower quality rating - for example, an enabler fulfilling only 20% of the SHOULD list could be rated as "poor", whereas an enabler fulfilling all of the SHOULD list could be rated as "good". The fulfillment of a high proportion of "MAY" guidelines (where applicable) would result in an "excellent" rating.
In an effort to maintain a commitment to continuous improvement, it should be noted that existing requirements will be periodically reviewed, and guidelines may be re-rated to a higher category. At some point, an existing "SHOULD" guideline may be re-rated as "MUST" for example. The owners of each enabler will be informed whenever a requirement is due to be added or modified, and there will be a grace period of at least one month before the stricter rating will be applied on assessments.
CC-BY-4.0 - FIWARE Foundation e.V.