Skip to main content

Oracle+Sun effects on Java...?

Posted by robogeek on April 26, 2009 at 10:48 AM PDT

So, hmm, Oracle+Sun. Interesting twist from the IBM+Sun matchup earlier. There has been numerous rumors over the years about SUN+xyzzy mergers such as Fujitsu, IBM, SGI, Apple, etc. And it's finally come to Oracle. It seems there's a lot of scratching of heads over what this will mean for the open source software projects run by Sun, and of course the back of my mind has been pondering the effect on the OpenJDK. An article in that esteemed dumpster diver rag, The Register, is prompting me to write: Oracle suits to strap on Sun's Java sandals: leader without followers

There's a meme in that article that's been in my mind a lot, especially with Stephen Colbourne's series of articles dissecting the JCP. Maybe the JCP doesn't properly represent what the community wants regarding Java.

Many in the community regard Sun as the "steward of Java" and there are many questions over whether Sun is a good steward over Java.

But does Sun think of itself as the "steward of Java" ?? As an employee inside the Java SE team I heard different statements from different people. Sometimes we were positioned as Stewards, other times we were positioned as Owners. The role of a Steward is different than the role of an Owner, right? Sun's true vision of its role in the Java ecosystem is what flavored what Sun did for/to that ecosystem. Similarly Oracle will soon (?likely?) finish the purchase of Sun and then it will be their vision of their role in the Java ecosystem that will flavor what they do for/to that ecosystem.

Some of the criticism of Sun was not properly monetizing its software, such as Java. But would a Steward monetize fully? Or would they hold back for the good of the community? Is full monetization is something an Owner would do? Think: Microsoft and Windows and programmers tools for Windows. The big 8,000,000 lb gorilla in programmers tools for Windows is, so far as I know, Microsoft.

But monetization is only part of Owner versus Steward. Another part is feature choice, right? I never got involved with the EE end of the Java universe, so I'll trust The Register article when it says most of the focus of Enterprise Java developers is not the EE stack but the various smaller scale open source frameworks and tools. Hibernate, Spring, Maven, etc. This says to me that at the EE end the community is not developing the preferred technology through the JCP but through other mechanisms (primarily open source projects). That points to a failure of the JCP to properly represent what the community really wants.

That touches on concerns I've had for a long time. The decision making for Java SE, as I saw it occur, seemed focused on satisfying the needs of huge organizations over smaller ones. I always heard it stated as these huge organizations are big customers of Sun, buying lots of Sun hardware/services etc, and of course we should pay attention to their needs. Similarly it's well known that the JCP is run by the Executive Committees, and that the EC seat's are predominately held by corporate JCP members rather than individuals.

Does Java exist to enrich its owners? Or does Java exist to enrich us all? Who is to be making the decisions about the Java ecosystem?

Sun employees were the inventor of Java and that means (because software is a work-for-hire arrangement) that Sun has had the right choose how Java is delivered to the market, and what to do with this thing. For better or worse Sun's positioning of Java was as an open playing field for everybody to partake in (Sun==Steward). Maybe Sun's true vision is Sun==Owner and that distinction may be the source of much of the friction in the Java ecosystem.

What Oracle do we consult to learn what Oracle's vision is? And if the JCP truly doesn't serve our needs perhaps it needs to be killed, but what would or should replace it? Does it serve us best for significant pieces of the Java ecosystem to continue being developed outside a shared standards process? Or does the existing open source projects better serve the shared needs of the Java ecosystem? And should the core pieces of the Java ecosystem, the ME/SE/EE stacks, also be defined via open source projects rather than the closed source style of the JCP? Unfortunately we in the Java ecosystem/community cannot make some of the required choices, as they rest with the corporate overlords.

Related Topics >>

Comments

Using analogies is never a perfect science,but one missing facet of the lemonade analogy is the fact that the kid who sold lemonade for free (actual minimal fee in sun's case) was able to pour it to any customer's customized container - styro, plastic, cofee mug, pitcher, beer jug, etc. Now, here's the twist (which was not added or ellaborated in the original analogy) - the kid who bought the lemonade stand from the 'altruistic' kid actually is not a regular kid. He owns a specific lemonade container designed by him, and he has been selling these containers for a while. He buys the original 'nice' kid's lemonade, stand, kitchen sink and all - but now will only sell lemonade in the containers he designed. No more 'free' lemonade, gotta buy the 'turnkey' lemonade solution using the new kid's container. The other kids who used to buy lemonade from this stand, get bummed and go buy gatorade, 'ruby' flavored gatorade that is! :-)

@dgilbert - Many times, the audience really isn't smart enough to grasp the nuances of the original subject. In this case, of course it's in our (we Java developers) best interest to get something for free. And of course it was in Sun's best interest to monetize it. The point is that many people (you know who I'm looking at) argued that it was in *Sun's* best interest to give it away for free (and Free). I have lots of ideas for how they could have monetized it, so do lots of other people. But Sun went in the opposite direction, promising to GPL it and thus assuring that they'd never make any money from it. It's just this sort of hand-wringing about whether to try to make money on it or not that did Sun in. Sun is (was) a for-profit company, not an "owner" or "steward". I don't know why that seems so hard for Sun employees and ex-employees to internalize. I'd still use Java if Sun charged for it, just as I use IDEA even though it costs money and there are free (and Free) alternatives. Java has come to a virtual standstill in the last couple of years. It's been a couple of years now, and there isn't even a JSR for JDK7 yet, and may never be one. That's very nice people from outside Sun are contributing, but that was always the case (IBM contributed more to Java before GPL than everyone else combined, since GPL). Meanwhile, 6 million Java developers will never again see a release with the impact of 1.1, 1.2, 1.5, or even 1.6. Now, if only Chrysler would give away its cars for free and spend its last days publishing schematics before going bankrupt. Yes, that would make you and me happy. The shareholders and people who are looking out for the company, not so much.

@atripp - I never like analogies. First, they suggest that the audience isn't smart enough to grasp the nuances of the original subject. Second, the nuances of the analogy are almost never the same as those of the original. The aim is to simplify, but the result is usually more confusion. Anyway, you should have used a car analogy, everyone loves those ;-) Sun is often criticised for failing to monetize Java, but no-one ever says HOW they might of done that without compromising the success they've achieved in creating an industry wide computing platform of enormous value to all (I know I've benefited, and I bet you have too, and we're just the little guys). Maybe they could have charged for Java, say $100 a license for all versions starting from 1.2. The result: we'd all be using .NET, it's "free". Maybe they could have done something else - but I don't know what. But after failing to monetise Java, I think GPLing it (+ the linking exception) was the right thing to do (for the rest of us, arguably not for Sun). It is a good mechanism to allow companies outside of Sun to contribute to maintaining and advancing the platform (and you see this already with Redhat, Google, Ubuntu, "embedded" companies like AICAS, as well as developers from the likes of Debian, all contributing to OpenJDK). Java 7 is running late, but I think it is shaping up to be a great release. And for that we can thank Sun for their stewardship.

A kid owns a lemonade stand, and he's very customer focused. So he asks his customers how much they want to pay, and they say "zero". But still, a handful of kids won't take it even for free, because they insist on having the recipe and the lemonade-making machine so they can adjust the lemonade to their own tastes. The kid not only keeps giving it away for free, but now also lets anyone use the machine and gives the recipe to anyone who wants it. The kid puts a lot of time and effort into not just making the lemonade, but also in putting together the fliers with the recipe and instructions for running the machine and helping people use the machine. Of course, the kid soon runs out of money and goes out of business. The kids who like to fiddle around making their own lemonade are happy. The hordes of previous customers fear that they'll no longer get the good, free lemonade they used to get (and they don't really care for the 52 flavors that those few other kids now offer). How does the kid feel? I don't know or care. He had a good thing going, and he blew it by not charging enough to keep himself in business and spending all his time teaching those goofy kids how to make their own. So you ask "would a Steward monetize?" Give me a break. Sun is (was) a for-profit company. Why would anyone agonize over whether it should be trying to make a profit or not?

Hi David, Good post! A lot of criticism is leveled at Sun but, you know, in terms of promoting (and protecting) Java as an open playing field for all, they've gone above and beyond what we, fairly, could have expected of them. Not everything is perfect, but there's more that is right than wrong. I hope that Oracle doesn't mess things up, though if they do I hope that OpenJDK provides the avenue for others to pick up the pieces. We collectively sit back and accept the choices of our corporate overlords, but it doesn't have to be that way.