Open for Business

Thursday, July 07, 2005

Top analyst with Gartner got it completely wrong

I read this article on ZDNet today titled Is open source stifling innovation instead?

I disagree with 99% of what I read so I decided to share my opinion on it hoping to get yours as well. The quotes listed below come from Bob Hayward a Sr VP with Gartner Research. He supposedly is a prominent market analyst.

1- Developers could be discouraged from creating new software because of the multitude of open-source software available for free. This is further driven by major vendors that are making their software available as open source. Many of the big software vendors are now evaluating all the software products they produce and identifying those that are strategic to the company, and those that are becoming commoditized. After they have singled out a software offering which is not core or strategic to their business, or perhaps which is not making money in the market, they then make it open source.

I can't believe Gartner actually pays people a ton of money to say such things. This is actually saying the opposite. Small companies and individuals have an opportunity to innovate because they can leverage the work and R&D from big companies just by looking at and using their open source infrastructure software. Why would anybody innovate in a commoditized area? I believe that open source is actually pushing all the industry to constantly innovate. Vendors who cannot add value and stay at the top of the stack are naturally eliminated. In a way it's Darwinian and it's fine with me. The fact that we have JBoss and Tomcat today is forcing BEA to innovate, if they can't find the next growth area they will either have to open source their stack (like Sun just did) and potentially become a service play or die. Linux is pushing Microsoft to think about what they should do to keep their lead on the desktop and the list goes on and on.

2- Let's say some smart kid wants to write the world's greatest piece of software, but (he has) got two problems now. One, he has got to be careful not to be in the way of Microsoft, IBM, Oracle or SAP. If you're on their road, you could be roadkill. Two to make money out of this commercial software, he has all these free, open-source software that he has got to try to navigate through. This young developer, in order to ensure his product is unique and marketable, would have to check that it is not similar to another open-source software that is already available in the market.

That's called competition! This kid is not that smart if he doesn't study all competition open source or not. And yes if there is an open source solution to the problem he is trying to address he should either do something else or leverage the existing OSS solution and add value on top of it or make it easier to use/manage, less rough on the edges or enterprise quality, etc.

3- Bob is skeptical about the spate of big software vendors giving away the source codes of their products. They are very rational and pragmatic about it. It's good PR (public relations) and they seem to be good corporate citizens giving these contributions to the world. Most of the time though what they're doing is offloading a burden, and basically asking the open-source communities to take on that project.

I happen to agree with Bob on the PR aspect but I completely disagree with everything else. This is where you see that Bob has no idea how OSS works. Nobody's offloading software on the community with realistic hopes that the project will become a success. At Orbeon we have open sourced PresentationServer a year ago. If we didn't have our own staff 100% involved in the development of new features, fixing bugs, writing documentation and examples, the project would have been dead. You may get some testing for free from the community or a patch here and there but people the majority of people don't go farther that that. All big vendors who have open sourced a product (including Sun with OpenSolaris or Oracle with the EJB3.0 RI or JSF components) keep the developers on their payroll, otherwise they might as well terminate it won’t go anywhere on its own.

In conclusion I can't believe what I read from Gartner, I certainly think OSS has changed the way distributed teams collaborate to write/package/sell software, but I strongly believe OSS is actually playing a positive role in the software market by keeping all software vendors on their toes and weeding out those who cannot stay ahead of the innovation curve.

What do you think?

The scripting tsunami

In the last decade, the enterprise software world has been divided between the Microsoft .Net and the Java/J2EE platforms. In case you haven’t noticed this is changing!

A tsunami is a natural phenomenon consisting of a series of waves generated when water is rapidly displaced on a massive scale. Tsunamis tend to happen very quietly, even people on the shore don't see them coming. Typically the warning sign is when water receded many hundred meters from the coast only to come back much stronger and cause massive destruction.

I like to use the tsunami analogy to describe what's happening with the LAMP stack and scripting languages. The LAMP stack (Linux, Apache, MySQL and Perl, PHP, and/or Python) has become a viable alternative to Java and .Net. LAMP's emergence is fueled by a growing third-party industry and by IT organizations' rising interest in open source.

What are scripting languages?
Generally they are interpreted languages that feature higher productivity than traditional compiled languages like C or C++. Due in part to the dynamic nature of interpreters, one line of scripting code will do more for you than a line of C or Java. There are a couple of distinctive categories of scripting languages. General purpose scripting languages like Perl, Python, Tcl/Tk can be used to solve any problem you may have while Web programming scripting languages like PHP or JavaScript will help you put together your Web pages or add richness to your plain HTML front-end.

Why are they so popular?
Simply because the learning curve is much more reasonable than that of Java/J2EE or C++. Also, scripting languages are much more rewarding; a few lines of PHP or JavaScript can take you a long way. Amazing PHP-based portals pop up everyday and the recent frenzy around the AJAX architecture fueled and validated by Google Maps and Google suggest add to JavaScript's popularity. Finally scripting languages empower less skilled programmers (who identify themselves as scripters or self-taught) and enables other categories of people to participate and do their job including writers, editors, catalogers and other content specialists.

When should I avoid them?
The speed at which computers operate has increased dramatically over the years while the delta in performance between interpreters and compilers has remained pretty much flat. This means that scripting languages are excluded from fewer applications for performance reasons. This said there will always be applications that demand optimal coding in compiled languages (and sometimes assembly). For example, highly transactional / high volume online applications or writing device drivers are not good candidates for scripting languages.

Recent partnership (with Zend) announcements by IBM and Oracle are a very strong validation of PHP and sends a clear signal that these two software giants are acknowledging the success of scripting language PHP (considered so far as a prototyping technology to build mock-ups). Clearly IBM and Oracle are trying to defend their database turf. They got tired watching the "M" in the LAMP stack slowly but surely gaining popularity.

Is this a threat to Java?
Even if JavaOne this year was a very disappointing/empty show, I don't think Java will go away anytime soon. Both scripting languages and Java (or .Net) will be around for a while. Despite the apparent overlap, I think they serve different purposes for different categories of programmers. We will always need different tools/languages for different jobs. Scripting proponents argue that tools built around languages such as Python or PHP are gaining in popularity because Java development is too complex for many jobs. This is not totally true I am pleased with the progress Eclipse is making and I have to say that I am impressed with Oracle JDeveloper’s latest version now available for free!

This said Java vendors and the Java community need to continue their quest to simplify the developer's experience and open up as much as possible otherwise the Scripters' tsunami will be more damaging.