NIH by SUN
This week I have written a blog entry about Not Invented Here syndrome at Sun. It was reaction on presentation of Kohsuke Kawaguchi on CZJUG meeting. There were some comments under the entry that it would be more fair to write it in English so Kohsuke and others can react. So I am writing it again. It is not exact translation, this entry is much shorter and less bitter.
So what is the problem? Kohsuke was showing new Glassfish v3 server. The idea is great, they are trying to create a modular server that will be able to start really fast, initialize its parts on demand, will be able to run RoR, PHP etc. Moreover, they are using Maven in really interesting way. But during the whole presentation I was thinking that I see a nice example of NIH syndrome. They needed module system. So they wrote one. They needed IoC container. So they wrote one. It does not matter that there already are dozens of IoC containers. They just wrote their own. What is the reason for it? I am quite sure that it is not stupidity or lack of experience. They have to be quite clever and experienced to be able to write an application server. I think that there is politics behind it. Although Glassfish is an open source project, it is primarily project owned by Sun. And Sun can not use some existing IoC container that dos not even have its own JSR. Imagine that. Sun using Spring (or Guice or whatever) internally. It would be unbelievable. The same is with the module system. Sun just can not use OSGi, they are at war with them. (Or at least it seems like they are). It does not matter that OSGi is proven solution. They just have to create their own. Why? Because of NIH.