We've all heard the stories of the iPhone developers producing a silly game or simple utility that has quickly went viral and subsequently made some young kid out of college a millionaire overnight. It seems like a fairly common occurrance in themobile app community, especially if the right idea gets sprinkled with a little luck and a lot of good timing. But what about us Java developers who are toiling away in the enterprise development community? Will there ever be an equivalent service in the Java world that allows enterprise Java professionals to simply download and install pluggable applications or components? Will there ever be a facility that will allow all of us underpaid Java professionals to get rich by selling something pluggable and modular to other developers?
It's not a new idea. There has always been talk about consolidating Java based apps and Java code in a way that was easily searchable, distributable and marketable, but to date, that's all it's been: talk. And it's too bad, because there just has to be a market out there given the size and scope of the Java community. "There are people out there who are ready to buy Java apps if they were there, especially if they were as easy to 'click in' as an iPhone app." Says Paul Hinz, Chief Marketing Office of Liferay.
The portal's missed opportunity
If any segment of the Java community could have made it possible to make money off of Java code it was those playing in the portal space. Pluggable little portlets were always just crying out to be commoditized. Fortunately, those heading up everyone's favorite open-source portal offering have heard those cries. For the last year or so, Liferay has emphatically been pushing Marketplace, a new hub for sharing, browsing and downloading Liferay-compatible applications. "We have a lot of deployments on Liferay, somewhere between 100,000 to 500,000 depending on how you count them. That's a big pent up market to sell to." Says Paul Hinz, hoping that the 'app store approach' will go viral. "I'd love to make a few people really wealthy in the next year or so though Marketplace." He says.
Of course, one of the problems with selling Java code or a Java component as though it was an Android app is the fact that integration is always a challenge, and not just at an API level, but from the whole standpoint of bringing in code and running into conflicting classes and classloader issues, which is why another potential avenue for selling modularized Java components is in the OSGi space. As OSGi catches on, we're going to see more and more offerings of bundled software that can be pulled from the shelf and essentially clicked together as developers quickly and easily put together the scaffolding of a complex application.
Making things right with OSGi
"One thing I want to work on is a marketplace for bundles." Says OSGi Fellow, Peter Kriens. "You should be able to go to your IDE, start an application, create an application and then just pick the components you want and it should all fit into its place automatically." Of course, given the strong ties OSGi has with the open source community, it's probably more likely that OSGi developers will do more sharing than selling, but in the end, the result would be better software. "If you look at a lot of open source projects there is always a lot of overlap. If they were built on OSGi they could reduce their code base significantly because they could share a lot of code with other projects." And a 'bundle market' would be the best way to address this type of issue, and who knows, maybe someone will get rich in the process?
Creating and selling modular and pluggable applications has always been a topic of discussion in the Java community, even long before the Apple Store broke onto the scene. But there has always just been something holding the Java world back from being able to create, market and sell pluggable pieces of code. But perhaps now is the time, with the social acceptance of downloading apps, along with OSGi's advances in modular development and deployment in Java, that will make it possible for Java developers to not only share and sell the applications they've developed, but also have them get rich while doing it.
OSGi in Action By Richard Hall
OSGi in Depth By Alexandre de Castro Alves
Enterprise OSGi in Action By Holly Cummins
Liferay Portal Systems Development By Jonas X. Yua
Liferay in Action By Richard Sezov
The Well-Grounded Java Developer By Martijn Verburg