/publiccode.yml

A metadata standard for public software

Primary LanguagePythonCreative Commons Zero v1.0 UniversalCC0-1.0

The publiccode.yml Standard

A metadata description standard for public software that is easy to use both for developers and people with less technical background in order to make the software developed by Public Administrations and Public Organisations easily discoverable.

Latest release Join the #publiccode channel Get invited

What publiccode.yml is for

Many great software projects are developed by public administrations, however reuse of these projects is very limited. Some of the reasons for low uptake of such projects is a lack of discoverability and that it is hard to find out what project can actually work in the context of a different public administration.

The publiccode.yml file is meant to solve all those problems. It is an easily readable file for civil servants that are trying to figure out whether a project will work for them, and easily readable by computers as well. It contains information such as:

  • the title and description of the project in English and/or other languages;
  • the development status, e.g. concept, development, beta, stable, obsolete;
  • which organisation developed the project;
  • who is caring for the maintenance and when this expires;
  • who to contact for technical or support inquiries;
  • what national and local legal frameworks the project is designed for;
  • what software dependencies the project has.

The publiccode.yml file format should both be able to easily be added to any new project, as well as grow with the project as it expands beyond the original context it was developed in.

Finding projects

Finding projects depends on how the search API is structured for every hosting platform. For example, you can find all publiccode.yml on GitHub files by searching using the frontend or the API.

Versioning

Latest release: GitHub release See all versions

This project follows the Semantic Versioning. For more information see SemVer.org.

Furthermore, the project uses branches and tags in the following way:

  • The main branch contains the improvements coming up in the next version.
  • Release page contains all the released versions of the standard. Releases are tagged with the Standard's version.

Contributing

Feel free to submit Pull Requests and to file Issues.

Licence

Licenced under the CC0-1.0.