Generated by GPT-5-mini| Patchwork (software) | |
|---|---|
| Name | Patchwork |
| Developer | Linux Foundation |
| Released | 2008 |
| Programming language | Python |
| Operating system | Cross-platform |
| Platform | Web |
| License | GNU General Public License |
Patchwork (software) is a web-based patch tracking system designed to collect, review, and manage software patches delivered by email for collaborative development projects. It provides a focused interface to organize series of commits, facilitate code review workflows, and maintain integration with mailing lists, continuous integration services, and version control systems. Patchwork targets projects that rely on email-centric contribution models and aims to improve traceability, review efficiency, and release management.
Patchwork originated to address needs in large-scale open source projects such as the Linux kernel, the GNU project, and infrastructure maintained by the Free Software Foundation, where contributors submit patches via Email to project Mailing lists and require structured tracking, review, and archival. The application supports integration with Git, Subversion, and other Version control systems, and interoperates with tools like Gerrit, GitHub, and GitLab by ingesting patch series and exposing metadata for reviewers and integrators. Deployments commonly run on Debian, Ubuntu, and Fedora servers, and administrators often combine Patchwork with Postfix, Exim, or Sendmail for mail handling.
Patchwork began as an effort in the late 2000s within communities around the Linux kernel and related kernel.org projects to improve patch review via email. Early contributors included developers associated with the Linux Foundation and mailing list maintainers from the Apache Software Foundation and the X.Org Foundation. The project evolved through contributions from volunteers affiliated with organizations such as Red Hat, Intel, Google, and SUSE. Over time, maintainers incorporated features inspired by code review platforms like Gerrit and social code hosting services such as GitHub and Bitbucket, while preserving an email-first workflow favored by projects including OpenStack, QEMU, and Mesa 3D.
Patchwork is implemented primarily in Python and leverages web frameworks and libraries common to the OpenStack ecosystem. Core components include a web frontend, a database backend (often PostgreSQL or SQLite), a message ingestion pipeline that parses RFC 5322-compliant Email messages, and a RESTful API used by automation tools and CI systems like Jenkins and Travis CI. The system integrates with LDAP or OAuth providers for authentication alongside single sign-on solutions deployed by organizations such as Red Hat and Canonical. For scalability, operators deploy Patchwork behind reverse proxies like Nginx or Apache HTTP Server and containerize instances using Docker or orchestration via Kubernetes.
Patchwork's workflow centers on ingesting patch emails and presenting them as tracked series, enabling reviewers from projects such as LibreOffice, CUPS, or GIMP to comment, tag, and approve submissions. Features include automated threading and deduplication of patch series, patch metadata extraction compatible with Signed-off-by and Developer Certificate of Origin practices, topic and project tagging used by foundations like Eclipse Foundation, and tools for maintaining changelogs and release notes. Administrators can define custom fields, configure notification rules tied to Mailman lists, and hook into CI pipelines used by BuildBot and Zuul for gating and test results.
Patchwork occupies a role in ecosystems that include Mailman-managed mailing lists, Git repositories hosted on GitLab or GitHub Enterprise, and continuous integration orchestrated by Zuul or Jenkins X. Integrations enable automatic import of patches from Gerrit review streams, export of accepted patches to Git branches, and cross-linking with issue trackers such as Bugzilla, JIRA, and Phabricator. Community-maintained plugins and scripts facilitate interoperability with configuration management tools like Ansible, Puppet, and Chef for automated deployment and maintenance.
Patchwork is widely adopted by projects and organizations that prefer email-driven contribution workflows, including large-scale infrastructure projects like U-Boot, BusyBox, and networking stacks maintained by Open vSwitch contributors. Academic groups and research labs at institutions such as MIT, ETH Zurich, and University of Cambridge have used Patchwork for managing collaborative code review in systems research. Commercial vendors in embedded systems and telecommunications, including teams at Nokia, Ericsson, and Qualcomm, deploy Patchwork to centralize patch intake and audit trails. Foundations and consortia running long-lived projects often combine Patchwork with governance workflows specified by bodies like the Linux Foundation and Open Source Initiative.
Security practices for Patchwork deployments mirror those used across web applications maintained by organizations such as CNCF and OWASP: enforce HTTPS via Let's Encrypt or enterprise PKI, apply role-based access controls tied to LDAP or OAuth2 identity providers like GitHub and GitLab, and harden servers with kernels from Red Hat Enterprise Linux or Ubuntu LTS. Privacy controls address retention of personal data in mail headers and patches, aligning with policies inspired by regulations and frameworks such as GDPR and corporate compliance programs from firms like IBM and Microsoft. Administrators should monitor for threats reported in advisories from Mitre and apply patches distributed through vendor channels and community repositories.
Category:Free software Category:Software development tools Category:Version control