Hacker News new | ask | show | jobs
by qpiox 1942 days ago
Well, you need to get competent enough before you take on a role as package maintainer. For start, imagine that you are one.

First, choose a package that really matters to you. On a daily basis. A package that you yourself would NEED to have it up2date the next day a new version is out.

Get the source deb and try to build it. Usually it's not very hard.

Then, try to do the same on all the debian variants (unstable, stable, ...)

If you succeed and the package works, you have the prerequisite competencies, at least as a beginner.

Then, these are some of the things that you will need to do, quite often.

Change the configuration of the package description so that you can build it with a later version of the source. For all variants of the distro.

Then try the same with the package dependencies, where those dependecies are not needed for other packages.

Then try to push it as close towards the latest source version, as you can without breaking stuff.

Once you do all that without issues and you are confident that you can use the version you built from source as a daily driver and you are not bothered by that, contact the original maintainer directly and offer help, sharing the details what you did as proof that you are competent enough.

If the maintainer is uncollaborative or unresponsive, put up your own repo for public use, and invite the public to install the package from your repo, so that the public will see some benefit and you will receive zillion of bug reports to further streghten your competence level.

1 comments

That does seem like it would be a sensible way of going about things if I could manage to find a package of modest complexity that is important to me, but under-maintained.
Maintaining a package is not as hard as developing software. You don't need to know algorithms, you don't need to know programming, you just need to know how to start a compiler and packaging software from the command line and read errors from the log.

If you are an active developer in the language that is used it will be easier, but you can do it even if you are not.

Example. Todays news here, is the latest release of Kodi. Debian does not have the most recent version. Some months ago I had an issue with the Kodi from the debian multimedia repo, so I decided to build it from source. It took me the better part of a day to have all the build tools installed and set-up everything, starting from zero. But in the end I had the latest Kodi running and it was running like that for 5 months and I even forget that I built it.

I managed to do that without even looking into the source code. In fact if you ask me what programming language is used to develop Kodi - I really don't know and don't remember.

Package maintainance is more about testing than about building.

So a list like this can serve as a guide in the process of choosing where to help. Just sort by number of users that use the software and go down the list until you find something that you use daily and where you would like to have the most recent version available and would volunteer your effort for 2-3 years (it is not really helpful if maintainers change every couple of months).

Thank you. That is useful information.

I'll also have to find something my employer is happy with me working on, but I think you've pretty clearly laid out what I'd be signing up for, and I appreciate it.

I a good way to find things you use that need help is the how-can-i-help tool:

https://wiki.debian.org/how-can-i-help