How many Linux Distributions do we need?

Posted 4 Sep 2000 at 14:06 UTC by brother Share This

One of the surprising things about the Open Source Comunity is how rare project splits really is. When people begins to talk about splits they mention the *BSD's, Emacs and maybee gcc. And that's it...

... Or is it?

On a couple of occasions I've heard people complaing about their distribution of choice. Their conclusion was to make their own distribution.

A friend of mine complained about Mandrake and the speed the managed to include new translations. I quite aware about the problems with translations but his way to solve the problem was to fork Mandrake. He took Mandrake added all the updates and some other packages (Contrib and Cooked (whatever it is) and called it MinLinux (For the danish impared: MyLinux).

And then I wonder: What has he gained? Now we have yet another bleeding edge Mandrake distribution which I'm can find two more of on SourceForge.

Question 1:
Why doesn't the taboo about not forking open source project apply on distributions?

Looking at The Linux Distribution List I find no less than 150 different Linux distributions. A lot of the Miniature Linux'es is just Linux on a floppy-kind of projects. And most of the full featured distributions is described as: "We want to make the bedst distribution including Gimp, KDE and pine" (or some other set of software). If it was just that they wanted to make a distribution centered around berlin or some other exceptionel software.

Question 2:
Why does everybody need to make their own distribution just because some software is cool?

Hey, I want to promote my self so the last question:

Question 3:
Which kind of distribution should I make to become famous?

IMHO..., posted 4 Sep 2000 at 15:19 UTC by jdube » (Journeyer)

In the spirit of Linux, the whole point is about creating your own distrobution. It's open source so that you can modify it how you will, and the GPL allows you to modify distrobutions however you will. Companies offer quick pre-made solutions, but this doesn't mean you should use it straight out of the box. This also doesn't mean you should make for every dist out there. Variety is the spice of life, as they say.

How many Linux distros do we need? However many it takes for each user to be completely comfortable on his/her own system (I'm not saying someone should go out and write three thousand distros to cover many user bases, but if the individual user is exerienced enough he/she should customize his/her distro however they want to).

I think the problem with infinite distros is not the fact that there are many but the fact that we make such a big hoopla over which distro we run. Just run whatever makes you happy. You don't have to run around shouting from the rooftops what you run, though.

The same reason there are twenty or more IRC clients, posted 4 Sep 2000 at 18:20 UTC by scandal » (Master)

My theory for at least some of this is that a lot of the people that put together Linux distributions are not programmers. So instead of using their novice skills to make yet another IRC program, they are putting together new tiny distributions, or a major distribution with some updated packages. They can then feel like they are contributing to the community by releasing it back for general consumption. Just as with the countless other duplication, hopefully they will learn something from the experience and then contribute ideas (either directly or by someone noticing they did something cool) to the major distributions.

The bad thing is the newbies have to wade through pages of distributions without really knowing which are the best to use.

Hack what you like best, posted 4 Sep 2000 at 18:27 UTC by strlen » (Journeyer)

Sure, there's about 80 ICQ client, 70 IRC clients and who knows how many distributions. But point is all of them offer different features and they are all free for download, code modification and use. Point is hack on / create whatever you would like to. This is free software with freedom of creativity. However, reinventing the wheel is not that great of an idea, but most of the time the applications / distributions all provide unique features of their own. Take window manager's for example. Sure, they "manage the windows" but compare Window Maker, Sawfish, Twm and Aewm and you'll see that the wheel has not been reinvented.

"How many Linux distributions do we need?"...., posted 4 Sep 2000 at 21:38 UTC by aaronl » (Master)

One. Debian.


a different take on this, posted 5 Sep 2000 at 01:09 UTC by joey » (Master)

It's easy to empathize with anyone who has not been fully satisfied with their linux distribution, and who wants to make it better. Linux distributions are big, complex, not particularly well-thought-out or integrated, and they all have lots of room for improvement. And by improving them, you have the potential to make things better for a lot of people.

From there, it's really not too hard to detemine why someone would fork a distribution. Why does any free software project fork? Because two groups of people cannot get along and agree on how something should be done, for the most part. Unfortunatly, in the linux distribution space, getting the changes you want into a distribution is often very difficult[1]. Much harder than getting a change into a peice of free software. Many of the major distributions -- the distributions that appeal to many people -- are controlled by companies. Changing something in one of these distributions is well-near impossible for an outsider. So instead, some people try to fork them.

I've had a similar experience. About 5 years ago, I was a happy red hat user, and I was becoming involved in packaging software for red hat, and I also had ideas about ways red hat could be improved. So I was playing around, uploading packages to red hat's contrib section, hanging out on their lists, etc. I suppose I was exactly in the place scandal describes above: not much of a coder, still wanting to feel that I was giving something back.

Until one day it hit me: I wasn't able to actually get anything in red hat changed; I wasn't able to actually contribute to red hat. As I recall, the trigger to this epiphany was a flamewar about where contrib rpm packages should unpack to, according to the FHS. Several people were holding that they were not a part of the distribution and should go in /usr/local. I lost my arguments with those people (although I don't see too many contrib rpms that go in /usr/local today :-P), and that's when I realized I wasn't really contributing to red hat at all.

I actually thought about trying to get a job at red hat so I could contribute to the distribution for real. And I might have applied, and probably at that point (when redhat was a small company, and I had 5 years less experience), been turned down. If I had gone down that road, I very well might have tried to fork red hat to some degree, producing a distribution with my enhancements in it.

Instead, I actually became a debian developer. I joined the debian project, and was a developer within the same week (things were a lot more relaxed back then). Back then, there were many things about Debian that annoyed me and needed to be improved. I worked on improving them. All it took was convincing the rest of the developers that each improvement was a good idea, and doing some of the work.

This article is really very apropos for me, as just this morning I was thinking about the things that still need to be fixed in Debian, which includes one or two items that have annoyed me from the very beginning, and wondering if/when they would finally be resolved. At this point, though, I am very close to having a distribution that makes me completely comfortable on [my] own system.

The points I want to draw from this ramble are these:

  • If everyone has to follow my path to find/make a distribution that is fully comfortable for them, there must be a lot of unsatisfied people out there right now. It's a pretty long path. I expect a lot of people don't really care as much about this area as I do.
  • In the long term, unless you have terribly focused needs (as some of the people making one floppy distributions do have), maintaining a full forked distribution just isn't practical for one or two people. It's a full-time job and then some. I expect to see many forked distributions die off over time. If I had forked red hat in 1995, my fork would be dead now. :-)
  • The alternative, for people who really feel the need to be involved in making a distribution their own, where they can fix all the things that annoy them, seems to be to somehow get in a position to work on an existing distribution. This is hard to do if the distribution is run by a company, with its own goals.
  • The other option is to get involved with a distribution like stampede or debian, that is run by volenteers. This isn't particularly easy either -- it'd be a PITA to become a part of debian if you don't agree with our stance on free software -- but at least you don't have to leave your current job and move to become a part of it..
  • Both of these options are really too hard right now.
  • For every person who has went off and made their own distribution, there is probably another person who joined stampede, debian, or some other open distribution, and is working on making it better. The former people are just much more visible.

[1] I should note that the type of changes I'm talking about here are distribution integration type things, not enhancements to software already in the distribution. I'm not trying to imply that the authors of that code have a hard time getting updates into distributions, as we clearly do not.

Good learning experience, posted 5 Sep 2000 at 01:38 UTC by Pseudonym » (Journeyer)

This is not unrelated to the Quality vs Quantity discussion from last week.

As someone who's had a go at it, it's a great learning experience to build your own distribution from scratch. Kernel hacking is fun, but it's also fun to learn what else you need to add to a kernel to make a working operating system. Not that I would distribute such a toy...

What annoys me is that very few of these distributions are anything genuinely different. We've already got a hundred instantiations of GNU/Linux. Why can't we see a BSD/Linux? Simon Cozens in TPJ 18 probably did the most impressive distribution hack, which was a Linux distribution with only two platform-specific executables: a Linux kernel and a Perl interpreter. (Sorry, I don't have a working URL at the moment.)

So I guess I'm saying: bring 'em on! The more distributions the merrier, but only if they contribute something new.

fork taboo, posted 5 Sep 2000 at 02:42 UTC by hp » (Master)

I don't think the fork taboo applies to projects that are explicitly driven by commercial or other specific objectives. It only applies to projects that leave project direction open to influence by anyone who contributes.

For example, is explicitly open to community participation in its direction, rather than letting Netscape call all the shots, so forking Mozilla would be frowned upon. Similarly for Debian or the kernel. But if you aren't really allowed to become an equal-footing developer in the project, then forking is viewed as acceptable.

This seems reasonable to me. After all, the justification for any fork is that the existing project doesn't meet your needs; and if the existing project can't be made to meet your needs for technical or nontechnical reasons, a fork is a fine thing. The taboo is against forking for no good reason, rather than against forking period.

Though even for strictly closed projects, I can see at least attempting to get what you need into the main sources (to save yourself trouble if nothing else), and there are certainly gray area projects that aren't clearly open or closed.

It's kinda like that whole Jedi thing, posted 5 Sep 2000 at 03:37 UTC by suso » (Journeyer)

I think that a lot of those distributions spring out of one's personal quest to become a master of something. For many, the final journey to being a master can be to make your own. The problem is that some people tend to muddy the waters when they probably shouldn't. But I imagine it would be pretty hard to convince people them not to publically release something that they've worked so hard(or what they think was hard work).

What we all seem to need is for some great leader in the open source community to come along and convince us to share with others these needs to create and get credit for ideas. People are just to damn selfish right now(especially me, help!) to make the whole open source thing work. We need to set examples for others by giving credit to the small guys as well as the big guys in these projects, then I think that maybe people would join together a bit more. Ok, rant is over.

practice, well, something, posted 5 Sep 2000 at 06:38 UTC by brg » (Journeyer)

I don't want to add to the noise but I had to add to what Pseudonym was saying. I maintained my own distribution based very loosely on Slackware for a while, from about '96-'98. Eventually I stopped bothering, because I just had too much work to do. But it is a good way to learn how a GNU/Linux-style system goes together, and just how much work it is to put one together. I might go so far as to say that everyone who is really interested in learning about Linux is to try to build an operating system out of it. :-)

I also put together ('97) a (mostly) BSD/Linux on a floppy. This was actually a big win, because it let me build a one-disk rescue floppy without actually ever having seen one before, and the organization which I was working for needed exactly what I came up with. I think that this is an idea which has a lot of potential, and might actually benefit more than just the BSD partisans who wish they could have the best of both worlds. It also impressed me how little code I had to write to compile things straight out of the BSD source tree (and how much slimmer the binaries were than their GNU counterparts...tsk tsk tsk!)

Neither of these systems was ever ready for distribution per se, beyond the three or four machines they ended up running on. But they served their purposes well enough, and I highly recommend the experience.

I must second what jdube said about not making a big hoopla about what you run, as well.

Re: ..., posted 5 Sep 2000 at 13:02 UTC by brother » (Journeyer)

I rewrote the article 3 times and I'm still not really statisfied with what I wrote. If anyone has been offended my main reason was wondering.

joey's reply was very enligthing. I didn't really see the two points about how hard it could be to get the comercial distribution changed (I too used to Debian) and the non-coders way of trying to contribute to the community (even though I'm probally rightfully in that position).

Diversity is good. My problem is probally that by looking at the Linux Distribution List I see very little diversity. Much of the discussion about this could probally just be copied fro the Quality vs. Quantity-discussion which I should have followed better. And the problem is again: Should we stall people making their own distribution until they have a clear idears what new idears they are trying to prove? (And if so, how do we do it?)

Forking bad...?, posted 5 Sep 2000 at 15:14 UTC by sab39 » (Master)

I was just thinking about forking this morning - specifically, the license forking that's been going on in recent years. And I noticed something - many of these license forks are beginning to mend. Qt is now under the QPL/GPL. Mozilla will be under the MPL/GPL. StarOffice - from one of the worst offenders with their SCSL monstrosity - will be under the SISSL/GPL. The world seems to be rapidly converging on a state where all free software is either 1) GPL'd, 2) GPL compatible (eg modified-BSD, X11...) or 3) GPL+SomeOtherLicense.

Why does this happen? Because a fork isn't in anyone's interests, in the long run. And I think (to get back on topic) the same thing applies to micro-distribution forks. Anyone who has produced a 7337 linux distribution for their own consumption is going to find very quickly that they can't keep up with repackaging every program as it comes out with new versions, the world is changing around them and none of the 3rd party rpms (or debs) work on their system any more. Oops. So they go back and find that - hey, Debian/Mandrake/RedHat/SuSe/Caldera isn't actually that bad after all! Maybe the problem they had with it has been fixed in the meantime. Maybe they learnt from their experience that it actually wasn't that good of an idea. Maybe they found Debian ;) Maybe they learnt enough to usefully contribute patches to their distribution and have them accepted.

I have to wonder how many of these hundreds of distributions are actually maintained - or even still used by their creators.

Would it be bad etiquett to..., posted 5 Sep 2000 at 15:38 UTC by brother » (Journeyer)

sab39 writes:
I have to wonder how many of these hundreds of distributions are actually maintained - or even still used by their creators.

Would it be break some rule trying to investigate this?

Try to contact the maintainer of some of the non-comercial distribution and ask them about how maintained their distribution is, if they use the distributions and what makes their distribution special.

If it is marked clearly that it is purly out of curiousity nobody could be offended by that?

distro, split, or give up?, posted 6 Sep 2000 at 03:15 UTC by lkcl » (Master)

I don't think the fork taboo applies to projects that are explicitly driven by commercial or other specific objectives. It only applies to projects that leave project direction open to influence by anyone who contributes.

hp, yours is a telling point in light of my own recent experience. paul ashton and myself started the NT Domains for Unix project back in august 97. part of that project involved Samba. unfortunately, the aims of that project clashed with the objectives and general ethos of the other primary samba developers.

your point is a telling one because it emphasises, to me, that the direction of the samba project is most definitely not "open to influence by anyone who contributes". it is only open to those people who defer to the remaining primary maintainers.

i considered a code split. i considered revoking all source code i have ever written from the GPL license. i considered offering an opportunity for the remaining primary maintainers to ... how do i put this ... be less restrictive. i chose the last of these options, and they failed to take it. in all probability, this is as much my failing and deliberate calculation as theirs.

so why am i mentioning this? as a lesson that i hope people, including myself, will and are learning from.

To become famous, posted 6 Sep 2000 at 19:28 UTC by claudio » (Master)

Question 3:
Which kind of distribution should I make to become famous?

From the Debian recipe book: integrate all your packages to interoperate perfectly. Have a policy and follow it. Don't hype. Use apt-get.

If you want to have automated package upgrading a la apt-get, use something better than RPM. From the user's point of view, doing repeated upgrades with RPM is a PITA mainly due to configuration file management -- simply using .rpmsave files won't be enough. From the developer's point of view, sorting out all the file dependency, bad packaging habits and lack of pre- and post-configuration issues is a PITA. Just look at the myriad of apt-get wannabes that popped up recently -- and in this case, the fork taboo seems to be valid: we have lots of clones out there, and very few (if any) forks. This isn't random bashing: RPM is certanly well designed in many aspects, but support to auto-upgrading isn't one of them (hint, hint! to the RPM maintainers: add some switch to allow interactive configuration file updating, with use new, keep old, diff, shell escape ;))

(But it's not impossible, of course. A friend of a friend of mine has the apt-get working with RPM for a few weeks now, and it's almost at production quality.)

Also don't make /bin/sh depend on curses. Don't laugh! I've seen this happening.

There is no "taboo" on forking, posted 10 Sep 2000 at 02:39 UTC by lilo » (Master)

ESR notwithstanding, there's no taboo on forks. Most people with good skills have serious exposure to the issues and know it's difficult to maintain a project. These people have the best chance of carrying a fork through. Their reluctance to fork is an important constant in the equation.

Others are intimidated by the name recognition the parent project has and avoid forking because they think people would ignore their fork. Others know they have no idea how to manage a project.

Still others go ahead and fork, many incompetently. Certainly LinuxOne at its very best represented a terminally incompetent fork of Red Hat. It died on the vine because of public ridicule, though for all I know they're still out there trying. And many projects don't fork because the number of people who would be interested in project management for that code tree is < 2.0. Or because the project manager of the original project is receptive to patches when the alternative is a fork. Or because the project manager was receptive to patches from the start.

Forking doesn't happen that much, but it's not because it can't. It's because there is a certain amount of stability to an existing project, for a variety of reasons. But forking remains an excellent threat to the reputation of participants in the forked project, which makes it one credible threat against insular project behavior.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page