Separation of powers?
I'm a little a bit surprised to see the judicial branch asking the executive branch its opinion…
That said, I am overwhelmed by the importance of the decision. I feel like I'm in Waterloo, watching the battle.
The US Supreme Court hasn't decided whether it will hear arguments in the long-running dispute between Google and Oracle over Java copyrights, and it has asked the Obama administration to weigh in before it makes up its mind. On Monday, the Supremes posted a memo inviting US Solicitor General Donald Verrilli, Jr to "express …
The original ruling against Google was, IIRC from El Regs post at the time, based on a precedent re an API case, Johnson controller, 20 odd years. IMHO, the core flaw was that ruling 20 yrs ago.
I have a problem with companies creating an API and publishing the specs for it (if they didn't publish it, it would lose the 'P'). And then claiming that API is protected. But that's all a pretext to regain control.
At the heart of the matter is that Java was licensed for small devices as J2ME only. If you've ever seen J2ME you'll understand how much having a regular Java implementation is superior. Basically, Oracle dropped the ball and Google ran with it. Now Oracle feels very bad the other kids ignore it on mobile. Sad, no one wants to play with its toys.
Keep in mind too, while it is customary to rag on Oracle for all and sundry, most of the groundwork for this shabby behavior was laid by Sun, not Oracle. The Java J2ME licensing, the J2ME feature gaps, the open sourcing but proprietary test suites, this is all Sun's originally. It sucked then and it still sucks now that Oracle's taken over.
This shenanigan about the legal meaning of APIs has zilch to do with the ANSI SQL standard. Just because they are trying to abuse the system has nothing to do with a published standard. Upholding the legal doctrine of API control, while a fundamentally horrible idea, should not impact the legal standing of standards.
Oracle also didn't just "clone a standard". When SQL first came out with Codd & all, IBM didn't do all that much with except a lackluster DB2 or something (just like Sun's reference implementations of J2EE & all have tended to suck). Proof of concept, half-heartedly sold because it probably infringed on their existing product lines. Codd is a genius, but his employment by IBM does not mean IBM grokked SQL immediately.
Oracle was one of the first companies to make a viable tool of what was then a new database paradigm, very much a theoretical approach and an underdog compared to hierarchicals and networks. Yes, and that includes Larry Ellison doing good work - like him or not, he is a clever guy. DB2 eventually became a solid product with heavy backing from IBM, but Oracle, Informix, Ingres, these are the folks who moved the standard along at first.
So, by all means I hope the Supremes take on this case, I hope the API precedent is nuked from orbit, I hope Oracle loses its case.
But let's not rewrite history or appeal to emotions by tying this whole shabby process to the SQL standard and Oracle's work on databases.
Last, whoever said Oracle's worst scenario would probably be to win the case and have Java sidelined on mobiles is spot on. Oracle, just like Sun, needs to open up on Java, follow through their original open source commitment and make money off what is one of the most popular languages around (I don't like Java much myself, but that is irrelevant). Having Java shunned in the mobile space would be a disaster when marketing buzzwords are all mobile, cloud and pink unicorns.
If Oracle wins and overdoes it on licensing fees they'll kill the goose in the Android space and what other mobile platforms give as much weight to Java? If they enforce J2ME, twice as bad. Pressed hard, I wonder if Google couldn't shift its efforts to Go over time.
Sorry, you missed a few things.
When Sun created Java and Then the ME version, the capabilities of the phone were much more limited, so you had to reduce things, hence the ME. Sun didn't license Java for the desktop because they wanted people to adopt it. Then make some money off the ME version.
Oracle came much later when they bought Sun.
Turns out if Larry thought about it. By Buying SUN, they became the next IBM in terms of software,hardware and services.
Errr, failing to see exactly your point about what I missed. I don't disagree with your statements, but they don't contradict mine by much, more a matter of opinion.
I distinctly remember the J2ME licensing being one of the initial complaints Oracle had wrt Android. Along with some verbatim copy of code. API copyright came later.
Seriously, forcing a phone to only use J2ME was a pretty brutal restriction by the time Android came out. I did some minimal dev on it in 2006 and it sucked big time as a platform for a ton of reasons.
Claiming that this restriction was just to protect users from slow machines by forcing J2ME is a bit of a stretch. If J2ME-only on phone was only driven by technical considerations, then why fuss about it once the phones were beefy enough?
Anyway my point is that a good part of the groundwork for the questionable openness of Java was laid by Sun, not just by Oracle. And, yes, Oracle complained about some aspects of it at the time. Which makes this whole process somewhat ironic... Am I wrong in that statement?
At the end of the day, it's clear that Oracle wants to make money off Android somehow. They have at least as much right to do so as Microsoft with its little Android patent extortion scheme. Which is not a very high bar to exceed admittedly.
I don't have much of a dog in this fight on whether Oracle screws Google or not. Slightly favor Google, but not by that much. Big corps, big bucks, big lawyers... But it would be extremely regrettable if Oracle won because API copyright was confirmed as legally enforceable.
"There's nothing with "copying" SQL, as it's been a standard since the 80's"
Nevertheless it was originated by IBM. It may be a standard but are any intellectual property rights FRAND? As IBM has owned Informix for a good while as well as DB2 they could give the opposition a bit of a problem if this ruling suddenly made SQL a copyright API. Umpteen years back royalties on Oracle? Larry might have to sell his boat.
Not sure about "Dazed" but you're definitely confused:
"SQL was adopted as a standard by the American National Standards Institute (ANSI) in 1986"..
So by making it an ANSI standard that surely makes it free to use? much like anyone could implement an ANSI C compiler.
"So by making it an ANSI standard that surely makes it free to use? much like anyone could implement an ANSI C compiler."
And is it your contention that standards can't contain licensable IP? If so what do you think all these Samsung/Apple/MS/Google/whoever pissing matches are about? (Apart from those about rounded corners, of course.)
Java was open sourced, the creators had no problem whatsoever with Google using the APIs. Android is the most well known and successful commercial version of the API.
Oracle asked Sun to release Java into the public domain and GPL it.
Oracle know that if it was ruled that this API is illegal then they also know they never could have made their SQL databases upon which their company was founded. This isn't about some small company being screwed out of their rights by a big bad corporation it is about Oracle purposely buying Java to try to force a massive windfall from Google for no work - when that failed (code copyrights and patents) they went to their last resort of API copyrightability.
They know how bad this is for the industry, how restrictive it will make it (you think patent trolls are bad the new copyright trolls will be worse). They are blindly trying not to lose face for their Sun purchase.
Notice no-one said Google was wrong for using the Java APIs when Sun owned it (and gave Google their blessing). It is only now that Oracle is trying to extort money out of Google that the Oracle supporters jump to their keyboards.
Yes and no. And that's always been the problem with Java, it wasn't a clean OS release like Linus did with Linux.
Sun released the language as OS, but not the engine, which remained under Sun's control. There are still potentially proprietary API's in the engine. And that's been the real center of this fight. Because Sun didn't release and Oracle never will, Google built what the claim is a "clean room" engine for Android. Oracle cried foul and let slip the dogs of law.
Nope. There are lots of available standards which require royalties for use. Being made a standard does not inherently strip a copyright holder of their rights.
.mp4 is a standard, but you still have to pay royalties to play or encode it. (Which most people don't know because it's bundled into the cost of the software to do it.)
As a CEO of a company that is built on development of software my preference would be for all "code", including API function/method headers to be incapable of being copyrighted.
Copyrighting code has had a far worse impact on business development than any perceived benefits it has provided. From experience I can say a fair amount of garbage code out there is strictly due to needing to use backasswards practices in order to get past copyright and patent infringement issues in order to provide blatantly obvious functionality. This needs to stop.
There's a reason why SCOTUS wants to go to the WH for their opinion.
Unlike you, Obama, and his Democratic Minions in Congress, killed tort reform. Actually it was Harry Reid who is on the payroll of the Trial Lawyers Assoc which killed patent reform which would have made parts of this case moot.
However, the argument that the API is a published work and is therefore protected by copyright is a valid legal argument.
You may not like it, but it does deserve that protection. The API is public in that it allows you to write code to interface to their code. Not for you to write a competing product. You may not like it... but that's how Oracle's lawyers will frame the issue. IMHO the odds are, Oracle will win. You have to look at this through lawyers eyes and not a software developers eyes.
This isn't a simple issue and there is merit to both sides and the arguments that they could raise.
Google should tread carefully. Those that live in glass houses and all that sort of thing applies.
Its a good thing you're not a lawyer.
The API is not just like an 'index to a published work' .
Its more like the cliff notes. You don't get the meat of the argument, but a general idea of what's going on. ;-)
In terms of copyright... the argument is that Google created a derivative work.
They caused harm to Oracle (loss of revenue).
If Oracle's lawyer(s) have a good day, and Google's lawyers dont, Oracle stands a good chance of winning.
IMHO Google played fast and loose. The could have just licensed it. They have the cash.
They're making money because with 'droid, they have more ways to watch what you do and to influence your purchasing decisions.
>You have to look at this through lawyers eyes and not a software developers eyes
Kudos of you to remind us that this is a legal matter.
But.
The economic costs of essentially forbidding competing API implementations in the software domain would be enormous and open up the door for massive abuse (think DMCA use for ink jet cartdriges was bad? think again)
Like or hate patents, the patent system was originated to promote economic activity, to provide incentives to innovate. A narrow interpretation of patent law & precedents to favor the protection of APIs is wrong - the stifling of economic activity if APIs become overly protected would be hugely detrimental, against the public interest and entirely against the original intent of patent law.
And that is why it is a legal matter and why the Supreme Court needs to weigh in. They don't come in to fix easy legal problems or pass laws, their role is to review whether existing laws need to be upheld, struck down or modified. Including dealing with flawed precedents and this API one has to go.
You've missed the issue.
Using the APIs, that's one thing and that's not at the heart of the argument.
APIs were created so that you, the developer can make use of their product in your app.
Google is creating a derivative product to compete with the product.
If Google wins then you're just made IP dead in terms of software.
It would mean that anyone who creates anything, publishes the API, has no way of protecting their IP from people reverse engineering their code.
If Oracle wins, its still BAU, Google wins... You have the world of cheap knock offs. Buyer beware.
>you're just made IP dead in terms of software.
>You have the world of cheap knock offs. Buyer beware.
Quaking in my boots here. I am sitting on the fence wrt software patents, unlike many other hereabouts. If genuinely innovative... who knows.
But locking things down on an API level? What if your protection is extended to similarity, not just plain full copy? A la rounded corners?
How far away are we then from an obvious way to structure a set of function calls for a certain domain becoming locked down because someone squatted the API structure in advance?
Sorry, I'll risk your "IP armageddon" over all sorts of "your API looks like ours so we'll sue".
Anyway, still leaves folks to compete on implementation. You know... like cars, for example.
This was *exactly* what happened with the IBM PC. You'll note that those "cheap knockoffs" are what made home computers a thing. Without the open BIOS API that let more than one manufacturer make hardware, we'd still have a computer market where you had to choose what manufacturer to buy from based on the program you wanted to run because they wouldn't be nearly as broadly compatible as they now are.
"Copyrighting code has had a far worse impact on business development than any perceived benefits it has provided."
That would be the same copyright that allows you to work as a contract developer (without copyright, the work you produce for an employer belongs to nobody, and they don't have to pay you for it), or is it the copyright that prevents people fleecing FOSS projects and including Open Sourced code into proprietary systems?
Copyrights are not the same as Patents. I don't agree with Software Patents, but you'd have to be a fool to want to abolish copyright.
"without copyright, the work you produce for an employer belongs to nobody, and they don't have to pay you for it"
They still have to pay you for the time to do so, if you're an employee.
NEC made out like bandits on a couple of items I created in the 80s. My employer at the time was the IP owner and chose to give it away.
"They still have to pay you for the time to do so, if you're an employee."
True, but in a development position, they're only paying for your time because they'll own the copyright on what you produce for them.
It's possible to make an argument that maintenance programmers don't fall into this rule, but you've then got to ask where the software to be maintained would have come from without copyright? ("Open Source" is the wrong answer, because that also depends on copyright to enforce the sharing of everyone's contributions)
Without copyright the terms under which a contract developer's code could be copied and used by his employer would be set by the terms of the employment contract, just like they are now.
You'll notice that the recipes for Coke and Pepsi are not copyrighted, but they are still protected by a vast array of NDAs. True, once you code "escapes" to people who haven't signed such agreements there's no bringing it back in without a lot of work, but the idea that software developers wouldn't get paid without copyright laws is ridiculous. You welch on an agreement to pay me for solving your intellectual problem, you're still liable whether the outcome is protected by IP laws or not. Do it too often and nobody will accept your contracts in the first place.
What Oracle wants out of this is a big wad of money from Google. The original creator of Java said that this was pretty obviously in the minds of the Oracle personnel he talked to when they were doing their takeover of Sun.
Let's imagine now that Oracle gets their way, and they levy a royalty on every Android phone (just like they do with Java in a lot of feature phones). Let's also suppose that Google responds by introducing a new standard app language and API in Android and phasing out Java language support.
It wouldn't happen overnight and would need several years, but it should be possible to provide a third party migration path for existing apps by using the same method that Mono uses, where each app has to include its own run-time. A lot of apps have a short lifetime anyway, and the "legacy" app vendors could be told to pay the API license to Oracle if they want to stick with the Java language.
Google could then tell Oracle to go do one.
The end result? One of the biggest fields of application making Java relevant today would slip out of Oracle's fingers, leaving the Java language as a niche server programming language. Fewer people would learn the Java language, and the Java community as a whole would suffer and the value of "owning" Java would decline, even in the server market.
And the funniest part of the above scenario is that nobody would be surprised to see Oracle shoot themselves in the foot once again in the pursuit of short term profits.
A sensible leader at Oracle would be deliriously happy just to see the Java language being used widely in smart phones because anything that makes more developers learn the Java language makes Java in the enterprise server market (where Oracle makes their money) more valuable.
Sensible long strategy from Oracle though? I'll be surprised to see that.
How much Android software is
a) Really written in JAVA? There are C(++) alternatives
b) Making money? Fandroids are known to be Freetards
And how important is Java in the mobile units over all? How much Cross-Platform uses C(++) instead or variants of .NET
OTOH the server is not a niche market. That is one of the major markets as can be seen on where Oracle has been focussing most of the work. Only recently did they get back to the desktop with FX2.
@mmeier - I haven't got the figures handy, but I saw an analysis a while ago that said the majority of simple apps tended to be written in Java, while stuff that had a large cross platform component and was large or had important performance requirements was written in C++.
In addition, there are a lot of simple apps that are actually HTML5 and Javascript wrapped up in a container using Apache Cordova/Phonegap. This is a really popular option for simple cross platform apps that need to be cranked out quickly.
Unity3d is a popular game engine, and can use Unityscript (like Javascript) or C# for scripting. I saw a list of games which run on Unity3d, but I'd never heard of any of them (not that I have much interest in games) so I don't know if any big name games use it or just minor titles.
There are loads of other languages/platforms, but they tend to have a much smaller market share. These include Python (via Kivy), Ruby (Rubymotion), and QML (Qt and a form of javascript).
It should be noted that although Android uses the Java language, it doesn't use the Java VM. Instead it cross-compiles the Java bytes codes to Dalvik, or to the newer ART. There is no code belonging to Oracle running on the phone. This is why Oracle is using a whole new expanded theory of what constitutes copyright to advance their case.
When Google first brought out Dart, I thought they would use it as a development language for simple Android apps. I'm surprised they haven't gone in that direction.
The reason that Android uses Java as its official development language is historical. Java was already popular as a phone app language before Android existed, so phone app developers were already familiar with it.
Google didn't create Android, they bought a small company that was already working on it. The history went something like this:
1) A company called Danger Incorporated had a sort of feature/smart phone which used used the Java language, but ran on its own non-Java VM. Sound familiar?
2) Microsoft wanted into the phone market, and bought Danger.
3) Microsoft ran the company into the ground in a spectacular crash and burn, and then exited the phone hardware market with much derision by the other players.
4) Meanwhile some of the guys who were behind Danger went out and started developing a new phone OS using a Linux kernel and which used used the Java language, but ran on its own non-Java VM.
5) Google wanted into the phone market bought the Android company before the software was ready for market.
6) Google made a spectacular success out of it.
I think that Google's motivation was more defensive at first instead than seeing it as a business opportunity, because they were afraid that Apple and Microsoft were going to create walled gardens and lock Google's ad business out of their platforms. I think it was only later after Android was such a huge success that Google realized that they were onto such a good thing. In other words, it was 90%t luck and 10% foresight that got them into the market when they did. As a result of this they probably didn't put a lot of thought into what language to use for Android development. They just went with what the ex-Danger guys knew and had already started on.
And how important is Java in the mobile units over all? How much Cross-Platform uses C(++) instead or variants of .NET
C/C++ is credible. .NET? I'd bet there are more apps made for BlackBerry than mobile .NET stuff, given that .NET is only used in the least used mobile OS ever: Windows Phone. At least BlackBerry gets more support due to its former place in the top 3 OSes.
And Java itself is still useful as Java ME MIDlets still cover a wide range of smartphones.
> .NET? I'd bet there are more apps made for BlackBerry than mobile .NET stuff, given that .NET is only used in the least used mobile OS ever:
I added the emphasis. I'll bet you never heard of Xamarin. Or Mono. It's the only explanation for being so stupendously wrong.
I'll bet you never heard of Xamarin. Or Mono. It's the only explanation for being so stupendously wrong.
Mono requires a commercial license for Android or iOS development. And even the full Mono stack still lacks a full .NET implementation. It just doesn't make sense to use Mono for mobile applications, straight Java or C++ do a better job on Android, and ObjC or the other new bling-bling language Apple made do a better job on iOS.
Generated code will usually fare worse than native code, and it seems that Android-targeted stuff will be compiled JIT instead of natively.
None of which excuses your error - it is used for both Android and iOS development as well as oh, over 90% of the desktop market and a huge amount of servers.
Of course, I understand that you're doing the "stop liking what I don't like" internet win argument in this case being basically a "lol Windows Phone, we want less competition so my preferred platform can be all of the win" thing but being an internet staple doesn't mean it's not stupid. Far from it, in fact.
Yes, Oracle wants money. They are a company. As a human, you exist to procreate and play video games. As a company Oracle exists to make money.
Google walks away from Java? That would mean writing a whole new OS and use a whole new language that doesn't use the JVM.
Google won't do that.
If Google loses, they will pay the royalty. They will indemnify the telcos that Google agreed to indemnify when the lawsuit came out.
Google will do the math, something you didn't do, and come to the conclusion that its cheaper to settle and then make money off the data they get from you, someone who uses an android phone. You are their product.
If you thought Uber's God View was scary... Google's potential is much worse.
If Oracle win then all Microsoft operating systems could be seen as infringing Digital Research and Digital Equipment Corp intellectual property.
And to carry copyright even further past the point of absurdity, I wonder if the Holy Roman Catholic church could then sue the Baptists, Episcopalians, Methodists, Lutherans etc etc? They might even get a whack at the Muslims too - but then Judaism could sue the whole lot of them.
And anyone implementing some kind of VM for x86 is infringing on Intel's instruction set and IBM's PC architecture, large chunks of both of which have to be emulated with precision for the VM to actually work.
Fortunately, my understanding is that over in Europe it is expressly legal to implement an API for the purposes of compatibility, which is exactly what Android does, so whilst it is hugely entertaining for us to watch the lawyers slag it out, the reality is that if the US really is in two minds about this then they'll probably elect to follow the EU lead because it would clearly be daft to gratuitously differ on such an important issue.
it is expressly legal to implement an API for the purposes of compatibility, which is exactly what Android does
I think this is stretching the definition to breaking point.
Android doesn't implement the API for compatibility. They implement the API because it is easier than writing their own from scratch, and easier for developers (many of whom know Java in some form, so can pick it up easier). It is not done so that Android apps are compatible with existing JVMs (they aren't) or so that existing Java apps would be compatible with Android (again, they aren't).
EDIT: Just to be clear, I'm not siding with Oracle on this. I don't think APIs should be copyrightable.
Right then. Given our current administration copyright protection for API's it is then. [icon accordingly]
This is the one area of IP law that is in such serious need of legislative remedy it isn't funny.
The lifetime of a book is clearly at least as long as an author. So I don't have any problems with that part of IP law. The lifetime of a movie is arguably that long, but also arguably shorter. I'm willing to grant that copyright protection. Same with songs.
The lifetime of a cross-cut saw or a drill press is obviously not as long as a person. I can see the need to recoup research costs and reward it, but 17 years looks about right to me. We can tweak it some if you'd like, but it will probably wind up at 17 +/- 10 years. Same thing for drug research.
The lifetime of code is a whole other story. Nobody is really using MS DOS 1.0 anymore. In fact, if you said you were coding something for a real application instead of pleasure, you'd be laughed out of the room. I see 7 years as about the real lifetime of code. That ought to be the limit of IP protection for it. Call it a software patent or a software copyright or some other new term, but code should receive an initial payback period of about 7 years to the user, after that, it's in the public domain. Not OS, public domain. Period. If you want to wrangle on +/- 3 years I'm willing to hear you out. But certainly nowhere near the book length copyright it gets today.
Isn't the Linux kernel explicitly designed as an implementation of Unix APIs, without using any Unix code?
Aren't all the GNU utilities explicitly designed to mimic Unix interfaces, without using any Unix code?
Weren't things like the Phoenix BIOS explicitly designed as an implementation of IBMs original PC BIOS, without using any IBM code?
Where does it stop?
That's another good example. Phoenix went to great lengths to show "no copying" while writing their BIOS. The process was "refereed" all the way. However we are here talking about the US judicial system which has been described as "the best that money can buy" (or was that the govt?)
That's an interesting example.
Lets talk about PC BIOS.
Its called developing the code in a clean room.
You have one group of engineers who are tasked with writing specifications as they reverse engineer the original product.
Then you have a second group of engineers who are tasked to build the new bios from the specifications with no communication at all with the first group.
That's what Google was supposed to do. But somehow they screwed it up.
If it chooses not to, Google may be in a precarious position with regard to its Android SDK,
If it chooses not to, Oracle may be in a precarious position with regard to every third party API it uses
To those who say which API's I'd say the API that allows an Oracle database to run on any operating system.
The Android API fulfils the same functionality as the Java API without using the same code.
.
My impression was that copyright should be the details of the implementation, not the generic idea, specifically referring back to the Phoenix BIOS "clean" vs "dirty" teams.
Reverse engineering in tech goes back decades; as others have said, Linux implements the legacy AT&T UNIX APIs but does it with fresh code underneath, BIOS vendors vs. IBM, etc etc etc. In a previous life I worked at a vendor reverse-engineering IBM 3270 terminals & controllers, and we did it damn well thankyouverymuch.
In this case Android does many of the Java APIs with their own code, which means Larry E can't collect royalties, so one more place he's failed to monetize Java after paying for Sun. Instead they've unleashed the lawyers trying to overturn said decades of existing practice, where *an* implementation can be copyrighted but can't stop a reverse-engineered counterpart.
This would be an unmitigated disaster for the industry, and cause many projects to grind to a halt in fear of similar suits for infringement.
Isn't the analogy something like this:
I write a book called Harry Potter and Pink Wand
It has the same characters with the same names and basic personalities as JKRowling's book (pick one).
It has the same chapter names and the same underlying plot. All things relevant to the plot still happen.
It may add events which are not relevant to the original plot and can invent new sub plots. It uses its own words and may have a different number of words and pages to the original.
Clearly if I changed the characters names and took my plot from several sources then this would be ok if not very original.
That I don't want to pay an extra premium to anyone (oracle) when I buy a phone is not relevant to the discussion. Don't microsoft already make money from an android phone sale - what's the difference?