The IT-News space regarding software development had quite a hot story yesterday. Apple announced that they are deprecating Java and that they won't allow software written with deprecated technology into their app store. It is obvious that the introduction of the app store to Mac OS X was the last driver for apple to do that decision. Of course it would be easy to start ranting about Apple's policy I think the answers aren't "Apple sucks" and "Yes they are right". Let's look at different points of views here and start with Apple's:
For Apple themselves Java is not important anymore. With the introduction of iOS and the SDK for iPhone and iPad they cleary decided to walk the Cocoa / Objective-C way. This was obvious. So in the end they had to support a technology called Java that is from a plain technical view irrelevant to them. And let's be honest they supported it halfheartedly. Remember the delays for Java SE 1.6? So they ended up spending money and development resources for what?
The growing market of potential Mac Buyers called Java Developers. If I look through our offices at Senacor or if I look at the ever growing Mac share at development related conferences it is obvious that Java Developers love Macs. I'd say 60-70% of the Java Devs working as my colleagues use Macs. If I look at conferences I see a share somewhere between 40-80% and most of the speakers are Mac enthusiasts as well (me included). And let's be honest: Java Developers aren't the 999 € customers in most cases they buy the big machines with care protection that are somewhere around 2.500 - 3.000 €. So Apple risks quite a bunch of money with that move.
On the other hand we now have Oracle. They don't care about Apple's Mac business at all since it's not their business. And in addition to that. Mac OS X Server is not a very common solution for hosting Java EE applications. So for Oracle, if you look at a plain business point of view there is little reason to start porting Java SE to the Mac. On the other hand Oracle has a) Open JDK and b) currently a little image problem in Java space (sueing Google for Android, lame road map and so on).
Looking at all these topics I come to the conclusion that the best solution for anybody would be that Oracle starts an Open JDK based development stream for Mac OS X. By that step they make MANY Java Developers VERY happy and promote Open JDK with a very strong statement. On the other hand they should walk over to Apple and tell them "we help you in not loosing millions of € and you help us by co-funding the development for OS X for a defined time frame". Then there is one more company in the game that is not soooo obvious: Google. Even if they are in a current legal battle with Oracle regarding Android they are _HEAVY_ Mac users (I think the biggest Mac buyer in the market) and I'm pretty sure that the legal battle with Oracle will be settled with some sort of a bullet payment. They have a huge interest in keeping the Mac as a development platform for Android. So maybe they might get in the boat as well. Would make perfect sense to do so.
This is a situation where everybody involved wins:
- Oracle wins in popularity and states that they take Open JDK very serious
- Apple wins by not loosing a growing amount of good customers buying their big machines
- The Java Community wins by having a great new JDK that is at the pace of time with regards to new versions
-- Just my two cents