Debian used to be the cool kid among Linux distributions. Because our stuff worked much better, was easy to install and especially to upgrade. Dependencies would be automatically resolved while others were fighting dependency chaos, and our menus would have all the apps in it, where others had to fill their menus on their own. And at the same time, Debian was very flexible and could be customized to become e.g. Knoppix. Our bugtracking was great and we were openly discussing bugs and all this stuff.

Many of these Debian achievements are now common among distributions. Especially among Debian-derived distributions. Debian however has become a reliable ‘stable’ distribution often even called ‘stale’, while others stand in the spotlight of innovation. Other distributions have come up with maybe more advanced bugtrackers (I’m not talking bugzilla, which IMHO is overengineered) and other tools.

Technically, this isn’t completely true. There are still many fields where Debian is technically leading. But our focus has recently been a lot about individual packages or components (e.g. the installer). Maybe we should try focusing more on infrastructure again.

In fact, Debian still has some very good infrastructure components others might be lacking. Our QA tools (including bug counters, tracking which versions are affected by which bugs, all kinds of graphs, wotomae) are great. All our update-* commands are missing in many other distributions, also things like invoke-rc.d. We have a solid Python policy to support multiple Python versions and precompilation (judging from the SELinux policy, none of the other distributions has that yet). We’re able to use dash as a minimal shell instead of bash in most places (which does make a speed and memory difference). We have Debtags.

But these projects don’t play a key role in Debian anymore AFAICT. Trying to start a major infrastructure thing requires a LOT of engagement, maybe too much. I’d love to see better SELinux support in Debian, but I can’t do it on my own, it’s just too much. And I find it very hard to find people to help me with that effort. If Enrico hadn’t been pushing Debtags again and again (and with a lot of code), it would also have gone stale. Despite being IMHO something that can take Debian on top again (making it a lot easier to find appropriate software). One of the reasons why Debian is still living pretty much outside is that it would be a huge effort to get maintainers to add the corresponding Tag information to their packages and so on. I’ve always balked at even trying that, fortunately Enrico got some tag information added via overrides to the Packages file already. Another thing that should have been happening within Debian (but happened at Ubuntu) is ‘upstart’. There have been a couple of packages dealing with new init systems, but none ever managed to get support into other packages (nor is there any package in Debian with upstart support that I’m aware of).

Getting SELinux strict support into init ramdisks is another big thing I’m too scared of to even attempt… i.e. I doubt that I’ll be able to do that on my own, yet even to get it into the actual packages…

DPL candidates: any ideas on how to be come more agile in such points (e.g. adding support to sysvinit+upstart+initng+runit to all packages with init scripts)? It took us already ages to get LSB headers added to many init scripts. Or on any of the other transitions we should do (SELinux support, Debtags, …), or even why we’ve lost this flexibility?

The one idea I have for that is to try to do some hackfests. Like an init transition day, where a group of people tries to NMU most of the packages that have init scripts. Or adds “Homepage:” to most packages, which some important package metadata we only have on some packages. Or adding ‘watch’ files.

Some of these would be easier if we had a common way of packaging and a central SVN repository. That would make it both easier to prepare the transition (e.g. committing init scripts beforehand) or especially for adding Homepage metadata and watch files without actually interfering with the maintainers work by not doing an upload immedeately, but just adding them to SVN so the maintainer includes them on his next upload.

(Sorry, no comments enabled in my blog.)

P.S. another thing I’d really love to see is a (semantic) PackageWiki for Debian, that has a Wiki-like structure with a page for each (Source-) package. Including things like e.g. Screenshots, Homepage link, Link to the Freshmeat page of the package, support lists/groups … Kind of like the QA pages, but for the actual users, and editable by visitors.