In order for a piece of software to be included in Ubuntu, it must meet the Ubuntu License Policy.
Requesting a new package for Ubuntu
To get a package into Ubuntu, please file a bug in Launchpad and make sure it has the tag needs-packaging. Please mention where to get the source for it and which license it is under. An example request is here. Make sure you check which packages have already been requested. Packages that have recently been added to Debian unstable will be automatically synced into Ubuntu prior to the Debian Import Freeze (DIF). After the Debian Import Freeze, you will have to file a bug with the summary field "Please sync <packagename> from debian <distro>" where <packagename> is the package you would like to see. Debian Import Freeze for lucid is on February 11, 2010.
Packaging it yourself
You can follow the Packaging Guide directives.
Packages which are not in Ubuntu yet, require extra scrutiny and go through a special review process, before they get uploaded and get a final review by the archive admins. More information on the review process, including the criteria which will be applied, can be found on the Code Reviewers page. Developers are encouraged to examine their own packages using these guidelines prior to submitting them for review.
To receive higher quality bug reports write an apport hook for your package.
The MOTU team approval policy for new packages:
MOTUs can upload new packages directly to the archive. However they are greatly encouraged to have a new package reviewed prior to uploading. (cf. MOTU/Council/Meetings/2007-02-23)
The MOTU team uses the following workflow:
- When you start to work on a new package, assign the needs-packaging bug to yourself and set it In Progress (if there is no needs-packaging bug, file one).
Once you have an initial package, upload it to REVU, add the link to the package in REVU to the description of the bug. From this point on, no further Launchpad entries are made until the package is uploaded.
- Once the approved package is uploaded, the uploading MOTU will set the bug status to Fix Committed.
- When the package clears the NEW queue it will automatically be set to Fix Released (debian/changelog must close the needs-packaging bug). This is done with a bullet point that follows the format:
* Initial release (LP: #242910)
where "LP" refers to "Launchpad". See the Packaging Guide for more information on changelogs.
Feature Freeze is the latest approval date (February 18th for "Lucid" aka Ubuntu 10.04): it is recommended to get things done in a couple weeks earlier, as getting approval may take some time. REVU days are planned through Feature Freeze, but the last days are likely only to grab packages that are really required to meet the feature goals for the release.
These are permitted, but REVU is the official location for getting packages reviewed.
The key policy point is that two MOTUs must advocate the package. Most MOTUs use REVU and it may be more difficult to get packages in alternative locations reviewed.
NEW packages through Debian
Ubuntu regularly incorporates source packages from Debian, so it could be useful trying to upload a package to Debian first to automatically have it in Ubuntu in due time. In order to have faster reviews, several teams have been set up to manage a given subset of packages. Some of them are:
More teams can be found here.
Also of interest
Always check if there is an ITP (intent to package) bug filed against the wnpp package in Debian. That means, somebody is already working on packaging the software for Debian. Join forces with them rather than reinventing the wheel.
mentors.debian.net, a website where people interested in getting their packages inside Debian can upload their packages. You need to browse the directories to find packages. ContributingToDebian has additional information on getting your work into Debian.
Debian's WebSVN It's possible that a package has been worked on for Debian but has a status of UNRELEASED. Check the appropriate directories that begin with "pkg" that your package may fall under. For example, game packages would be under "pkg-games".