In order for a piece of software to be included in Ubuntu, it must meet the [http://www.ubuntu.com/community/ubuntustory/licensing Ubuntu License Policy].
Requesting a new package for Ubuntu
To get a package into Ubuntu, please [https://launchpad.net/ubuntu/+filebug?field.tags=needs-packaging file a bug in Launchpad] and make sure it has the tag [https://lists.ubuntu.com/archives/ubuntu-motu/2007-March/001471.html needs-packaging]. Please mention where to get the source for it and which license it is under. An example request is [https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages/ExamplePackageRequest here]. Make sure you check which [https://launchpad.net/ubuntu/+bugs?field.tag=needs-packaging packages have already been requested]. For packages in Debian, but not in Ubuntu [https://launchpad.net/ubuntu/+filebug file a bug] with the summary field "please sync package <packagename> from debian <distro>" where packagename is the package you would like to see.
Packaging it yourself
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 [http://launchpad.net/~ubuntu-archive archive admins]. More information on the review process, including the criteria which will be applied, can be found on the [:UbuntuDevelopment/CodeReviews#NewPackage:Code Reviewers page]. Developers are encouraged to examine their own packages using these guidelines prior to submitting them for review.
The ["MOTU"] team approval policy for new packages:
New MOTU contributors (who are not member of the [https://launchpad.net/~motu MOTU] team yet), need to get their packages reviewed and signed off by two [https://launchpad.net/~ubuntu-dev/+members Ubuntu Developers] to get them uploaded to Ubuntu.
- 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 and upload it to [wiki:MOTU/Packages/REVU REVU], add the link to the package in [wiki:MOTU/Packages/REVU 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 Ubuntu package (LP: #242910)
- where "LP" refers to "Launchpad". See the Packaging Guide for [wiki:PackagingGuide/Howtos/PackagingFromScratchHelloChangelog more information on changelogs].
[wiki:FeatureFreeze Feature Freeze] is the latest approval date (28th of August for Intrepid): 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 [wiki:MOTU/Packages/REVU REVU] is the official location for getting packages reviewed.
- The key policy point is that two MOTUs must advocate the package. Most MOTUs use [wiki:MOTU/Packages/REVU REVU] and it may be more difficult to get packages in alternative locations reviewed.
Also of interest
[http://mentors.debian.net/ mentors.debian.net], a website where people interested in getting their packages inside Debian can upload their packages. You need to [http://mentors.debian.net/debian/pool/ browse the directories] to find packages. ContributingToDebian has additional information on getting your work into Debian.
[http://svn.debian.org/wsvn 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".