
Java creator James Gosling: 'Google totally slimed Sun' - protomyth
http://news.cnet.com/8301-1035_3-57423754-94/java-creator-james-gosling-google-totally-slimed-sun/
======
blinkingled
Java on the desktop and mobile never went anywhere. There is a perfectly good
reason for that - show me a UI designed by Sun that doesn't make me puke.

If you were to take a good, portable language which a ton of developers are
already familiar with and make it successful on the mobile - you are not going
to go with Sun, JCP or any other "community" designed models.

So Google's problem was that they liked the Java language and they had to
attract developers so they had to adopt the API but they had to throw away the
rest of Java - including the JVM, Swing and ton of other useless-for-mobile
APIs none of which were really a viable option on mobile.

So you could argue that Google could have been a good citizen, good Sun friend
etc. but if they had to take J2ME and/or JCP for that, it would clearly defeat
the purpose of Google entering the mobile market.

And I don't understand what McNealy's quote about "they [Google] don't share"
is all about - it's open source, Oracle can adopt Android UI APIs or whatever
else they wanted. If this is about money - yeah may be Google should have
thrown them some bucks but I guess it had to be done under "licensing" which
again would have meant dealing with Sun's "Community Process",
"Standardization" and other bloat all of which were directly responsible for
J2ME not going anywhere in the first place.

Another issue is that Gosling seems to be FUD mongering with Compatibility
stick - "we've got organizations of people that do compatibility testing and
actual negotiating amongst the different handset makers so that things like
GPS APIs look the same." Android has standardized GPS API since I don't know
when and that doesn't seem to have been a problem with any of the dozen
Android devices I've used. The only difference is Google puts out those APIs
and it works with manufacturers to amend / add as required. Google has the
final say over APIs which is a good thing - you don't want hardware vendors
designing software APIs that work cross device - that is best left to people
who know that sort of thing. And not having a sanctioned committee with
varying interests wrangling each other and slowing down progress has also
worked out well for Google and Android.

~~~
tzs
> Java on the desktop and mobile never went anywhere

Desktop: true.

Mobile: wasn't Java ME on a bazillion feature phones?

~~~
shimi
It was, but it was next to impossible to get a half decent application
released on any J2ME phone not to mention the impossible fragmentation
(compare to the J2ME beast the Android fragmentation is a sweet tamed puppy).

Java is also installed on a bazillion desktops, numbers don't change the fact
that the ui framework is very bad.

Historically applets lost to flash for that same reason

~~~
mgkimsal
Wasn't is stuck on Java (the language 1.1)? Any Java developers who came in at
1.2, 1.3 or 1.4 would have had to re/un-learn how to do certain things they
took for granted.

------
ajross
Java is Gosling's baby. How is he supposed to feel about this? Google threw
his work out the window and shipped stuff called "Dalvik" and "Harmony" that
did the same thing, never crediting him or using the term "Java". And their
stuff was wildly successful.

That's gotta hurt. The harder question is whether or not the "blame" for that
lies with Google or Sun, or whether or not it's really useful (in contexts
other than Gosling's private emotional space) to assign blame at all.

 _Edit: lots of responses are diving into the stuff I allude to in my second
paragraph. I don't see how that's relevant to Gosling's reaction. My point was
that the guy got stung, and that he's lashing out in an entirely
understandable way. It's not about the law suit, it's about him._

~~~
kkowalczyk
If Google used "Java" to describe Android, Sun would sue them, like they sued
Microsoft. "Java" is a trademark and the only way to use it is to pay Sun
(well, Oracle now) a lot of money for the compatibility suite.

Harmony isn't Google's work. It was an open-source project led by Apache
Foundation (<http://en.wikipedia.org/wiki/Apache_Harmony>) to re-implement
Java libraries.

Dalvik was Google's work.

I don't see how either Harmony or Dalvik should affect Gosling's feelings one
way or another. He had no hand in either so deserve no credit. To the extent
that Harmony re-implements Java, no-one is trying to deny Gosling credit for
creating Java in that context.

The decisions that Google made were either technical (Dalvik is designed with
mobile usage in mind while a standard jvm isn't) or contractual (Sun wants
control over Java, Google wants control over Android, neither wanted to fold
and things are just fine that way: Android is successful in its domain and
Java is successful in its domain).

~~~
jimmyvanhalen
Note that IBM dumped Harmony in favor of OpenJDK last year after realizing
Harmony will never get a TCK license from Sun/Oracle. The Apache Foundation
resigned from the JCP Executive Committee in protest shortly after that and
last year an open vote was taken within the Project Management Committee,
which resulted in a 20-2 majority to discontinue development."

Here's what the Apache Foundation had to say:

 _when the Apache Foundation resigned from the JCP Executive Committee in
protest, it actually stated on the organization's official blog that the "Java
specifications are proprietary technology that must be licensed directly from
the spec lead under whatever terms the spec lead chooses."_

Source: [http://www.fosspatents.com/2012/04/oracle-asks-court-to-
clea...](http://www.fosspatents.com/2012/04/oracle-asks-court-to-clear-up-
potential.html)

[https://blogs.apache.org/foundation/entry/the_asf_resigns_fr...](https://blogs.apache.org/foundation/entry/the_asf_resigns_from_the)

~~~
mbreese
I'm fairly certain that Apache was referring to the TCK license when they were
talking about Java specifications. They don't use the word API - probably
because the idea of copyrighting an API wasn't considered possible (and
hopefully still isn't).

Apache wanted to be able to call Harmony "Java", everyone already knew that it
was API compatible.

------
ChuckMcM
Perhaps the key point here is that there are not 'white knights' or people
without stain in this particular fight.

As someone who was there I can tell you the fact is that Sun was going to
flush Java down the toilet at the end of Fiscal Year 1995 (June 30th), they
had no idea how to monetize it. And when SGI and Microsoft paniced when it got
out, well it became a bludgeoning club which they used to bludgeon people they
didn't like. And all of the efforts to make it a language for lots of purposes
like C or C++ (when is the last time someone got sued by AT&T for making a C
compiler?) got tossed into the bucket in the name of bludgeoning.

Bill Joy asserted for a while that the JVM would execute byte code (with the
assistance of HotSpot and some other bit of secret sauce that never actually
happened) faster than compiled native code. Later when gcj was released (Java
to native machine code compiler) that code ran faster than hot spotted code,
and it loaded quicker too.)

Google on the other hand knew it was leveraging something it had the code to
(and like a third of the original team) and yet it often takes a very literal
interpretation on license requirements when that interpretation suits them. An
example of that was the lack of any requirement to put any of their changes to
Linux back into the repo because they didn't "ship" Linux, they just used it
in house. Now a number of engineers were very annoyed at maintaining things
that they didn't want to maintain and that forced things to be pushed upstream
but that was commit by pain, not commit by intent.

So I really resonate with the comment James made that there isn't anyone with
clean hands in this fight. But there are a lot of egos out there.

~~~
icebraining
_Google on the other hand knew it was leveraging something it had the code to
(and like a third of the original team) and yet it often takes a very literal
interpretation on license requirements when that interpretation suits them._

They had the code but they didn't use it, so the license doesn't apply to
them. It's not an interpretation of the license at all.

 _An example of that was the lack of any requirement to put any of their
changes to Linux back into the repo because they didn't "ship" Linux, they
just used it in house._

That's not their interpretation, that's the _FSF_ 's interpretation. The GPL
does not, and has never required anyone to "contribute back". Its whole
purpose was always to "pay forward" by giving your users the same rights you
got. If you're your only user, you don't have to share the code to anyone.

Straight from the horse's mouth in the GPLv2 FAQ:

    
    
        Does the GPL require that source code of modified versions be posted to the public?
        
        The GPL does not require you to release your modified version. You are free
        to make modifications and use them privately, without ever releasing them.
        This applies to organizations (including companies), too; an organization can
        make a modified version and use it internally without ever releasing it 
        outside the organization.
    

[https://www.gnu.org/licenses/old-
licenses/gpl-2.0-faq.html#G...](https://www.gnu.org/licenses/old-
licenses/gpl-2.0-faq.html#GPLRequireSourcePostedPublic)

~~~
Produce
>The GPL does not, and has never required anyone to "contribute back". Its
whole purpose was always to "pay forward" by giving your users the same rights
you got. If you're your only user, you don't have to share the code to anyone.

Oh come on, that's clearly against the spirit of the license. The central
point that the FSF makes is that all software should be open (as in, the
source code should be freely available). Paying forward the rights that you
got (to view and modify the source code) means allowing others to view and
modify the source code.

~~~
icebraining
I disagree. Their point is that the user should always be able to share,
modify and run the software they have, not that they should have access to
every line of code written. Again, from the GNU project:

    
    
        In general we do not believe it is wrong to develop a program and not release
        it. There are occasions when a program is so useful that withholding it from
        release is treating humanity badly. However, most programs are not that important,
        so not releasing them is not particularly harmful. Thus, there is no conflict
        between the development of private or custom software and the principles of the
        free software movement.
        
        Nearly all employment for programmers is in development of custom software;
        therefore most programming jobs are, or could be, done in a way compatible 
        with the free software movement.
    

I doubt their modifications to the kernel (remember we're not talking about
userspace stuff here) are "so useful that not releasing them is treating
humanity badly".

------
Jacquass12321
_using what was considered Sun's open, but in some ways restricted, code in a
way that would offer little benefit to struggling company that had invested
tens of millions of dollars developing Java and its community over more than a
decade._

Only speaking for myself, but I wouldn't touch java if it wasn't the language
for android development. I'm hard pressed to believe the attention and new
developer interest android is bringing to java will hurt the language.

~~~
option_greek
Especially on the mobile side, where it was already dying at the time. However
java was extremely popular on server side and desktops for enterprise
projects.

~~~
pjmlp
s/was/is/

------
bfung

       "And what's going on in the Android world is there's kind of no adult in charge. 
      And all these handset manufacturers are doing whatever they damn well please. 
      Which means that it's just going to be randomness. It could be let a 
      thousand flowers bloom, but it also could be a dog's breakfast."
    

Isn't that like many startups all competing in the same market; may the best
variant win (and that's good?)? Of course, there's bias from the iPhone's
success.

~~~
tedsuo
Having a number of different operating systems that claim to be "Android" but
are actually incompatible with each other is a huge problem. Users expect the
different handsets to have the same functionality, and developers don't want
to (and cannot) write infinite variations of their applications to work on the
different phones. Fragmentation doesn't lead to one handset maker's version of
android winning over another, it leads to android losing overall, as the costs
of android development increases and the quality of the user experience
decreases. Feels like the browser wars a bit.

~~~
stickfigure
Yeah, it makes life more difficult for developers. Just like the variety of
linux distributions. And yet I don't hear anyone here whining about how we
need to all standardize on Oracle Linux.

~~~
mgkimsal
You don't hear that whining much anymore because of a few reasons.

1) many people who valued standardization of experience moved to other
platforms 2) on desktop systems, you can fairly straightforwardly (though not
always easily) compile from sources to get an executable binary compatible
with you hardware. With mobile/tablets, that's rarely the case (i'd say never,
but I don't know about edge case devices out there which may support/encourage
it).

~~~
stickfigure
I think it's more accurate to say that the linux community engineered around
it. Think about the package distribution systems that have evolved: apt, yum,
slackpkg, etc. Installing software on a linux distro is WAY easier than than
installing software on my Mac. Compare running _aptitude install MySQL_ to
going to the MySQL website, downloading a dmg, and running an installer.

This kind of package management would never have evolved under the One True
Dogma of Sun or Oracle. Windows still doesn't have it. Apple has finally put
an App Store on OSX, but of course with their usual dictatorial flair.

Java is a dying community. This is 100% Sun's fault. The only flourishing
parts of the Java ecosystem (Android and App Engine) are flourishing _because_
they dared to speak heresy.

~~~
bitwize
Installing something on your Mac is trivial. Just drag the icon to your
Applications folder.

I'd rather that over the centralized filesystem and library dependency hell
that exists in _every_ major Linux distro.

------
jp
Sun has not made anything of user interface value over the last five years
because of legal bullshit. Android fixes this problem. The reason Android
exists is the massive NIH ego of Sun engineers, the total ignorance of Sun
management and the fact that AWT/Swing is a desktop API that ignores mobile
phones and tablets. Sun ignored video, audio, animation, maps, vector
graphics, DPI/PPI differences, multitouch, GPS, sensors and memory consumtion.
The AWT/Swing alternative called JavaFX ignores all the problems that Android
solves. I respect Mr Goslings work, but AWT/Swing/JavaFX has nothing on
Android and is unable to compete with WebOS or Bada from many years ago. Sun
Java WebStart was such a bad product it infected more computers with malware
than Adobe Flash over several years.

Java itself is a good product. J2EE works everywhere if you rip out
AWT/Swing/JavaFX references. If you do use the UI code your app will probably
blow up every couple of years because Sun hired a new developer or Apple is
working fulltime on iOS Cocoa. Android is weird, but there is no other Java-
like alternative except Windows Phone 7.

Swing/AWT example <http://us.int.teppefall.com/products/colorspace>

[http://labs.teppefall.com/2012/05/former_sun_totally_slimed_...](http://labs.teppefall.com/2012/05/former_sun_totally_slimed_present_google.html)

------
jimmyvanhalen
Gosling said that Sun was "wronged" by Google and that Oracle is right to sue
Google for the way it used Java code in Android.

 _Just because Sun didn't have patent suits in our genetic code doesn't mean
we didn't feel wronged. While I have differences with Oracle, in this case
they are in the right. Google totally slimed Sun. We were all really
disturbed, even Jonathan: he just decided to put on a happy face and tried to
turn lemons into lemonade._

 _In a March 8, 2007 e-mail to Schwartz about working with Google on licensing
or partnering with Sun on Java, Sun's co-founder and chairman, Scott McNealy,
characterized the relationship with Google at the time: "The Google thing is
really a pain. They are immune to copyright laws, good citizenship, they dont
share. They dont even call back."_

 _"It's really hard to tell what their intentions are with Android. They put
this thing out there, and you've got lots of people picking it up. The big
attraction seems to be the zero on the price tag. But everybody I've talked to
who is building an Android phone or whatever, they're all going in and they're
just hacking on it. And so all these Android phones are going to be
incompatible._

 _"One of the reasons that we charge license fees is because we've got
organizations of people that do compatibility testing and actual negotiating
amongst the different handset makers so that things like GPS APIs look the
same. And what's going on in the Android world is there's kind of no adult in
charge. And all these handset manufacturers are doing whatever they damn well
please. Which means that it's just going to be randomness. It could be let a
thousand flowers bloom, but it also could be a dog's breakfast. And I guess
having been around the track a few times, it feels like it's going to be more
of a dog's breakfast."_

~~~
twoodfin
Putting aside the IP issue, this sounds like a textbook example of worse-is-
better[1]. Sun spent years trying to corral mobile vendors through a single
standards process to ensure the "correct" result while Google shipped and
iterated on something just good enough. Android may be a "dog's breakfast",
but it's a couple of orders of magnitude more successful than Sun's Java-on-
mobile efforts ever were.

Apple's mobile success might seem like a counter example with the iPhone as a
"better-is-better" perfectly polished jewel, but when you look beneath the
surface, the iOS implementation is filled with compromises and hacky
tricks[2]. The magic comes from always compromising in favor of what really
matters (simplicity, responsiveness), rather than refusing to compromise at
all.

[1] <http://dreamsongs.com/WorseIsBetter.html>

[2] I'm particularly fond of the way it maintains a recently rendered version
of your application's interface to show you for the fraction of a second it
takes to activate the app and bring it back to the foreground. It's only
marginally more useful than a black screen, but works wonders for the
perception of responsiveness.

~~~
jimmyvanhalen
I don't know why you have to drag iOS into this discussion, but it's a known
fact that there are way more compromises and "hacky tricks" in Android than
iOS.

~~~
twoodfin
Interesting. I can't comment on the relative volume of hacks in iOS vs.
Android. Presumably both have quite a few.

My point was that "worse-is-better" was validated by the success of Android
vs. Sun's own mobile efforts as characterized by Sun's executives here. And
that despite appearances, the other major successful mobile platform is an
application of worse-is-better as well.

I'm surprised the smart guys at Sun—who were themselves beneficiaries of
worse-is-better in the Unix workstation market—built their mobile strategy
around designing the "one true API". I suppose the (somewhat accidental?)
success of Java convinced them it was a viable approach.

------
eta_carinae
"And so all these Android phones are going to be incompatible."

He seems to be confusing Android with Java ME. Android has a few portability
issues but it's light years ahead of anything that Java ME ever did.

Gosling seems to have a very strong tendency to badmouth his former employers
(first Oracle, now Google), which made me lose a lot of respect for him.

------
ok_craig
I think it's important to think about what Google's goals for Android were,
and ask whether those were in conflict with getting a Java license. In the
trial I read that Sun wanted a lot of "control" over Java on Android with a
license. Can anyone explain what that means exactly? Google's goal with
Android, in part, is to provide an open and completely free mobile OS. Would
that goal have been affected by the kind of control Sun wanted? Would we still
have things like Cyanogenmod? Would progress on the OS in general be slowed?
(I honestly don't know so I'm hoping someone can fill me in.)

------
sedachv
I find two things really irritating about James Gosling as quoted in this
article (there are many more, but none relevant to the article):

1\. His use of the phrase "genetic code." He's trying to sound more
intelligent than the MBA stereotype by using that phrase instead of "DNA," but
he misses the point entirely by still using that idiotic metaphor. The end
result is he comes out sounding dumber than the stereotypical MBA.

2\. No mention of how Sun "slimed" IBM's VisualAge Smalltalk or Bell Labs'
Inferno, because of course Gosling is convinced he invented bytecode VMs and
is god's gift to programmers.

~~~
gonzo
"invented"? Unlikely.

But he was shipping byte code VMs in products as far back as 1982 or so.
(Before GNU Emacs existed.)

See Gosmacs / Unipress emacs and 'mocklisp'.

~~~
Tloewald
1982? So only 10 years after Smalltalk.

------
kodablah
Gosling has had reservations about Harmony in the past. But in general with
Sun's approach, they never maintained a consistent disdain with Kaffe,
Harmony, Classpath, etc. This is why Google brought up Oracle's failure at
building their own Java-based smart phone before the suit was filed.

------
msbhvn
The former Sun CEO does not agree:
<http://www.wired.com/wiredenterprise/2012/04/schwartz/>

Oracle on the other hand argued that he (former Sun CEO) was not qualified to
answer legal questions about Java.

------
jinushaun
Pardon my "naiveté" but when Android first released, I always assumed Google
legitimately licensed Java from Sun. How could Google not see this problem
coming? Why didn't they pick Python for Android? Or JavaScript?

------
Apocryphon
I have to wonder if Microsoft has been taking advantage of this situation by
further appealing to developers to take up/switch to Window Phone 7. C# is a
lot closer to Java than Objective-C is, after all.

~~~
kodablah
Developers will follow the consumers. Once the consumer base builds as high
for Windows Phone as it is for Android, you'll have no problem attracting
developers.

~~~
alecco
Not really. For example, Blackberry was very popular but the platform/API was
loathed by developers.

~~~
there
Very popular with business folk using them for enterprise apps, not consumers
wanting to buy fart apps and games.

~~~
sabret00the
Exactly, if you can't attract casual developers, then you can't attract
consumers. Look at the hit that is Angry Birds, there's still no Blackberry
version and that's gone from casual startup to monolith of a gaming company.

------
buff-a
Any good hacker will code around bullshit.

------
excuse-me
And Sun totally slimed UC Berkeley - ripping off their OS for a propriety
workstation.

Although if you are allowed to hold a copyright on APIs then ATT is in for
some serious remuneration on all this Unix and Linux stuff out their, not to
mention C and C++.

~~~
gonzo
um, I think you'll find that UC Berkeley was quite co-operative in the SunOX
1-4.x efforts.

