How Debian Intent to Package (ITP) Reports Work

An Intent to Package (ITP) report is a specialized bug submission within Debian's Bug Tracking System (BTS) that officially signals a maintainer's plan to introduce a new software package to the Debian archive. By submitting this notice through the Work-Needing and Prospective Packages (WNPP) database, prospective and existing Debian contributors establish a public record of their ongoing work. This process prevents redundant packaging efforts across the global community, invites early technical review on software licensing and suitability, and serves as the foundational tracking ticket that is closed once the software successfully enters the distribution.

The Role of WNPP and the Debian BTS

Debian maintains a pseudo-package in its BTS known as wnpp (Work-Needing and Prospective Packages). Rather than reporting a defect in existing software, contributors use the WNPP system to track the life cycle of prospective, orphaned, or neglected software packages.

When a developer intends to package new software, they file a wishlist bug against wnpp with a subject prefixed by ITP:. This entry is indexed publicly on Debian's infrastructure, notifying the community that active packaging is underway.

Required Information in an ITP Report

To provide sufficient context, an ITP submission requires a standardized set of metadata about the software:

  • Package Name: The prospective binary and source package names, adhering to Debian naming conventions.
  • Version and Upstream Author: The upstream software version being packaged and the upstream author's identity.
  • URL: The primary website or source repository for the upstream project.
  • License: The software license under which the code is released, allowing Debian developers to evaluate compatibility with the Debian Free Software Guidelines (DFSG).
  • Description: A short summary and an extended description detailing what the program does and why it is valuable to Debian users.

Preventing Redundant Work

The primary operational purpose of an ITP is coordination. Because Debian is a decentralized project with thousands of independent contributors worldwide, multiple individuals might independently decide to package popular emerging tools. Before beginning work, a contributor checks the WNPP database. If an open ITP exists, they can contact the maintainer to offer assistance rather than duplicating the effort. Filing the report effectively registers the contributor's intent and reserves the packaging effort.

Facilitating Community Review and Sponsorship

Once an ITP is submitted, an automated copy is forwarded to the debian-devel mailing list. This allows the broader Debian community to evaluate the prospective software:

  1. Licensing and DFSG Compliance: Experienced maintainers examine the specified license to detect any non-free clauses, patent issues, or terms incompatible with Debian's strict software standards.
  2. Naming Conflicts: Developers verify that the proposed package name does not conflict with existing utilities or violate policy.
  3. Packaging Sponsorship: If the submitter is not yet a Debian Developer (DD) or Debian Maintainer (DM) with upload rights, the ITP serves as an introduction to prospective sponsors. A DD can follow the progress of the ITP and agree to review and sponsor the package upload into the Debian archive.

Closing the ITP

The ITP bug remains active throughout the packaging and testing phases. Once the package is fully assembled, linted, and built, it is uploaded to the Debian NEW queue. The package's debian/changelog file includes a reference to the bug (for example, Initial release (Closes: #123456)). When Debian's FTP masters approve the software and it enters the unstable repository, the BTS automatically marks the ITP report as resolved, concluding the formal onboarding process.