Recent

Support Wikipedia

Calendar

Navigation


On a New Road

Some more comments...Tuesday 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. 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, 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.
Comments:

Java has reached where Microsoft cant even think of thanks to the OPEN SOURCING of Java and all those intelligent contributors.. And my doubt is will ORACLE continue with OPEN SOURCING.. And I hope it will.. Is there any agreement enforcing ORACLE to keep JAVA OPEN SOURCING during acquisition of SUN.. And I love these FRANK answers posted by you and especially to the one who called u a LIAR..

Posted by Carol Raj on August 24, 2010 at 12:11 PM PDT #

James, thank you for the insights. I have a question. Why is it not ok for Oracle to sue Google while it was just fine for Sun to sue Microsoft? I am sure there are differences but when you get right down to it, the issue is that both Microsoft and Google came up with versions of Java that did not fully implement the spec.

Posted by Manoj Joseph on August 24, 2010 at 12:12 PM PDT #

"The freedom of the large software companies is directly at odds with the freedom of developers." - very insightful. Thanks!

Posted by dave on August 24, 2010 at 12:24 PM PDT #

I think most of the problem is in a part you mention here, in the following sentence: They maximize the stock price... A good example of maximizing the stock price is in the movie 'The Incredibles' where our hero's supervisor is only thinking about the shareholders and not about the clients who make a company run. In my opinion this is not a good way of running a company. I do think that the way Sun always chose is a correct one, becouse you protect your businessmodel with patents, but only use them if some threatens them.

Posted by Jeroen on August 24, 2010 at 02:37 PM PDT #

http://nighthacks.com/roller/jag/ and http://nighthacks.org/roller/jag/ show different content. One shows quite_the_firestorm, the other some_more_comments. A two machine cluster w/ sync problems? - eduard/o

Posted by Eduardo on August 24, 2010 at 02:47 PM PDT #

DALVIK is a VM, not a JVM. Yep, you need a Java compiler to generate class files for the DX compiler but the platform runs dex files, not class files. Android phones support a certain subset of Java features. A subset that Google clearly defines. How is this different from any SDK that a company provides to developers to customise their product? MSFT tried to extend Java on their platform (Windows) to become a custom version of Java. That would have been acceptable if they hadn't tried to call it Java as the same time but they did in typical MSFT fashion. C# would not exist if not for that lost argument. MSFT did something quite different to GOOG. MSFT tried to claim the Java platform as their own, GOOG uses it as a way to leverage a "cheap" dev environment for their devices.

Posted by Gordon J Milne on August 24, 2010 at 03:03 PM PDT #

God, that font looks horrid here: http://i.imgur.com/UihPc.png

Posted by Xiong Chiamiov on August 24, 2010 at 03:07 PM PDT #

In my opinion questions of the type why is it or is it not ok to sue company X miss the point-- they break down to the same logic as that of why is the nature of corporations deeply flawed. We don't have to conform to status quo moral standards. I think this Oracle situation offers a great opportunity to crystallize the ideas that will make the next generation of Open Source platforms succeed (and indirectly force beasts like Oracle to play nicer).

Posted by larry_lob on August 24, 2010 at 04:41 PM PDT #

Manoj: there are two vital differences: 1) Microsoft was a Java licensee (Google is not) 2) Microsoft introduced extra bytecodes into the JVM that would only work on their JVM. Google is not (they're using a bytecode system that has nothing to do with the JVM's) Google's Dalvik is a VM, not a JVM.

Posted by Steve on August 24, 2010 at 06:18 PM PDT #

Thank you for the great response James. There was reason I chose Java as a development platform. Still one of the best language around.

Posted by sam mansoor on August 24, 2010 at 07:49 PM PDT #

"One of the sad things about modern commerce is that being a bastard is a good thing." And being incompetent is a bad thing.

Posted by wall streeter on August 24, 2010 at 10:02 PM PDT #

Google did not play nice too. It's easy to criticize Oracle as evil, and labeling Google as the good one, but it's not the case. However, it is not what James Gosling does, but some comments here do. If Google had been willing to work with Sun when they used Java on their Android platform, none of this would have happened. But Google wanted to keep all the benefits for themselves, and keep a total control over the platform. There is no JCP thing for Android, no Open discussion before Google magically put on the Open the next version of their platform. This does not seem to be very open in the spirit.

Posted by Hervé Girod on August 25, 2010 at 01:47 AM PDT #

James, with all respect to you and what you did for Java, I strongly disagree on the point of fragmentation. You are basically arguing that the option of forking is bad, while it is fundamental for open source to work. Had the option to fork OSS not existed, this would have spoiled the whole model. The option to fork should always be there, and the means to achieve non-fragmentation should be value, possibly motivated again in open community as you suggest (and I fully support).

Posted by OSS on August 25, 2010 at 04:04 AM PDT #

James, you're place in history as inventor of Java is ensured. There is, however, one point to greatness still missing in your CV: The language, that someone else invented, which was based or derivate etc. of Java and became even more sucessfull, productive, and adopted than Java. Trying to prevent this by arguments of fragmentation isn't in anyone interest.

Posted by Another one on August 25, 2010 at 04:31 AM PDT #

"Steve is well on his way to becoming the dictator he lampooned in Apple's 1984 commercial" Agreed, inspired me to make these posters a while ago: http://dburrows.posterous.com/think-similar

Posted by David Burrows on August 25, 2010 at 04:59 AM PDT #

On Android fragmentation: manufacturers have a lot less freedom to alter the platform than it might appear. Android platform code is completely open sourced, so if a manufacturer wants to use it to control the UI panels in their new toaster, they are absolutely free to do so. But access to Android's app store is through a Google-provided app which is *not* part of the open-sourced core platform. If you want the toasters you make to run apps from the store, you need to apply to Google for a license, which requires that the toaster pass a pretty strict Compatibility Test Suite. So, if instead you're publishing apps through the store, you can be sure your customers have gizmos that pass the CTS.

Posted by Robert Thau on August 25, 2010 at 08:43 AM PDT #

Google has been Java's Champion for some time. They make things EASY for developers. Oracle is seriously demented for suing them.

Posted by Dave on August 25, 2010 at 09:26 AM PDT #

Hi James, I would have written to you by email but I didn't found that on your blog, so pardon me if I am posting this as an off-topic comment. I just want to notify you that, for mcafee your website is categorized as a "malicious site, high risk"; I think due to the domain name "night hacks"; where "hack" is intended as a negative word. See here: http://img819.imageshack.us/img819/668/nickhack.jpg Reference: http://www.trustedsource.org/urlcheck/ I discovered that today, when reading the RSS feed of your blog, the proxy of my employer (a bank) reported that your website is forbidden :-) After having invented a virus-free platform with a security level way beyond any previously existing one... it is quite funny to have a blog listed as "malicious". Ciao. Luigi.

Posted by Luigi R. Viggiano on August 25, 2010 at 09:58 AM PDT #

CHILLAX people! This is a non-event. When the justice system is done then we will know whether Google is guilty of patent infringement or not. That is the event. After that you pundits can speculate on the future, etc

Posted by sk on August 25, 2010 at 10:05 AM PDT #

I had a long comment, but your filter considers anything about 1000 characters spam. The twitter version of it: fine for small business apps, not fine for inventing the future.

Posted by Miguel de Icaza on August 25, 2010 at 10:36 AM PDT #

I couldn't find anything from JG in these posts about the assertion I've seen elsewhere that Google "used" javaME, specifically, to generate the bytecode before going to Dalvik. If it is true, as I've read elsewhere, that javaME is encumbered, and that any unapproved use violates... etc. then Google has some problem. But from what I've read, Google uses a subset of javaSE to generate the java bytecode. Does anyone, esp. JG, know factually?

Posted by Robert Young on August 25, 2010 at 12:47 PM PDT #

Hi James, I noticed that Sun abstained from the vote on Oracle's 2007 proposal. My follow-up questions for you are, why didn't Sun vote in favor of it, and did you support such a move yourself?

Posted by Chris Kanaracus on August 25, 2010 at 01:20 PM PDT #

This just opens Pandora's box. Any opensource developer can be now sued over patents. I hope Oracle will win it's long term battle and software patent will became history.

Posted by Jk on August 25, 2010 at 03:05 PM PDT #

Hi. About last paragraph, I beg to differ. Freedom is very exact term, but corporate entities try to hijack it to satisfy their commercial interests. The thing large software companies want, is power, not freedom. They just call it "freedom" because it is nicer word than "power". By that corporate logic, there is no free country in the world, because we are not allowed to have slaves. But having slaves doesn't mean you are free. It means you have power over someone. Restricting other's people freedom, and capturing developers in their lock-in, is not freedom. It is power, and less power there is, the better, because there is lesser chance of abuse. That means that we have more freedom, because power is at odds with freedom. Interesting FSF article about that: http://www.gnu.org/philosophy/freedom-or-power.html Best of luck James!

Posted by mike on August 25, 2010 at 03:53 PM PDT #

[Trackback] Bleibt Java unabh�ngig? Viele stellen sich in Anschluss an die Sun-�bernahme diese Frage. Doch wird Oracle auch das unabh�ngige Kontrollgremium zulassen, das Oracle vor etwa drei Jahren noch forderte?

Posted by SILICON.de on August 26, 2010 at 06:05 AM PDT #

Just in case we got side-tracked by Oracle-Google lawsuits, we now have another lawsuit by another biggie: "Facebook sues Teachbook over name" http://sanfrancisco.bizjournals.com/sanfrancisco/stories/2010/08/23/daily44.html?ana=e_pft Seems that when the water(revenue$) in the pond is getting dry, biggies brings out their dark arsenals and foul moods. Biggies is all about monopoly. Make no mistakes about it. They all start with a mantra of being "open","net-neutral", "developer-friendly", etc. of the same tactics of "bait-n-switch".

Posted by BK Lau on August 26, 2010 at 07:23 AM PDT #

java vs mobile world and air I don't get it I mean java was on top for years with mobile applications and then comes along apple and google and where is java ME ?? In the lawsuit between google and android, wouldn't it have been better for Sun to work with google, and develop java ME with google instead of a stupid lawsuit today. Another possibility would have been a corporation between adobe and sun in developing their javaFx with adobe instaad of having today javafx vs flex What do you think about it ? Other question what future do you think Java has today ? Will only j2ee survive or do you think the open comunity for Java will save the day ? Best regards,

Posted by icap on August 26, 2010 at 08:11 AM PDT #

I've been following these threads... I was a Sun hardware and software system engineer over the years at Sun. I did not last long as an Oracle SE. Here is some in sight to their thinking... 1) Database 2) Database 3) Database It is all about the database. That is where your corporate data lives and that is what we ALL work around. All the products are about add ons to the database and that is what they have bought recently whether it is people soft, bea or sun. It is to entrap, I mean to add options around the database. Point in case. ldap from Sun is dsee. Oracle talks about keeping it around. Bunk. What has happened to opends? They toute how OID (Oracle Internet Directory) scales on their website. Look it up. dsee ran loops around it. Don't look for inovation around dsee. What ever they can do, they will enhance OID. Why? Because it is the database solution. That is just one piece of the pie.

Posted by Jim on August 26, 2010 at 06:23 PM PDT #

So, we (us as developers, admins and otherwise), if we want to put a dent in Oracle, must rally around database alternatives. There are the mysql forks. Drizzle and such, but we need the enterprise killer. We need to take any and all Oracle DBs and convert them easily. Is it PostGres? Maybe. NoSLQ - Maybe? And, we need the solutions around it. The people soft et al. I just took another jo b as an SE. What does our product have to support? Oracle DB. We need to rall y around the alternatives like never before. Java, it is just a wrapper around the database, as far as LPOD is concerned. The sun hardware is just a wrapper.. .

Posted by Jim on August 26, 2010 at 06:24 PM PDT #

Their entire next gen stuff, it is all a wrapper around the database. As an SE, all of my customer hated dealing with Oracle - why, because they would threaten law suits all the time. I would ask, "why not move off?" They would say, we can't. We don't know how. And so on and so on.... We need to make an alternative to the database. Period.

Posted by Jim on August 26, 2010 at 06:24 PM PDT #

A practical question for you is, how to force Oracle to commit to create an independent Java foundation? You are in a position to start a campaign now...

Posted by Reza on August 26, 2010 at 08:44 PM PDT #

I am an IP (aka "patent") attorney; a "little" different because I do small entity patenting (what the founding fathers intended). Let me say that IP (not just patents) the way it is generally practiced today is very detrimental to our society, and needs to be reformed (and won't be until we have campaign finance reform).

Posted by Gene Cavanaugh on August 26, 2010 at 10:10 PM PDT #

It seems to me that your comments on fragmentation, if carried to their next logical step, devolve to this: that the way to fight fragmentation is via the Web. Web apps, after all, face much lower barriers when it comes to fighting fragmentation. The biggest one currently is Apple's refusal to allow Flash or similar plug-ins into their iGarden. Beyond that though it seems to me that the dream of 'write once run anywhere' is alive and well ... in your web browser.

Posted by Susan Novag on August 28, 2010 at 12:06 PM PDT #

Its kind of childish statement to make saying we need to abandon Oracle DB just due to this issue. It take years and lot of commitment to build a platform like Java and database like Oracle. I think oracle DB is the best transaction system with the grid support. Oracle and java compliment each other really well but do I hate what oracle is doing to Android I hope there is a resolution.

Posted by sam on August 29, 2010 at 10:21 AM PDT #

Post a Comment:
Comments are closed for this entry.