Thursday 29 November 2007

The Root of All Evil

The root of all evil is not money, it's poor or lack of communication.

Solaris is a full blown, bullet proof, time tested OS. Many business around the world depends on it, on it's advanced functionalities, relies on it's stability and on it's stable evolution path. And OpenSolaris is the direct decendent of this heritage.

So, what is all this talk about? Well, the point is: I'm very concerned about OpenSolaris' future and the future of this community as well, being the reason something called Project Indiana.

I'll try co keep this post on the highest level possible, so please, keep on reading.

I started hearing many things about Project Indiana that I haven't liked, so I'd went to investigate. I've used the software and I've spent two days reading the list archives to figure out what is happening.

After all that, I've came to a conclusion: Everything that's happening, all the problems and criticisms this project is facing is result of it's poor or lack of communication. And sometimes poor communication is worse than none.

So, where have this project failed? This is a simple one. It failed not being able to answer the question: What is Project Indiana? Which leads to the one most people in here care about: Is Project Indiana the future of OpenSolaris?

Let's face it, why are we here? We're here, because we care about OpenSolaris, because we love it or depend on it. The future and development of OpenSolaris is the reason of this community.

What is Project Indiana? Is it the the future of OpenSolaris?

Depending on the way these questions had been answered (if they had been), things might have been very different. So, let's explore three different scenarios:

Scenario #1
Project Indiana is just another distribution based on OpenSolaris

Oh, my... Why haven't you said that before? Pick up your stuff and move out. Haven't you heard? I really mean move out.

If Project Indiana is just another distribution based on OpenSolaris, it's no different from BeleniX or NexentaOS and shouldn't be hosted nor developed in opensolaris.org. Move out, build your own community and live well.

And don't name it OpenSolaris, because it's not! Not even a developer's preview of it.

Scenario #2
Project Indiana is a testbed for new technologies and concepts for OpenSolaris

If the questions had been answered this way, I bet none of the recent flames would have been fired. Why? Because the technologies presented and the decisions made in the project would have no direct relation to the future of OpenSolaris, it's just a testbed. A place where you can throw the craziest ideas just to see if they work. No commitment!

Let's make the root shell zsh.. Nice! Let's set yum as the new package manager... Great! Let's reimplement the kernel in a mach microkernel style... Super! Look, plain GNOME... How lovely, can we try making a better desktop from this on? Bunch of GNU tools... Bring up FreeBSD ports tree too!

And, why is that? Because no one would have seen this things as they were going to be present in the next OpenSolaris/Solaris release.

But as people tend to draw conclusions based on past knowledge. So, as no one told them Project Indiana was just a testbed to try out new things, people assumed it was going to be the next OpenSolaris/Solaris. Why? Based on their knowledge about Nevada.

Scenario #3
Project Indiana is the future of OpenSolaris

Stop the press! Actually, stop everything. Take your fingers out of that keyboard, don't even think of writing another single line of code.

If Project Indiana is the future of OpenSolaris... Santa Clara, we've got a (big) problem!

The first problem is the distribution thing. OpenSolaris is not a bunch of software put together, it's an OS. Solaris is an OS, Mac OS X is an OS, even Windows is an OS. Linux is not an OS. There is no such thing as a Linux OS. Every Linux incarnation is a distribution.

So, why base the furure development of OpenSolaris on something that it's not?

As I said before, OpenSolaris is a full blown OS. And what being a OS mean? It means that all of it's parts were designed to work together, from the kernel to the GUI. Every single part of it has not put to work together, they have been designed to do so.

The the other problems come from the fact that this project is trying to make OpenSolaris more friendly to Linux people.

Isn't it good? No. Many of actual Linux users will come! No.

Have you guys ever thought why does anyone uses OpenSolaris? Why OpenSolaris has attracted so many people? Why is it so successful? That's another simple one: Because it is Solaris!

When people come to OpenSolaris they come, because it is Solaris. People want to use OpenSolaris because it is what it is. A full blown, bullet proof, mature OS. An OS that has been being developed for more than 20 years. And if you consider the whole UNIX development time, it's almost 40 years!

So, why not change the root shell to bash? Well, I'll quote an old Paul Fishcher's article in order to explain this:

"... never change the root's shell. Millions of hours have gone into the evolution of Unix. Hundreds of thousands more have been put in by different OS manufacturers. Therefore, don't second guess them changing the login shell for root to something other than the manufacturer's default. You're just inviting trouble when you do. Multitudinous scripts and routines rely on the root shell being properly defined as the manufacturer intended ..."

Why not use GNU tools instead of the OpenSolaris counterparts? The same principle applies. (Don't take me wrong I have nothing against GNU tools, they're very good, the point here is completely different)

[I was trying not to mention anyone in particular, but it will be a bit difficult from now on]

So, suddenly someone comes with this great distribution and GNU ideas, disrupting the development and evolution process of OpenSolaris and bringing instability to the community. How do you dare to do so? You don't have the right!

I know that you come from the distribution/GNU side of the world, and have done quite good things in there, but things are a bit different in here.

You may be Sun's chief OS strategist, which I think means that you are the one who tells Sun the path Solaris should follow, but wait, OpenSolaris is not Sun's proprietary toy anymore. You may tell Sun what to do with Solaris, but you have no powers here, you're not even member of the OpenSolaris Governing Board.

And why can't you or anyone else simply come here and change things?

Because OpenSolaris belongs to the community and, as stated in the Article II of the OpenSolaris Constitution:

"... The OpenSolaris Community has the authority and responsibility for all decisions pertaining to the OpenSolaris ..."


Which means, the OpenSolaris Community is the only one who can decide, change and trace the future of OpenSolaris and it shall be done in a democratic way.

I know it's been a long post, but things MUST be clarified. We have the right to know and decide where OpenSolaris is heading to.

OpenSolaris development and evolution must be driven by technical merits only not by marketing, politics, ideology nor press reviews.

Does OpenSolaris needs a better packaging system? Let's go for it. A better installer? Bring it on, we're not afraid to code. Does OpenSolaris needs to evolve? Come on, let's plan it together.

But we won't buy decisions made on only one side of the table or by a single person.

This is a community effort and decisions must be made and approved by the community. Or are you willing to risk a fork? Who would benefit from that?

The future of OpenSolaris depends on us, in our ability to work together, talk to each other, to listen to each other, to be able to express our wishes and concerns.

Let's learn how to communicate clearly and precisely, because it's poor or lack of communication that's the root of all evil.

1 comment:

Anonymous said...

Ian Murdock is bad for the OpenSolaris community?

 
Creative Commons License This work by Gabriel Lamounier is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.