The open source sphere has continuously had a lot of discussion regarding packaging, and there’s often an expectation that upstream developers should distribution packages. I want to make it clear where I stand on this, what users of my projects can expect, and what how packagers can contribute.
As a general rule, for projects I maintain, I’ll only do source releases (e.g.: tag a version as v2.0.1 and sign that tag or tarball). For a few, I’ll provide binary releases (this applies especially to compiled languages where downloading the binary is actually meaningful). Anyone is free to download, build and use these, since that’s the whole point of open source software.
Obviously, this is rather inconvenient for many users: it’s much more
convenient to use a deb
, apkg
orrpm
package that they can easily install
and keep updated via their distribution’s package manager.
Honestly, it’s usually too much work for me (an most upstream developers) to provide these packages. I don’t use Debian and Fedora. I’m not familiar with all the quirks of rpm and deb. Even if I take the time to build these, I’ll be shipping a packages for platforms that I don’t use. There would be zero quality control. And that additional work is not something for which I want to sign up. I want to focus on maintaining upstream.
Attempting to ship a single deb
package as upstream also neglects the
different distributions and release channels out there. Some users are on
Debian-stable, others on Debian-testing, others on Mint, others on Ubuntu, etc.
Availability of dependencies vary, and each platform has its own quirks. While
expecting upstream to ship deb
packages sounds simple, in reality there’s a
very large permutation of targets for which one must build and test, and
shipping a single deb
package is just opening the door for a plethora of bug
reports.
That said, I’ve nothing against others packaging my tools for different
platforms. In fact, I encourage it! If someone with the right expertise wants
to build a Debian package for caffeine-ng
, darkman
, vdirsyncer
or any
other project, I welcome the effort. My focus is on shipping releases ready to
be packaged, and let packagers do their jobs.
Additionally, if any packager finds obstacles, or needs to apply patches for code to build on a given platform, please open an issue (or send a patch). I don’t mind giving guidance. But don’t expect me to know all the quirks of every distribution.
Added a mention of how a single deb
won’t work on every Debian-based distro.