Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a couple of FOSS projects. They can be a bit of a pain to get running unless you've got dependencies in place already, which I figure is par for the course for FOSS projects.

We know that each free operating system out there has its own package management systems. A few of them, such as homebrew on Mac OS or AUR on Arch linux are very friendly to community contributions.

What I am wondering is, who exactly is expected to contribute packages? Primarily I am concerned with the case of small or developing projects, since it's pretty standard for the big projects to be put in there by the OS maintainers.

From my perspective, it is something of a chicken-egg problem, because your software will not make its way into a package system if it does not have users, and it is less likely to gain users if it is not easy to install and use.

For the sake of discussion, let's assume that the software in question is actually legitimately useful. I can see where people could create crapware or spam and that should obviously be kept out of any package system.

So, in summary, whose job is this? Is it spammy for a FOSS software dev to put his own work into various OS package repositories?

share|improve this question

migrated from stackoverflow.com Nov 23 '11 at 2:40

This question came from our site for professional and enthusiast programmers.

    
I mainly use Debian and Ubuntu, so I can't talk about other distros. In Debian, if you want your package to be distributed with the main Debian archives, you need a Debian Developer to sponsor your package, even if you do all the packaging yourself. Ubuntu draws the vast majority of its packages from Debian, so that's still the route to go if you're targeting Ubuntu. Companies also have the option of having their packages in Canonical's partner repository (but that repository isn't enabled in a default Ubuntu install, so it's not as ideal as going the Debian route). –  Chris Jester-Young Jul 18 '11 at 16:03

2 Answers 2

up vote -1 down vote accepted

No, it certainly isn't spammy. Most packages are contributed to OS repositories by their authors, unless the author doesn't make a package for an OS, in which case the users of an OS with users of your software will create one.

Also, you should handle the OS-specific packaging stuff, and have it ready for the package repository maintainer to just 'drop in'.

For example, for Gentoo, you'll write an ebuild file (a fairly concise text file that describes the fetch and build process), then file a bug requesting for the (attached) ebuild to be added to the main portage repository.

share|improve this answer
3  
This is flatly wrong. Linux packages usually built either by the distribution's official packaging team, or by by people volunteering to build packages for that distribution. Only in very, very rare cases will they be provided by the developers of the same project being packaged. –  user16764 Nov 23 '11 at 4:31
    
@user16764: Well, it really depends. It's true that most packages are built by the distro's team, but there are e.g. some Debian maintainers who maintain packages they wrote themselves. Also, many projects will create the packaging infrastructure and maintain it in their VCS, thus doing a lot of the actual work of packaging, even if someone from the distro is "officially" responsible for the package. –  sleske Nov 23 '11 at 8:29

Obviously, what you meant to ask is the following. There are many distributions of Linux, and most have their own collection of packages. Who is responsible for providing those distribution-specific packages?

The answer is that in most cases, the maintainers of those packages are people who specialize in building packages. They are not, typically, the the same people who develop the open source projects being packaged.

The reason for this is that packaging is best done by those who know both the distribution and the packaging system inside and out. Maintaining the package-building scripts, across upgrades of a) the software being packaged and b) the distribution, is also a larger job than most people think.

To name some examples:

  • Debian has numerous packaging teams
  • Slackware's official packages are maintained mainly by Slackware's one maintainer (with help from a small team), with unofficial ones being maintained by satellite projects such as SlackBuilds, GnomeSlackBuild, and Slacky
  • Arch, like Debian (and most other distributions), also has an official packaging team, an interview with which you can find here

As to whether it's "spammy" for a developer to provide packages for any specific distribution: no it isn't. The distribution's users will appreciate your support. Furthermore, all Linux distributions (AFAIK) distinguish between official packages (built by the distribution's maintainers) and unofficial ones (built by anyone else).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.