Drupal Supplier Memorandum of Understanding (MoU)
Version .1 - September 2022
This MoU is specifically for Drupal suppliers.
The purpose of the MoU 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 the 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.
All suppliers need to:
- provide councils with the features and flexibility to meet user needs
- be backed by excellent customer service and documentation
- be fairly priced, and straightforward to start using
- provide comprehensive APIs as standard, not as an add-on
- adhere to the GOV.UK technology code of practice
In addition Drupal Agency suppliers members of LocalGov Drupal will need to:
- have a proven track record of Drupal contribution, including a Drupal.org profile, and/ or evidence of speaking at or organising Drupal events
- show active participation in our technical group, with frequent pull requests which are positively reviewed by their peers.
- make every effort to integrate client councils into the collaborative project
- commit to the long term sustainability of the project
- agree to the MoU / terms in this document
- abide by the community code of conducts for Slack (see below)
We believe in and are committed to the principles of the Local Digital Declaration.
Specifically, we are committed to:
- an open culture that values, incentivises and expects digital ways of working from every member of the project team;
- 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 Suppliers
Suppliers who subscribe to this MoU agree to commit some time to further the aims as outlined in this document.
The Product Group and Technical Group welcome contribution from a range of skills, including:
- Dedicated developer time
- Management / admin time
- Support to others in Slack
- Triaging the issue queue in Github
- Handling merge requests, attending Merge Mondays
Our code will always remain open source, and free for anyone to download and use.
Since 2019 LocalGov Drupal has received significant funding from central government (MHCLG as it used to be called and then DLUHC). This funding has been crucial in building a core team to coordinate the collaboration, implement development and support the growth of the product and community.
LocalGov Drupal is now transitioning from a publicly funded project to a self funded limited company by April 2023.
As part of this, we're asking Drupal suppliers to pay £10,000 / yearmembership fees, with amounts based on a sliding scale and their ability to pay.
Membership fees will bring additional benefits to suppliers.
All public facing functionality should adhere to WCAG 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.
No personal or transactional data is being stored as part of this project.
Any code that is developed as part of this project will follow the principles of data protection by design and default.
By default, we work in the open:
- Pull requests, product roadmap are all publically accessible.
- Minutes of meetings will be made public where possible.
We aim to blog and tweet regularly about the project to promote it and gain wider recognition amongst councils and the wider public.
We would like to encourage informal gatherings every couple of months.
There is no expectation to provide reports to any participating council, any responsibility to report back will fall to the individual participant on the Product Group.
Intellectual property and licensing
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 licenced under the appropriate licence for others to use.
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 product group will agree 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).
All documentation and other materials will be shared publicly and published under creative commons (Creative Commons Attribution 4.0 (CC-BY) or GPLv2 (or later version).
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.
The structure will evolve as the project grows and will always aim to be “good enough for now” to enable it to be fit for purpose.
For now, there are three main groups that form the administrative body:
- Steering Group
- Product Group
- Technical Group
The Steering Group is a small team comprised of individuals from councils and suppliers who have demonstrated a commitment to the future of LocalGov Drupal. Its stated aim is: “Ensuring the growth and sustainability of LocalGov Drupal”
The Steering Group is responsible for:
- Coordination / Oversight / Risk management
- Bidding for more funding
- Overseeing the governance structure of LocalGov Drupal
- Maintain this Memorandum of Understanding
- Support the initiation of working groups
- Facilitate conflict resolution.
- Making decisions on the direction of funded work
- Reporting to the Product Group on decisions and news
- Ensuring the product is viable
- Evaluating suitability of product enhancements for the distro from councils
- Reporting to the Technical Group on decisions and news
- Taking advice from the Technical Group
- Helping with onboarding new councils
- Delegating work where possible.
- Ensuring we have sustainable resources
- Ensuring that our culture is open and transparent and our people are happy.
- Business planning for future sustainability.
The Product Group is a group of representatives from all organisations involved, expected to include product managers and technical developers from the Technical Group, representing the collective stakeholders to guide the direction of the product.
The Product Group is responsible for:
- Product governance and process
- Setting product roadmap and release dates based on user research
- Release quality standards
- Technical direction and architecture
The Technical Group is a sub-group of committers representing the required technical expertise to resolve rare disputes.
The Technical Group is responsible for:
- Development processes and coding standards
- Git repository hosting
- Security review and maintenance
- Conduct guidelines for committers
- Maintaining the list of collaborators / committers
- Resolving any disputes or issues related to the code
Joining and leaving
New participants may be admitted who are other Drupal Agency Suppliers, by agreement from the Steering Groupexisting supplier members.
Any party may quit at any time without notice, but all parties may retain access to the common codebase in the repository on the basis of the open source licence.
It is the responsibility of suppliers, and ultimately the Steering Group, to resolve any disputes as per the terms of our code of conduct.
Slack code of conduct for suppliers
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.
Therefore, in addition to our community code of conduct, we ask that supplier members avoid using our Slack channels for marketing purposes.
You are welcome to post examples of tools, products, or services that councils are using and find useful, but please refrain from blatant advertising, marketing, or any kind of spam.
If moderators or others believe that this additional guideline is not being adhered to we will follow the enforcement guidelines as laid out in the Code of Conduct