Previous Entry Add to Memories Share Next Entry
Announcing Exherbo!
kloeri
Open source is said to be about scratching your particular itches - and I've
been working my butt off for the last several months along with a small,
select team of developers doing just that.

All our hard work have so far resulted in a very experimental linux
distribution
that's definitely not ready for users yet (or even developers)
but does have quite a few interesting ideas and features.

In particular we've been working on and continue to focus on:

Packaging format:

  • our current package format is somewhat similar in idea to Gentoos ebuilds  but is completely incompatible due to the many technical differences.
  • our naming of variables, phases and libraries describes the concepts much better compared to Gentoo.
  • we have several new phases allowing much better control of the build process.
  • our options handling is much improved compared to the USE flags of Gentoo.
  • the default functions provided for various phases removes the need for explicit phase functions from most packages.
  • we're not afraid of huge changes to the package format.

Toolchain:
  • Most distributions sucks badly in the way they handle crosscompiling, multilib and other fun stuff
  • work is ongoing on this topic and there'll probably be huge changes but we have a fairly decent idea how to handle all the multi stuff sanely.
Initsystem:
  • We're writing a completely new initsystem free of all the weird, useless legacy stuff and based on user needs in the 21st century.
  • I'll be talking about this at the FOSS Aalborg conference in Aalborg, Denmark on june 4th. Slides will be made available after the conference.

Management and politics:
  • we take a no bullshit approach to our work and aren't afraid to tell each other when something sucks and take it at face value.
  • we keep the developer team small on purpose - there's much less bullshit this way and we can all agree on the direction needed for  Exherbo.
Further plans:
We have lots of additional features and ideas for the future planned that we
haven't even started on yet so Exherbo is expected to be in turmoil for quite
a while yet. That said I think we have an interesting base already and
interested people are encouraged to take a look at it. Just don't expect
anything to work (seriously!). Ongoing development is pretty fast and we're
still at a stage where we happily break everything without second thoughts to
installed Exherbo systems or users.

More info:
More info is available on http://www.exherbo.org. More specific questions can
be asked in #exherbo on the freenode irc network (point your irc client at
chat.freenode.net) or by /msg'ing me directly (I'm using the nick 'kloeri') or
emailing me at kloeri@exherbo.org. Please keep in mind that I'm usually fairly
busy and might take a little while before I'm able to answer your questions.

About the new init system, have you spoken with bero from the Ark Linux team about the one he's working on? From what you're saying, it sounds a bit like what he's working on :)

I think I've looked at most currently available initsystems but I wasn't aware of bero from Ark Linux working on a new initsystem. I think I'll need to get in contact with him soon :)

Thanks for the tip.

Because, yeah, what the world needs is another linux distro. Get over your NIHS (Not Invented Here Syndrome) and go improve an existing distro.

We tried, gentoo didn't want any help from us. Rather than wasting more time on gentoo we did something else. Deal with it.

OK, I Want to Try Exherbo

(Anonymous)

2008-05-19 08:49 pm (UTC)

Actually, I don't want to try Exherbo until it's done. But why bother making an announcement when you discourage everyone from even taking a peek?

Re: OK, I Want to Try Exherbo

kloeri

2008-05-19 10:08 pm (UTC)

(Reusing a comment I made on lwn.net)

We announced it so that other interested developers could take a peek at some of our ideas and hopefully benefit from them. I've talked to several gentoo developers that thinks several of our ideas are quite interesting already.

I plan to blog about several of the things that seperate Exherbo from Gentoo and other
distributions in the coming months and believe that will prove quite interesting to a number of developers.

The (extremely) experimental nature of Exherbo atm means it's definitely not interesting or suited for users but open source isn't just about users and sharing ideas and concepts is very important. Even if the code isn't anywhere near a state where users can start testing it.

Look at conary

(Anonymous)

2008-05-19 09:20 pm (UTC)

http://wiki.rpath.com/wiki/Conary

Conary is a package management system done right. The concept of "trigger scripts" is so obvious when you understand it, but still this is lacking from all other package managers. Take a look at a typical build script (called recipe in conary) and compare it to any other build system. The build recipes are short and sweet.

I've looked at tons of different packaging systems including Conary. I also attended a talk about Conary at FOSDEM '08. But while I agree that Conary is great in some ways it also have some very basic problems compared to our goals.

Ebuilds (as used by Gentoo) is much closer to our ideas of a "perfect" package format so that's what our exheres-0 packages most closely resemble. That said we've extended and changed the format quite a bit to provide a fair bit of features we missed in ebuilds and fix lots of other problems as well.

I'm sure the exheres format will continue to evolve over the years to come but we already have a fairly solid ground for the things we want our package management system to support.

Best of luck, folks, and have a lot of fun with it! Since it's in the early days, I highly recommend you set up a scheme where you have a single person in charge while you still can. Having a more corporate-like (or kernel-like?) structure will make things a lot easier down the road.

He's called Bryan aka kloeri :P

I will be watching this project closely. Thanks for letting the world know, do drop a note again when you guys want to relax the development schedule enough to start having a user or two.

Watch my blog (or better yet planet exherbo). I'll be posting about many of the exciting things that we've already done as well as new and upcoming stuff. When we're ready to let users test Exherbo you'll definitely hear about it here first :)

Sounds like everything I've always wanted an a distro - gentoo without the bullshit and endless finessing on a user-level.
-Keiron

We're definitely not there yet but we have a fairly clear idea about the direction we're going in. And while I don't plan on competing with Gentoo directly (our goals differs quite a bit anyway and we don't have nearly the amount of developers Gentoo does) I strongly believe that we'll be able to provide a distribution that's in many ways more flexible, easier to manage and in some ways more stable (talking about the distribution, not the packages themselves) compared to Gentoo.

Having the biggest package tree is not a goal however so for those people where number of packages is a key feature I suspect Exherbo won't be their cup of tea at all. We make it very easy to install packages manually using the package manager though by importing them through the paludis 'importare' utility (that's what the developers do for many packages currently). This allows us to cleanly uninstall and upgrade/downgrade those packages as needed without ever having an exheres package for it.

Pretty trollish question

rcl

2008-05-20 12:50 am (UTC)

If you are starting from scratch, why don't you create a FreeBSD-based system? I think it's more fun than making just another Linux distro.

good news!

(Anonymous)

2008-05-20 01:12 am (UTC)

I applaud your efforts. I've been waiting for exactly this to happen. Hears to picking up enough steam to cross the finish line!


What I've been wishing for is Gentoo with user-oriented developers and good QA. Hopefully that is what you mean by "Gentoo without the politics". In reality, you will have your own politics -- that's life. As long as users come first, then great.

Any source distribution is going to be a QA nightmare. I also accept that as a given -- but I think its possible to do better than Gentoo.

The idea of a small development team worries me -- tell me again how you get scalability? The chief problem with Linux distributions today is that developers get all hot to fine tune under the hood (new init system? new package system?) but in reality, most users need a *stable* core OS with reasonably fresh libraries and the availability of application packages near the leading edge. Most Linux distros have that backwards -- the app packages are stale, and I see lack of sufficient developers as a cause of that. Especially if every app needs to be packaged up in yet another format without any kind of automatic package conversion or "foreign package" installation process. Oh... and I should be able to easily build and install my favorite tools from the developers' CVS and git repos without h0rking over the package management system.

So... new init system? I'm an old time unix user.... first logged into a Unix system on a PDP-11/75 in the late 1970's. Just don't move stuff around, mmmkay? I hate walking up to a Unix system and not being able to find anything, and being forced to use some half-baked, buggy GUI tool that gets it wrong and then makes you fix it by hand, and has odd-ball config files in odd-ball places. This is one thing that Gentoo has absolutely right -- /etc and rc-update work right IMHO.

So... best of luck, I'll be watching, "Gentoo, but better" is what I'm waiting for... let's hope your idea of "better" is similar to mine :)

Re: I'll be watching.

kloeri

2008-05-20 04:57 pm (UTC)

>What I've been wishing for is Gentoo with user-oriented developers and good QA. >Hopefully that is what you mean by "Gentoo without the politics". In reality, you will >have your own politics -- that's life. As long as users come first, then great.
Users don't come first in Exherbo. The needs of users as seen by the developers is very important to us however but we're not going to listen to user demand if it goes against our wishes.

>Any source distribution is going to be a QA nightmare. I also accept that as a given -- >but I think its possible to do better than Gentoo.
I don't think it has to be a QA nightmare but it depends on your definition of QA. There's all sorts of ways that users can screw up things and we can't prevent them doing so and I think it would be counterproductive in many cases even if we could. We can however make sure to QA our buildprocesses and so on making sure that "sane" users don't get in trouble.

>The idea of a small development team worries me -- tell me again how you get >scalability? The chief problem with Linux distributions today is that developers get >all hot to fine tune under the hood (new init system? new package system?) but in >reality, most users need a *stable* core OS with reasonably fresh libraries and the >availability of application packages near the leading edge. Most Linux distros have >that backwards -- the app packages are stale, and I see lack of sufficient developers >as a cause of that. Especially if every app needs to be packaged up in yet another >format without any kind of automatic package conversion or "foreign package" >installation process. Oh... and I should be able to easily build and install my >favorite tools from the developers' CVS and git repos without h0rking over the package >management system.
It doesn't scale at all but I'm not worried about that. Providing a huge package tree is not really one of our goals. Instead we want to provide the most common packages and make it easy for users to install other packages or versions as needed without losing the benefits of the package manager.

>So... new init system? I'm an old time unix user.... first logged into a Unix system on >a PDP-11/75 in the late 1970's. Just don't move stuff around, mmmkay? I hate walking up >to a Unix system and not being able to find anything, and being forced to use some >half-baked, buggy GUI tool that gets it wrong and then makes you fix it by hand, and >has odd-ball config files in odd-ball places. This is one thing that Gentoo has >absolutely right -- /etc and rc-update work right IMHO.
We're going to do a lot more than just moving a few things around but we're doing that because we believe we can make it easier to handle services and bootup/shutdown that way. I've looked seriously at most currently available initsystems and after a long while we finally decided to write our own initsystem as we really don't think they'll be able to provide the features we want.

>So... best of luck, I'll be watching, "Gentoo, but better" is what I'm waiting for... >let's hope your idea of "better" is similar to mine :)
We're simply trying to do "but better" and not trying to compete with Gentoo even if that's where most of comes from. Exherbo is going to be fairly different from most distributions but that's part of why I like it so much - we get to do "a few" things really well without all the burden of having to maintain a 10k+ package tree and so on. It's a fresh view on what a linux distribution might look like in many ways and I think that's much needed - even if most people will shy away from Exherbo :)

New init

(Anonymous)

2008-05-20 02:44 am (UTC)

Please take a look at upstart before designing a new init. If enough distributions adopt it, it will replace the venerable SystemV init.

What will your new init replacement do that init can't do _already_ ?
http://upstart.ubuntu.com/

It fits the needs of Ubuntu and Fedora.

Upstart has no state, which means it can't handle dependencies like "I need a syslog and networking". It doesn't fit the needs of Ubuntu -- they're using Upstart plus a traditional dependency-free init system, which is less powerful than what Gentoo offers.

Re: New init (Anonymous) Expand

Good Luck

(Anonymous)

2008-05-20 08:15 am (UTC)

I just want to say Good Luck!

If you ever get something half-finished for power-users/semi-developers to test, I'll be all over it! See you then.

I have downloaded (svn) some shiny stuff. If it's not about a right of passage, you can leave some clues about getting started. Some of it looks very familiar, but a quick faq with a few steps to get started. A few simple answers like,Is this stuff meant to build on top of gentoo for now? I don't expect it to be that far along, but is it far enough along to do "Hello World!'? I have no expectations other than you want to do something fresh that feels elegant. Good luck with that, and I hope to be able to feel that way about your stuff down the road too.

Re: A clue for a developer

kloeri

2008-05-20 06:51 pm (UTC)

It used to be somewhat easy building exherbo stages from Gentoo but the differences are big enough now to make that really painful. I by really painful I mean that I really, really don't want to do that myself - much less try to guide other people through the process.

And documenting it would be fairly pointless imo because we change fundamental things so often that the documentation probably wouldn't work 2-3 weeks after it was written.

When I say that Exherbo is extremely experimental I really mean it and there's not much (if any) benefit from installing it unless you're working on it directly imo. Most of the interesting parts can be gleaned from the exheres-for-smarties document linked from the website or by asking in #exherbo. Both choices are much easier for everybody imo.

Good luck

(Anonymous)

2008-05-20 08:33 am (UTC)

Good luck with it, Kloeri.

Best regards,
Stu

Thanks Stu :)

/me in hope that some features would be ported to portage. :)

Would migration from gentoo (somewhen) be possible without total reinstalling?

Existing Init systems

(Anonymous)

2008-05-20 02:05 pm (UTC)

I imagine u already know that, but take a look at eInit and InitNG. These Sysvinit replacements are already stable and at least u can learn something from them...

Keep up the good work!

(no subject) (Anonymous) Expand

Wish list!

(Anonymous)

2008-05-23 10:43 pm (UTC)

I'm a novice Gentoo user with limited skills but would your distro support precompiled binaries? I'd love to be able to install a working system with binaries quickly and then re-compile the packages I want to optimize at leisure. I find myself installing Ubuntu frequently just because it's quick and regretting it later!

Yes, proper binpackage support is on the table. I haven't figured out exactly how we want to handle it yet it's definitely an area that I want to improve compared to Gentoo.