This website documents OCP’s policies around software development. This page describes how to propose and implement a policy.

Policy proposal

The current process is extremely lightweight: create a GitHub issue, and discuss with the Head of Data Products and Services. A structured process might look like Datamade: Making changes to the stack.

Policy implementation

Ideally, a policy is implemented across all projects before it is added to this website, for example: Django LTS upgrade, PyPI continuous deployment, preferred package change, code style change, etc. This promotes consistency and predictability across projects, which eases development and avoids errors. This also avoids “aspirational” policies that are never implemented.

However, some policies might be harder or longer to implement across all projects. For example, we might want to set accessibility standards for new projects, without first fixing all past projects. We can develop rules for policy exceptions, and we can indicate with an admonition which policies are more forward-looking than backward-looking.