Java creator James Gosling: 'Google totally slimed Sun'
news.cnet.com
news.cnet.com
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.
If their argument boils down to "well, they should have agreed to make their system just as shitty as the rest of our systems so that they could be crappily compatible" then it's not hard to see why Google went a different direction.
Google's defense is incredibly weak. relying mostly on fair use.
the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright.
Since that order emphasizes the importance of the APIs, it probably weighs in Oracle's favor.
We'll find out for sure in a few days.
http://arstechnica.com/tech-policy/news/2012/04/oracle-presi...
> There is one thing the jury won't know: the issue of whether APIs can be copyrighted at all is actually up in the air. It's a legal gray area that will be decided by Judge William Alsup—but only after the jury gives its verdict in this case. (When that happens, even a jury verdict in Oracle's favor could be a hollow one.)
which is exactly what felipeko was referring to.
If a juror genuinely believes that the idea of copyrighting APIs and extending that copyright to alternate implementations makes no sense, how can they come up with a decision that's anything but arbitrary? That's like me saying, 'Assume that 1 * 5 = 0, and then decide if if the satisfiability problem can be solved in linear time'.
If you give me a nonsensical set of assumptions, how can I come up with an answer that's not also nonsensical? If you give me some messed up numerical system like that one, well sure, maybe those definitions would propagate though to the definition of polynomial complexity as well. But what does that mean for the real world? Nothing - and law is meant to be applied, not some abstract theoretical exercise.
I just posted this to highlight the fact that things are in Oracle's favor.
jury told by Judge to assume APIs are copyrightable.
Since that order emphasizes the importance of the APIs, it probably weighs in Oracle's favor.
I mean, look at it this way - GNU is almost completely compatible with Unix, but it was rebuilt from the ground up. Even if AT&T hadn't given out the license for free, you'd have a hard time convincing me that GNU breaks some sort of copyright - the entire damn codebase was rewritten from the ground up. The design of the operating system may be the same, but copyrighting that is as ridiculous as patenting a geometric shape.
There's a time to everything, a time to tear down and a time to build - Ecclesiastes.
Having said that, you are quite right to credit Romain for a lot of the UI we see in Android, and there's also a reason why he didn't stay at Sun: he was one of the few graphic engineers who actually cared about releasing good graphical user interfaces.
Failure of J2ME had to do with the flawed process, the technology, the design, the backwardness, the inability to keep up with times, the failure of the WORA promise, the fragmentation and Sun's management lacking any and all vision. Licensing from Sun would have likely meant Google would have found itself in a déjà vu situation. That was the point I was trying to make :)
(also, Android has a compatibility test system/process)
Desktop: true.
Mobile: wasn't Java ME on a bazillion feature phones?
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
Yep, because there wasn't anything else. But it was painful, slow in terms of progress and incomplete (JSR297 - they are still working on 3D graphics API standardization). And hey no one liked it and knew it far as I can tell - talk real fragmentation.
The world wouldn't look very different today if those phones had run a completely different stack. Or even if it wasn't possible to write apps for them at all.
Google nicked the programming language off Sun and an interface off Apple.
Besides, writing J2ME swing style apps was what made a developer puke although the end result of it, the UI was also painful to look at if not as much.
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.
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).
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...
https://blogs.apache.org/foundation/entry/the_asf_resigns_fr...
Apache wanted to be able to call Harmony "Java", everyone already knew that it was API compatible.
that Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses;
I feel for the guy, but if he didn't want to be slimed, they should have made the TCK available under an actual open source compatible license. If Google slimed Sun, what did Sun do to Harmony?
If the primary goal was compatibility, they should have worked with Apache on that. The license fees wouldn't have been a problem. If, on the other hand, the primary goal was controlling the single open source version of Java, you're going to have to expect non-"Java" open source forks.
I'm not sure what Google "sliming" Sun has to do with the copyright or the patent case, though. Is he suggesting that he agrees that APIs are copyrightable? (you wouldn't even need a TCK in that world)
>you're going to have to expect non-"Java" open source forks.
yes, licensed under GPL not ASL.
Here's what Andy Rubin had to say about GPL:
"The problem with GPL in embedded systems [such as smartphones and tablets] is that it's viral [...]"
"Sun chose GPL for this exact reason so that companies would need to come back to them and take a direct license and pay royalties."
> yes, licensed under GPL not ASL.
I feel like you don't really read the posts you respond to. That kind of thinking was exactly the impetus for the non-"Java" forking I was referring to. Hypothetical: someone forks OpenJDK and makes incompatible changes to the APIs. They have no interest in passing the TCK or following the restrictions in the OpenJDK Community TCK License Agreement. Are they able to release this as long as they don't call it Java? More concretely, should GNU Classpath be shut down?
Precedent up to this point says that that both are fine and have to be tolerated. Jonathan Schwartz said both bothered them but had to be tolerated, but you've made clear that his opinion couldn't possibly be relevant. We'll just have to see how this case turns out.
His "endorsement" is not a license or a permission to break copyright/license agreements.
You didn't answer my questions.
What questions? anyone can fork OpenJDK and release it under a different license due to the classpath exceptions, and if they pass the TCK they can call their software Java. If not they cant't. but PhoneME doesn't have the classpath exception and that's why Google didn't like that.
Here's Andy Rubin's email:
"We are building a platform where the entire purpose is to let people differentiate on top of it," said Android chief Andy Rubin in an August 11, 2007, e-mail that Oracle is touting in its case against Google (PDF). "Sun chose GPL for this exact reason so that companies would need to come back to them and take a direct license and pay royalties."
so what is your point?
If a distro doesn't pass the TCK, it can't be called Java.
That's why they are claiming copyright on APIs and such. Whether or not this has any merit - is what the court case is all about.
Google wanted to make Android open source, but the JVM license requires the GPL, which Google and a lot of companies using it now won’t touch with a pole.
So they had to use more liberal license, like the one they use in most of their other projects and the only way to do that was to write their own new VM (this probably also allowed them to more easily tailor it for mobile use).
"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. which annoyed a lot of folks at Sun."
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."
what kind of thing? can you explain a little bit more.
"But I think there’ll be lots of forks, and I approve. I suspect that basement hackers and university CompSci departments and other unexpected parties will take the Java source, hack groovy improvements into it, compile it, and want to give it to the world. They’ll discover that getting their creation blessed as “Java” requires running the TCK/trademark gauntlet, which isn’t groovy at all. So they’ll think of a clever name for it and publish anyhow."
Director of Web Technologies at Sun Microsystems, 12/11/2006 [ Source: http://www.tbray.org/ongoing/When/200x/2006/11/12/OSS-Java ]
This sound exactly what Google did, so why are they suing now?
under GPL (OpenJDK) not ASL (Harmony <-- groovy name).
Here's what the Apache Foundation said after it discontinued work on Harmony.
"Java specifications are proprietary technology that must be licensed directly from the spec lead under whatever terms the spec lead chooses."
From the developer documentation at Google's android.com:
> The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
> All applications are written using the Java programming language.
> Android applications are written in the Java programming language
Based on a sampling of random pages there, they talk about your Java classes for you application, your Java source files, and so on. It's mentioned dozens if not hundreds of times.
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.
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...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.
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".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.
As an Android developer and, I have to confess, advocate, I have always found Android's Java origins to have been a mistake. It is an unlikable language that did nothing to further the platform, but brought a lot of resource expense with it. I honestly wish Oracle wins this suit and Google gets a sunsetting period to actually bake out a credible NDK API (e.g. no JInvoke BS).
"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.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).
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.
I'd rather that over the centralized filesystem and library dependency hell that exists in _every_ major Linux distro.
However, anecdotally and from personal observation (small data size), those who cannot afford iPhones tend to go with androids due to price and availability than go with older generation iPhones.
Do Users really expect Different handsets to have the Same functionality? Or is slightly different ok, since they are slightly different handsets?
By having a DoD certification we can be sure that all the app developers all over the world will work together in harmony and wear matching ties.
Ties? (puts gun to head, pulls trigger).
With ADA you know that you send a gun_initiate_trigger_action message with bullet_coming_out_of_the_end action and shoot_me_in_the_head permission
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_...
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."
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.
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.
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.
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.
...Gosling is convinced he invented bytecode VMs...
If you have to pretend to be a mind-reader in order to rationalize your irritation, maybe you should just take a few deep breaths and ask if there's some other way you could interpret his statements.
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'.
Oracle on the other hand argued that he (former Sun CEO) was not qualified to answer legal questions about Java.
If someone came up with this like that for Android; that would be a killer app.
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++.