Exherbo – what we’re good at, what we should improve

Exherbo has developed nicely since we went public about it two years ago and even though we haven’t yet accomplished all of our major goals yet, I think we’re doing well. In this post, I’d like to comment on a few things that we’ve accomplished, some we’re still working on and some which we yet have to deal with. This is, of course, just my personal point of view and not necessarily shared by any other Exherbo developer.

I’m writing this in the hope that some of you might want to help with the open issues and to remind myself of what we did and what we have yet to do. 🙂

Distributed development

I really like how we do distributed development: Our contributors just add their git format-patch to our patch-tracking bot hacchi, we’ll review the patch and if it meets our quality standards, we can just apply it locally and push it. If the patch needs improvements, we point those out to the submitter. Like that, we’re not only getting quality exheres but we help our contributors to learn good practices (which often can be applied to non-Exherbo shell scripting as well). Not only do Exherbo core devs review such patches but even other contributors do regularly. Our peer-reviewing practices are certainly one of our strong points.

There’s one issue with this, though: Peer-reviews take time and there are usually only a handful of Exherbo core devs who take care of such patches. This we certainly could improve at. I’d love to see all of us with push access to the official repositories to regularly check the patches on hacchi and work on them. This is what I believe to be part of our responsibility to our contributors.

Multi-lib / multibuild / multi-ABI

We don’t yet have a fully integrated mutlibuild system. We’re working on a system for 64-bit/32-bit multibuild but it’s in its own branches and it is currently being revamped by Saleem “compnerd” Abdulrasool. This could benefit from getting more attention. Asking those of us to work on multibuild for obscure arches like MIPS is fine but won’t get anything done. If you care, please help us actively with it. There’s #exherbo-multibuild, btw.

RepositoryRepository

Adding new repositories is not as easy as it could/should be. What some of us envisioned is the ability to query, install, uninstall and upgrade repositories just like any exheres. As far as I know, nobody is working on it at the moment – maybe this your chance for eternal glory? 😉

Init system / Genesis

I’ve been looking into many init systems over the years and specifically again lately. This was mostly due to the fact that Genesis, Exherbo’s own init system, was very much delayed. Let’s face it – most init systems that were/are not SysV-compatible have failed (some don’t know that yet, though 😉 ) and, to be honest, I wouldn’t bet on Genesis to succeed. Thus, while we have baselayout-1 (among other options) at the moment, I’ve been looking into Upstart again. I became curious about it again when I saw that several major distributions are moving to use it and so I set up a virtual machine, switched it to using Upstart and experimented a bit with it.

Things are looking good and so I’m probably going to create native Upstart jobs soon.

Writing a Developer’s Manual

I still want to create a Developer’s Manual as well. I like Gentoo’s DevManual and I might use that as a starting point. Or maybe not. Not sure yet but if anyone has a good idea about it…

For more great ideas to work on, see http://dev.exherbo.org/~kloeri/gsoc2010/ideas.html.

I am and have been working on quite a few F/OSS projects:
  • Exherbo (Nick: Philantrop)
  • Gentoo (Nick: Philantrop)
  • Calibre plugin iOS reader applications
  • Calibre plugin Marvin XD
  • chroot-manager
  • stuff on github
  • Lots of other projects
  • If you like my work, feel free to donate. 🙂