Why the Open Source Java does not excite me much?

When you were much younger, you used to plead with your parents or elders for some favor—a toy, book, film, or a chocolate. To cajole  them to actually get you your specific need, you often had to shed a few tears. Then you might be rewarded, or bribed for the efforts. Often this has provided you with a sense of empty feeling, despite getting what you wanted. You got what you wanted, yet you are not happy about it.

This was exactly what I felt, the day I heard about Sun’s announcement to Open Source Java.

The nutshell is as follows…

Sun said it is making nearly all of Java's source code - excluding small pockets of code that aren't owned by Sun - available under the GNU General Public Licence.

The same type of licence also covers the distribution of the core, or kernel, of the popular open-source operating system Linux, which competes against Microsoft's Windows operating system.

Making Java an open-source project allows programmers from around the world to examine, modify, fix bugs and contribute new features in Java's underlying code. It requires that any changes be made public.

In fact I was at a cyber café, along with an experienced Java developer, when I read the news of one of the web sites. I told him, and he quipped back. “ What it was not Open Source after all?” Talk about developer ignorance! Ok! We will tackle that later.

First the reason for the empty feeling. More than two years back, I wrote in my edit piece in this same magazine, why Sun must Open Source Java. I was reacting back to Eric Raymond’s  open letter to Sun, and I felt justified in accepting Raymond’s vision.

I remember arguing with our own Java guru and contributor – RS Ramaswamy by email, pointing that such a move could mean a bigger share for Java. In the later months, I started meeting several Java developers, real Java developers. Guys who write Java code, day in day out. I suddenly realized that I made a minor felony.

I do not code in Java. I admire the language, but I prefer much more simpler options. Hence I have no reason to demand Java to be made Open Source. Even if Java is made Open Source, it does not make any difference to me.

The fact is seventy percent of Open Source programmers write code in one of the P (PHP,Perl, Python) languages or one of the C (C/C++) flavours. The others code in Java or one of the lesser languages ( in market share).

It is highly unlikely that a majority of the non-Java developers will ever switch to Java, just because it is Open Source.

In fact I am yet to meet an Open Source developer who is willing to proclaim that he/she will code in Java, once they bring it under GPL.

The fact also remains that out of thousand developers, only one is a though leader and the others do what ever they are told to do (by their peers, clients, bosses etc). If they feel that Java is good for the job, they will use it, irrespective of their religious affiliations in the software space.

Talking of my Java developer friend. He is a typically open source junky, uses Linux extensively. But rarely cares about its underlying philosophy. He works with a top software services company, but was ignorant that Java was not open source.  As far as he cared, when he wrote and used Java, he was not using any unlicensed software and that is all it mattered.

Now let us look at the pros, which Sun and others supporting the move is banking on.

1)      More bugs will be fixed. It is probably going to be true, I have seen and experienced that open source software is less buggy.

2)      More users will be added. Yes! But how many? I won’t move, unless I really need to do something in Java.

3)      Linux distros will ship Java upfront. Many of the popular Linux distros does not ship with Java. You need to download it, install it and configure it. Though it is a lesser pain now than a few years back, it is still a hack. I remember the first time I got Netscape Navigator to run a Java applet on Red Hat 7.2, the effort involved 12 steps, which I wrote as an article in this magazine. Linux distro vendors such as Red Hat was reluctant to ship Java since Java was not under GNU GPL. Now they will be comfortable. A very big advantage indeed.

Now let me play the Devil’s advocate. It will be the newbies who are likely to be excited and some MIS staff, who were worried about support. Serious developers will easily handle installation or configuration pains.

4)      Now you own Java, use it the way you want to! Point taken, very good argument. I have met quite a few developers ( mostly working for Sun’s rival companies), who are not happy about the way Sun was controlling Java. I was never able to figure it whether they were trying to influence me, or whether they were genuinely upset about something.

But this will mean that you develop your own Java version. There will be quick fragmentation of the market, and  then a thousand Java flavors will evolve. This is not good news for genuine Java lovers. No enterprise will like the idea of a few hundred incompatible minor and major Java SDKs around.

5)      JCP process will be more democratic. The JCP process is today handled by a few people who are working for the big names. This may not change much, but with more people involved there is a chance that developers will have a better say.

 One a more positive note, you may see a number of small applications being written in Java which otherwise never would have happened.

 The real impact

I think the real impact will in the embedded space. I am quite excited about this. Imagine developers tweaking Java code and embedding them in devices. You are likely to see a number of major and minor applications being written for the embedded space using Java, because now the developers can tweak the run times to suite their needs.

I know many real ‘Java’ developers are disappointed, and I empathize with them. They are genuinely worried about the future of Java.

I wish them the best.




Added on March 17, 2005 Comment

Comments

Post a comment

Your name:

Comment: