Some more comments...

James Gosling

August 24, 2010

I apologize for taking so long to reply to any of the comments on my previous blog entry. Here are answers to a few...

All that I can say is: Salute Sun, Salute. You were a noble in time of bastards. Sun, you are badly missed...

We tried. DIdn't always succeed. One of the sad things about modern commerce is that being a bastard is a good thing. At least in Wall Street's eyes.

James, can you expand on why Android's fragmentation limits programmers' freedom? I'm an Android developer and I really don't see this at all. The code I write works without any changes on most Android handsets and it's certainly orders of magnitude than Java ME ever was

Java ME's fragmentation was far worse than we would have liked. Some of it was politics in the early days, then 10 years later, small cracks in interoperability become gaping holes. A big factor was that the incredible constraints of the handsets 10 years ago made consistency almost impossible. Today's high end phones have an incredible amount of RAM and CPU, which makes interoperability hugely easier for Android.

Fragmentation limits programmers freedom because it increases the amount of work that a developer has to do to address a large market, and the larger the market you can address, the better your chances are of being financially viable. So long as handset makers are "lazy" about implementing Android and don't take advantage of the freedom they have to alter the Android source code much, life for developers can be good. But differences will creep in as the Android world ages: version skews, different bug fixes, and the handset makers attraction to "added value" and "product differentiation" will all take their toll without strict governance.

Hey James. Your discourse presents a well reasoned argument for the issues of software development in the 21st century and how we get product to the mainstream. Thanks for your firestorm. The evidence of fragmentation of Android is here: Vodafone UK users of went apocalyptic when they thought that they upgrading HTC Heros to Android 2.1 only to receive branded applications. Vodafone eventually backed down. This was a carrier not a phone manufacturer. The battle of the future is a walled garden vs freedom 2 modify your device. Correct.

Absolutely. It will only get worse. The "walled garden" is the mostly deadly idea ever. All of the phone companies are addicted to it, even though I've had (for example) the CTO of a very large carrier admit in private that the whole walled garden concept was a disaster. They just can't stop themselves. They've got piles of bogus reasons. For example: The first cell phone app store was the one built by NTT DoCoMo a decade ago. It was structured almost identically to Apple's - easy to become a developer, easy deployment, 70% of revenue to the developer - it's pretty likely that Apple got a lot of ideas from there. DoCoMo made buckets of money and there was a huge amount of activity in the Japanese cellphone developer market. Developers were going from napkin sketch to millionaire in a few months. It was huge. But what did the phone carriers around the world think of this? The average attitude was "Those fools at DoCoMo! They left all that money on the table! Why did they make life so easy for developers? We'll just keep all that money to ourselves". So they created walled gardens. I actually had one senior executive at a carrier say (approximately) "We've had a crack team of our analysts evaluate what applications our customers need on their cell phones. There are a dozen of them, which we'll have our developers build". Idiots.

Apple gave you shared libraries in Java.

That was then, this is now. In the early days, Apple had a great Java team. They did lots of good work. But when Apple got successful enough that they didn't need outside developers, they built their own walled garden.

I was at Sun back in 1987-88. They seem to have started thinking about patents a bit in 88.

Yes. There was some patenting activity early on, but not a lot. It really got crazy after the RISC patent case.

Mind your business. Mr. Gosling is old enough to defend himself. Nothing in his post is correct about Apple. For example. Apple has the right to create a platform and not invite Mr. Gosling's love child. Nor let Google in to sell its ads in the iphone. I don't see Google allowing anyone in the google.com ad business. So why should Apple allow it. especially when important customer information is being stolen by google. Since When is Apple's ad network a threat to mankind when it is only going to live in the iPhone. You mean that is a direct threat to Google.

They totally have the right to create their own platform. They totally have the right to create their own ad network in competition to Google. But I also have the right to be grumpy about the tools they require for software developers. Steve is well on his way to becoming the dictator he lampooned in Apple's 1984 commercial [ http://www.youtube.com/watch?v=OYecfV3ubP8 ]. And yes, I meant that Apple's ad network threatens Google. They only really turn into wide ranging threats if they achieve monopoly-level success and then abuse that monopoly.

In Oracle's hands, Java is doomed. I have to agree that Mono has a much brighter future than Java since last week. I love Java, but can't say the same about Oracle! It's unfortunate that MySQL and VirtualBox will share fate with Java - just like OpenSolaris

In my brief time getting to know Oracle, they made it very clear that you're mostly right (I'd quibble with the Mono part - it's still silly). The key phrase is "in Oracle's hands". It doesn't have to be that way. Lightning might strike and they might live up to their 2007 commitment to create an independent Java foundation. I'm not holding my breath, but if enough customers rose up in revolt [ http://www.cafepress.com/OrcOmit ], it could actually happen. But it would require Oracle customers to do this, since the only thing that Oracle pays attention to is money, and that's what customers hand over to Oracle.

thank you for telling us this and we able to see from different prospective. But we all hope, an agreement can be come out from oracle,google side to address this revenue issue. if this can be solved, surely java will continue to prosperous. Or if we prefer continue like thist. you sue me, i sue them. this will be endless profit for lawyers

No matter what the merits of the case may be, or who is right, or who has a "right" to do what, the crossfire in the battle will be hugely distructive (and I don't just mean the patent case). I wish they'd all vent their testosterone elsewhere.

The underlying problem here is that the rules of the current economic game favor evil (mostly in the form of cancerous growth). The degree of corporate liability for the evil is actually limited. Exxon has bought far more laws than Google has--so far. Whatever you think about Microsoft's software (and I think it reeks like the big dog's m0e), their economic model apparently works. For OSS, I think one answer is better economic models. One idea might be a kind of shared charity reverse auction pseudo-stock market. Ergo: http://eco-epistemology.blogspot.com/2009/11/economics-of-small-donors-reverse.html There's a lot of confusing because "free" is so badly overloaded in English. The important sense of free involves meaningful, significant, and unconstrained choice. Anti-trust is NOT a penalty for success. However, improved laws should insist that overly successful companies reproduce--by dividing and competing against themselves.

It's not so much that the game favors evil, but that the definition of "good" is really twisted:
 Good adj: anything which increases the stock price.
Considerations about employees, products, customers and community are all secondary. They only enter the equation as ways to achieve goal 1. Morality or high principles have no place in the corporate discourse. They maximize the stock price, within the bounds of the law. Corporations like Oracle and Exxon tend to be perfectly rational. They "buy laws" because it's perfectly legal to spend money on lobbyists and political campaigns. While you and I might think that it is morally reprehensible to buy elections, like the recent case with Target, it is nonetheless totally legal. Given the rules of the game, it would be bad for a corporation to not buy an election, if failing to do so would negatively impact their stock price. I could rant for a long time on this one, but not today… The whole modern concept of a public company is deeply flawed. But the game is what it is.

I'd be interested in hearing answers to the issues no posted. What happened to the Lighthouse desktop apps? Why did their conversion to Java fail?

As a former Sun guy myself, I too am disappointed that more didn't come of the Lighthouse acquisition. However, you do have to remember the context. It was just after the mid 90s and there was an opportunity to enter/win the server side app development approach. Sun was better positioned to do that and it was probably much more lucrative than building out Java desktop applications. I think Sun made the right decision and got a lot of mileage for SUNW on Solaris/servers/JavaEE. More so than building a better mail client or presentation tool for sure.

The conversion didn't fail: it was never attempted. There were lots of reasons: Microsoft and three giant lawsuits over the late 90s/early 00s chilled desktop work; development funding was restricted; and enterprise software was hugely more profitable and didn't involve collisions with Microsoft's monopolies.

I think it's quite hard to stop fragmentation on mobile without stopping innovation. Mobile phones differ radically in speed, screen, memory, bandwidth, input-method, and so on, to produce a single app that runs everywhere well is a tall order, even if the APIs were identical. J2ME was a nice try, but the profiles themselves created fragmentation. Android devices are fragmented in a smaller way by contrast, first, the bar for performance minimum and OS features are set way higher. Secondly, there's no profiles

This was very true in the mobile world a decade ago and was a huge driver of fragmentation; but with todays dramatically more powerful handsets, and especially given the concentration on high-end handsets, there's no reason for any fragmentation.

Hello, With all respect I beg to disagree with James(Thanks for Java BTW) here. Java was developed by SUN but only succeeded because of the promise of openness. Remember it was an itch for many people at the time( both from SUN and out of SUN) to use a cross platform language without restrictions. Everybody including Google, IBM, BEA, and ... Oracle bought into Java because they believed they could do so without any restrictions. Java would have failed if it belonged to somebody. If today it is proven that it belongs to Oracle, it will Fail. I would never touch c# with a stick because I know I am being trapped. Just my 2c.

Yes and no. The vision of freedom that most of the big corporate interests had was the ability to make their platform sticky: to destroy interoperability so that (for example) Java software developed on Microsoft platforms could only run on Microsoft platforms. They wanted the freedom to capture developers. While Microsoft may be the one that got caught in a big court case with a pile of incriminating evidence in the public record, few of the other corporate actors were much better. "Freedom" is a freakishly relative word. The freedom of the large software companies is directly at odds with the freedom of developers.

Copyright 2010