# Contributor Agreement
Version 2.2 - February 2024
The purpose of this agreement is to establish and grow an active group of councils and suppliers to co-develop, share and maintain open-source Drupal code for our citizen-facing websites.
Wherever possible we will re-use existing knowledge and solutions to avoid duplication of effort.
Through this, we aim to:
- make it as easy as possible for all citizens, regardless of their community, to access council services, and for councils to provide information to those accessing and with need for their services;
- share information between councils about usability and user response to Components;
- show how collaboration between councils can work.
This agreement is non-binding; all parties agree to follow this agreement in good faith.
# Values
We believe in and are committed to the principles of the Local Digital Declaration (opens new window).
Specifically, we are committed to:
- an open culture that values, incentivises and expects digital ways of working from every member of the community;
- working in the open;
- sharing our plans and experience;
- working collaboratively with other organisations;
- developing and reusing good practice;
- publishing our work under open source licences.
We agree to maintain a common codebase for the agreed projects and not to keep any improvements to the common codebase private.
We promote diversity in our community and value the input of a plurality of voices.
We want as many people as possible to benefit from this project. We welcome contributions in a variety of forms from inside and outside local government, building on the strength of open source communities both in the UK and beyond.
We take our inspiration from other code sharing organisations and initiatives and recognise we are part of a wider international movement and community.
# Commitment from councils and suppliers
Councils and suppliers agree to commit some time to further the aims as outlined in this document.
We welcome contributions from a range of skills, including:
- Supporting others in Slack;
- Testing and helping with merge requests;
- Adding issues and triaging the issue queue in Github;
- Adding new and updating existing documentation;
- Conducting and sharing user research;
- Conducting accessibility audits.
# Supplier Requirements
All suppliers agree to:
- commit to the long-term sustainability of the project;
- offer excellent customer service;
- be fairly priced;
- make every effort to integrate client councils into the collaborative project;
- provide councils with the features and flexibility to meet user needs;
- work in a user-centred way;
- adhere to the GOV.UK standards for digital service delivery. For example, the Technology Code of Practice or Digital, Data and Technology Capability Framework.
In addition, Drupal agencies should be working with, and recommended by a council and have a proven track record of Drupal contribution, such as a Drupal.org profile, and/or evidence of speaking at or organising Drupal events.
# Spam and self-promotion
Our Slack workspace is designed as an open and inclusive space where participants can freely share ideas, knowledge and experiences.
Its primary function is to aid collaboration between councils and we aim to keep it from becoming a secondary marketplace for products and services.
We ask that suppliers avoid using Slack for marketing purposes.
Do not approach participants with unsolicited sales pitches, or repeatedly post links.
Also, do not pass on information gained from LocalGov Drupal to marketers or salespeople without consent.
You are welcome to post examples of tools, products, or services that councils are using and may find useful, but please refrain from blatant advertising, marketing, or any kind of spam.
# Access to Slack
# Councils
We grant access to our Slack channel to any council team member that requests it, regardless of whether their council uses our platforms or not.
This is because we want to be as open as possible for councils and encourage them to become a part of our project.
Ultimately this project aims to improve our public services in a collaborative way and the more councils that experience our ways of working the bigger the positive impact for the sector.
We also ask that suppliers inform us when their team members move on so that we can remove them from Slack.
# Suppliers
Before we add any suppliers to Slack we ask that they fill in the supplier interest form, have a quick chat with us and sign the contributor agreement.
If the supplier is already working with a council that council can request that the supplier gets added to our Slack channel.
If we don’t receive a request from a council only subscribing suppliers will be added to the Slack channel.
We ask that councils inform us if they are no longer working with a non-subscribing supplier so that we can remove them from our channel.
# Compliance with best practice
All public-facing functionality should comply with the Web Content Accessibility Guidelines 2.1 AA at minimum.
The parties acknowledge that administering, contributing and otherwise becoming involved in the project will involve the processing of personal data about the participants, and therefore agree to comply with all relevant legislation and to establish appropriate practices and procedures.
Any code that is developed as part of this project will follow the principles of data protection by design and default.
# Communication
By default, we work in the open:
- Pull requests, and the product roadmap are all publically accessible.
- Minutes of meetings will be made public where possible.
We blog about and promote the project regularly on social media to gain wider recognition amongst councils and the wider public. We ask that you follow us on social media (LinkedIn and Twitter) and help amplify our posts.
We run a monthly community meetup every month which you are welcome to join.
# Intellectual property and licensing
Our code will always remain open source, and free for anyone to download and use.
Code and other materials committed to the project will be automatically licensed to the other participants on an agreed open source licence (see “Code Licences” below), but, subject to that licence, each contributor will retain ownership of their copyright and other intellectual property.
As an example: A developer in a council develops some code. That council retains the intellectual property of the code. At the point of publishing the code, it is licensed under the appropriate licence for others to use.
# Code licences
Drupal is released under the GPLv2 (or later version), therefore by default, all Drupal code will be published under GPLv2 (or later version).
Where it is permissible to release under a licence other than GPLv2 or a later version, the Technical Group will agree on exceptions to this on a case-by-case basis.
All hosting of code repositories and testing infrastructure will be on platforms that support open source projects for free (such as Gitlab and Github).
# Documentation licences
All documentation and other materials will be shared publicly and published under the Creative Commons Attribution 4.0 (CC-BY) or GPLv2 (or later version) licences.
# Liability
All code and other materials are provided to the project “as is”. No party bears liability for any contribution. Code and other materials are provided without any warranty or support or other liabilities.
All known bugs and security issues must be disclosed to the other parties in a private and secure manner and in accordance with good practice.
# Joining and leaving
Any party may quit at any time without notice and retain access to the common codebase in the repository on the basis of the open source licence.
# Disputes
It is the responsibility of the Subscribers Group to resolve any disputes.
# Harassment
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. We do not tolerate harassment of participants in any form. Our Code of Conduct sets out our standards and enforcement guidelines and we expect every participant to be aware of and follow this.