Tuesday, May 6, 2008

The Grand Unification Theory

New comment on 'I like my bazaar!':
"As you said the writer is only partially invalid, having such a huge amount of distro's as the GNU/Linux do creates too many incompatibilities at some point, such as the package management systems. I find it stupid to have such a variety, the major distro's could have agreed on a single one or at least create a new one to suit everyones tastes and optimize it.

Also I'm sure some distro's could merge, not only because they could have similar goals but also because bigger developing teams mean faster and better development. The big number of distributions could mean that something may be developed in many distributions at the same time yet the developers are unaware of the fact thus wasting time by doing twice the work they could have done."

Dear Anonymous,

Let me tell you a little story, before you try to explain "The Grand Unification Theory" to me again. 386BSD was written mainly by Berkeley alumni Lynne Jolitz and William Jolitz. After the release of 386BSD 0.1, a group of users began collecting bug fixes and enhancements, releasing them as an unofficial patchkit. Due to differences of opinion between the Jolitzes and the patchkit maintainers over the future direction and release schedule of 386BSD, the maintainers of the patchkit founded the FreeBSD project in 1993 to continue their work.

Around the same time, the NetBSD project was founded by a different group of 386BSD users, with the aim of unifying 386BSD with other strands of BSD development into one multi-platform system. The project began as a result of frustration within the 386BSD developer community with the pace and direction of the operating system's development. The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt, Adam Glass and Charles Hannum, felt that a more open development model would be beneficial to the project.

In December 1994, NetBSD co-founder Theo de Raadt was asked to resign his position as a senior developer and member of the NetBSD core team, and his access to the source code repository was revoked. The reason for this is not wholly clear, although there are claims that it was due to personality clashes within the NetBSD project and on its mailing lists. In October 1995, de Raadt founded OpenBSD, a new project forked from NetBSD 1.0. After all these years, the three flavors of *BSD are still alive. Some users like one, other users prefer the other for reasons only known to them.

Okay, got that? Now let me tell you another story before you go to bed. It is fairly easy to make a Forth compiler. Hence, virtually every serious Forth programmer has written his own. There are fat, tiny, portable, assembler based, meta-, bytecode, native, standalone, embedded, closed source, FOSS and lots and lots of other Forth compilers. They are standard (Forth-78, Forth-79, FIG-Forth, Forth-83, ANS-Forth) or non-standard. There are so many Forth compilers for every imaginable platform, you'd have a hard time to invent another variation. But I did just that. I didn't find a Forth compiler that was just right for me. So I developed my own, back in 1994. And what do you think? After me, others went through the very same process and invented their own.

It is a natural process. Whenever groups are formed, fractions will emerge. And when those fractions unify for one reason or another, there are others who won't agree, stay behind and found new groups. Well, it doesn't happen to closed source companies, you say? Right, but what keeps those companies together? Power. Money. They own you, you know. In Open Source, nobody owns anybody. If you can't find what you need, if you don't agree with somebody, you make your own. There is nothing or nobody stopping you as long as you are willing to comply with the license.

And that is exactly what is happening in the bazaar. Every merchant has its own product and the users decide. Some of us are both merchant and user, so we've seen both sides. Yes, I won't argue that there is a certain rationality in unification, but (human) nature just doesn't work that way. Would you prefer only one kind of car, one kind of television, one radio channel and one kind of cheese, the kind of cheese your neighbor likes and you detest? Of course not! That's why there is a bazaar. And that is why there is more than one cathedral ;-)


Anonymous said...

Hmmm... The Grand Unification Theory when proposed outside the realms of physics is always misused and brought about by people who first, don't have the foggiest what the term means, and second, are raving lunatic maniacs with a bend for world domination or the people who would be their sycophants. It is the same kind idiocy that was pulled out of the rabbit's hat to justify slavery, colonialism and imperialism in the late XIX Century by the Social Darwinists.

It is a shame that those are the people who are the more vocal and the ones that bring about the ideological drivel that results in the worst and most tragic historical consequences.

Anonymous said...

Grand Unification no, but a little 'cross-pollination' of the work effort wouldn't hurt. How much development in partnership between distro's could happen and doesn't? Lets face it, yes, we need diversity, but sometimes there is a large section of the development community that wants the same thing, and wouldn't go wrong by working together.

How that could be achieved efficiently I have no idea :) An open source launchpad for all?...

GoremanX said...

"It is a shame that those are the people who are the more vocal and the ones that bring about the ideological drivel that results in the worst and most tragic historical consequences."

Yes, the world would suffer horrible and tragic consequences that would trickle down through history if linux distros were to merge...

Perhaps we could keep this in perspective? I wholeheartedly agree with the article, but it's not necessary to compare the original poster's mis-guided comment with "slavery, colonialism and imperialism".

indiestory said...

Yes, every programmer ones to create their own version of their tools, and the mythical man moonth teaches us that an increase in man power does not relate to an increase in productivity. However these developers do not need to release their tools, yes they might be proud of their invention and keen on sharing, but share good code no the nonesense you write on a whimp. This is shown the best with shells, pretty much every programming course leads into writing your own interactive shell, but in the wild there is a nice number of very good shells and very little of the gubbins

Anonymous said...

vorbote - Bit strong there mate. The guy only suggested that lots of people seem to be trying to solve the same problems at the same time. Perhaps a little cross-pollenation might speed things up for everyone?

Software is not slavery or anything else you refer to.

Anonymous said...

goremanx - From a historical perspective it is slavery, colonialism and imperialism because proposing the end of diversity, social, cultural, intellectual, political, economical, etc., means two things:

First, to kill the fuel that has moved the scientific, philosophical and technological revolutions that have resulted in the world we live in today.

For better or worse, it is the effort of reinventing the wheel, and to try to do it many times simultaneously what drives scientific discovery. This mad diversity is a sine qua non of technological advancement. And contrary to what most people who are not trained in science believe, it is not the "superiority" of an idea what makes it prevail, but its parsimoniousness.

Second, to place our national and personal destinies in this third industrial revolution, understanding our working capital as our private and public information, in the hands of corporate entities managed by men with no other motivation than their self-enrichment. And doing so by using their software products that hijack our access to our own information and the set toll taxes on that very same access... Yes, that's what I call slavery, colonialism and imperialism.

anonymous - That was zen. Did the sandal slapping your face make you see reality as it is?

Souleducation said...

I agree with you! The power of Open Source is the different approaches for the same problem.
The unification will just make lots of fools like you and me feel like in a case.
I like Ubuntu but i really enjoy using Slackware. They are very different but in the end they are very similar.

Sorry for my English, i am an Spanish speaker.

The Beast said...

I did not mention Grand Unification nor the merging of all distros, as others have said 'cross-pollination' is what I suggested, diversity is good and I also like having a choice, but in some cases cooperation would help improve certain aspects, especially among the major distros.

Anonymous said...

Hi, beez',

if you're such a big supporter of the bazaar, you probably drive on the left side of the streets in the Netherlands, don't you?

Maybe, you also have your own street signs -- just for the sake of diversity?

Both examples show that standards are necessary, sometimes. There would be chaos if everybody could invent his own street signs or choose freely which side of the road to drive on.

As a result, the discussion so far is just pointless. A sociaty needs both: choice and standards, at the same time.

In fact, standards are often a precondition for choice.

For example, the lack of a public operating system standard to code for, led to the standard of Microsoft and its domination of the desktop market. After it was established, the variety of available application increased strongly and offered consumers more choices than ever.

In the future, the lack of a accepted standards for software installation under Linux may lead to Ubuntu's (or someone else's) domination of binary package formats and Linux distributions. If that happens, the amount of available applications will hopefully also increase.

So, that's nothing to worry about: If Linux suppliers prove to be unable to establish proper standards, consumers will do by using the most popular distribution, only.

Just like they did by using VHS instead of Betamax.

However, "The Beast" is right when he critizises Linux for lacking basic standards that are widely accepted and used. After all, we're humans. We should be able to make mutual agreements based on reason.