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.

Gentoo packs it up – joins Exherbo

In an unexpected move, the Gentoo trustees have contacted us, Exherbo, recently with a suggestion. Disappointed with the intense internal quarreling among Gentoo developers (which Gentoo has been famous for anyway), the general inability of the current Gentoo council to provide the necessary vision and strategic governance for Gentoo as a whole as well as the lack of implementation of newer EAPIs in Portage, the trustees deemed it necessary to step in.

Gentoo Foundation, Inc.’s president, Roy “NeddySeagoon” Bamford being a regular in our IRC channel #exherbo on Freenode discussed the current state of Gentoo with his most trusted advisors, Denis “Calchan” Dupeyron (already an active Exherbo contributor) and Thomas “tanderson” Anderson (Exherbo dev). All three of them had first-hand experience with Exherbo and the way we work – distributedly, with strong peer-review and almost every single user contributing to Exherbo.

This effectiveness, the overall quality of Exherbo as well as the fast-paced development of both our exheres-0 format, the amazing speed of Paludis development (Paludis being Exherbo’s package manager) and, last but not least, Ciaran McCreesh’s latest information about the move to cave and egress, a Portage-UI-compatible Paludis client, convinced them to boldly go on with their plan to strengthen Gentoo: To join forces with Exherbo.

Of course, the transition of both resources and developers will be a slow process. While the merger with Gentoo is to become effective as of today, April 1st 2010, the announcement on the Gentoo website might lag a bit behind as Gentoo’s PR project is unfortunately somewhat overworked. It should be noted as well that not all Gentoo developers are likely to make the transition. Some have, let’s say, rather strong feelings about Exherbo, some feel they’re not up to a fast-growing, fast-paced modern Linux distribution and some might simply not notice before next year.

I’m sure there will be some friction yet to overcome yet but, all in all, I think Gentoo does the best thing possible – moving in with us, under the ultimate supervision of Bryan “kloeri” Østergaard (who once served Gentoo as head of Developer Relations and, thus, is well-suited for the job) as the “benevolent dictator” Daniel Robbins once was, will make good old Gentoo find back its way to former glory albeit under a new name – but, as the saying goes, what’s in a name? (Speaking of which: The name “Gentoo” is a trademark of Gentoo Foundation, Inc. until that is changed, too, and this site is not part of the Gentoo project and is not directed or managed by Gentoo Foundation, Inc.)