Skip to content

publiccodeyml/publiccode.yml

Repository files navigation

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.

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.

The Standard's website (https://yml.publiccode.tools) is built using the Python Sphinx package.

Prerequisites

  • Python 3

Install dependencies

pip install -r requirements.txt

Local development process

spinx-build can be used to compile all source file to static html files. Run this command to generate the website:

sphinx-build docs/standard build -c .

Licence

Licenced under the CC0-1.0.