Standard for Public Code

Contents

  1. Code
  2. Codebase
  3. Continuous integration
  4. Different contexts
  5. General public
  6. Open source
  7. Open standard
  8. Policy
  9. Public code
  10. Repository
  11. Source Code
  12. Version control

Glossary

Code

Any explicitly described system of rules. This includes laws, policy and ordinances, as well as source code that is used to build software. Both of these are rules, some executed by humans and others by machines.

Codebase

Any discrete package of code (both source and policy), the tests and the documentation required to implement a piece of policy or software.

This can be, for example, a document or a version-control repository.

Continuous integration

In software engineering, continuous integration (CI) is the practice of merging all developers’ working copies to a development branch of a codebase as frequently as reasonable.

Different contexts

Two contexts are different if they are different public organizations or different departments for which there is not one decision maker that could make collaboration happen naturally.

General public

The public at large: end users of the code and the services based upon it.

For example, a city’s residents are considered end users of a city’s services and of all code that powers these services.

Open source

Open source is defined by the Open Source Initiative in their Open Source Definition.

Open standard

An open standard is any standard that meets the Open Source Initiative’s Open Standard Requirements.

Policy

A policy is a deliberate system of principles to guide decisions and achieve rational outcomes. A policy is a statement of intent, and is implemented as a procedure or protocol. Policies are generally adopted by a governance body within an organization. Policies can assist in both subjective and objective decision making.

Public policy is the process by which governments translate their political vision into programs and actions to deliver outcomes.

At the national level, policy and legislation (the law) are usually separate. The distinction is often more blurred in local government.

In the Standard the word ‘policy’ refers to policy created and adopted by public organizations such as governments and municipalities.

Public code

Public code is open source software developed by public organizations, together with the policy and guidance needed for collaboration and reuse.

Public code is both computer source code (such as software and algorithms) and public policy executed in a public context, by humans or machines.

Public code serves the public interest, is open, legible, accountable, accessible and sustainable.

By developing public code independently from but still implementable in the local context for which it was developed, as well as documenting the development process openly, public code can provide a building block for others to:

  • re-implement in their local context
  • take as a starting point to continue development
  • use as a basis for learning

To facilitate reuse, public code is either released into the public domain or licensed with an open license that permits others to view and reuse the work freely and to produce derivative works.

Repository

A repository is a storage location used by version control tools for files and metadata of a codebase. Repositories allow multiple contributors to work on the same set of files. Repositories are able to store multiple versions of sets of files.

Source Code

Human readable text of a computer program which can be translated into machine instructions.

Version control

Version control is the management of changes to source code and the files associated with it. Changes are usually identified by a code, termed the revision number (or similar). Each revision is associated with the time it was made and the person making the change, thus making it easier to retrace the evolution of the code. Revision control systems can be used to compare different versions with each other and to see how content has changed over time.