Debian DFSG Open Collaboration and Patch Distribution
The Debian Free Software Guidelines (DFSG) define the criteria used to determine whether software qualifies as free software within the Debian operating system. Central to this framework are the principles governing derived works, author integrity, and non-discrimination, which together establish Debian’s rules for open collaboration and patch distribution. This article details how the DFSG balances developer collaboration with upstream code provenance, specifically examining Guideline 3 (Derived Works) and Guideline 4 (Integrity of The Author's Source Code).
The Foundation of Collaboration: Derived Works (DFSG 3)
DFSG 3 establishes the baseline for open collaboration by requiring that licenses permit modifications and derived works. For software to be included in Debian, the license must allow users and downstream maintainers to study, modify, and redistribute the program under the same license terms as the original software. This ensures that any collaborator can fix bugs, add features, or port the application to new architectures without requiring special authorization from the original authors.
Patch Distribution and Author Integrity (DFSG 4)
While DFSG 3 guarantees the right to modify software, DFSG 4 addresses how those modifications may be distributed when upstream authors wish to protect the integrity of their official release codebase.
DFSG 4 allows licenses to restrict the redistribution of modified source code, but only under a strict compromise:
- Permission of Patch Files: The license may restrict source code from being distributed in directly modified form only if it explicitly permits the distribution of "patch files" alongside the pristine upstream source. These patches are designed to alter the program at build time.
- Binary Distribution Rights: The license must explicitly allow the compilation and redistribution of binaries built from this patched source code. Downstream distributors cannot be barred from executing or distributing the resulting modified program.
- Naming and Version Requirements: The license may mandate that modified or derived works carry a different name or version number from the original software. This protects the original author's reputation and prevents user confusion regarding official versus community-modified releases.
Historical Context and Practical Function
The patch distribution clause was created largely to accommodate established software with strict author-integrity requirements, such as Donald Knuth's TeX and Larry Wall's Perl. Knuth required that any modified version of TeX not be distributed under the name "TeX" unless it passed strict validation tests, ensuring standard rendering across platforms.
By sanctioning the distribution of unmodified upstream tarballs
combined with separate diff/patch files, the DFSG accommodates upstream
provenance while safeguarding downstream freedom. In Debian's packaging
workflow, this principle is visible in source packages, where the
original source code (.orig.tar.gz) is maintained intact
alongside Debian-specific modifications packaged as unified patches
(typically via the quilt format).
Inclusive Collaboration (DFSG 5 and DFSG 6)
Open collaboration under the DFSG also relies on non-discrimination:
- DFSG 5 (No Discrimination Against Persons or Groups): Licenses cannot exclude specific individuals, organizations, or nationalities from accessing or contributing to the codebase.
- DFSG 6 (No Discrimination Against Fields of Endeavor): Licenses cannot restrict how the software is used, meaning commercial entities, academic researchers, and hobbyists all retain identical rights to patch, build, and redistribute the software.
Together, these guidelines ensure that Debian's model of patch distribution remains decentralized, transparent, and universally accessible to all contributors.