

Developer Freedom At Stake As Oracle Clings To Java API Copyrights - mitmads
http://www.techcrunch.com/2013/03/30/developers-should-care-about-oracles-upcoming-appeal-of-the-google-lawsuit

======
cft
Choosing Java and Dalvic was probably a mistake for Android.

~~~
rdtsc
If they had to redo it today, what could it be instead?

* Javascript -- I hate the language, it has enough warts to make it unpalatable

* Dart -- I can see it, that would be great, still kind of new though

* Python -- I understand they could have done it, but it was a political decision not to (at least according to Guido's remark during one of the PyCon's), performance might not be up to par on some devices

* Go -- too low level perhaps, but it would be cool

~~~
cft
Go, C/C++, but in the ideal world- Python (they would have to very seriously
tweak the interpreter)- imagine how easy app creation would have become with
Python? They would have a huge advantage over iOS by lowering the entry
thresholds for developers.

~~~
cageface
Python is neither fast enough or robust enough to use as the foundation for an
OS. You _need_ static typing and strong tooling both for performance and for
correctness. Those that disagree with this need only point me to a successful
counter-example.

~~~
vineet
Google has modified Java for Android. They could have instead modified Python.
There have been academic papers that have shown that Python can be made to be
statically typed (ignoring one or two keywords, like eval).

Assuming that Google had done these, there should be no reason that Python
would not be fast or robust enough.

~~~
rdtsc
Yeah Guido was basically asked this at a PyCon in the past. He was working for
Google and at some point he probably had brought up the question. Someone in
the audience asked about it and his comment was that it was "political". In
other words technically possible but powers that be decided against it for
other reasons. It is also important how he said it, he was very calm before
and after, but when answering that question he was visibly upset. You could
tell it was a sore topic for him that made him pretty angry.

------
ceautery
What a bunch of jackasses. Sometimes I think the only difference between
Oracle and SCO is scale.

~~~
jacquesm
> Sometimes I think the only difference between Oracle and SCO is scale.

Whenever you think that you should probably read up on both Oracle and SCO.

SCO was a dying company that tried every dirty trick in the book to blackmail
the world into giving it a free ride to newfound riches based on ridiculous
claims. SCO was backed behind the scenes by Microsoft simply to attack Linux
which Microsoft saw as a threat to its bottom line. As such SCO was really
nothing but a proxy for Microsoft in the dirtiest fight that the IT industry
has ever seen.

Oracle is a very successful company that _bought_ the assets of another dying
company (SUN) in order to safeguard a line of business and in order to buy the
IP rights of that dying company, which included Java.

Note that I'm not defending what Oracle is doing here but the differences
between SCO and Oracle are enormous, and are certainly not limited to scale.

In many ways the Oracle case is much more dangerous because it now openly
attacks a well established principle (interoperability) and Oracle actually
has the resources to do real damage. For now that damage is limited to Oracle
shooting in its own foot (Damaging the Java brand in a very clear and concrete
way) but that could easily change.

Google has a very long standing habit of doing or buying things that are
illegal (youtube, books, caching the web, images) and getting away with them
because they have deeper pockets than the copyright owners or because they
strike a deal when cornered.

SCO's claims aginst linux ('10's of thousands of lines') were absolutely
unfounded, Oracle's claims against Dalvik seem to have at the surface at least
some merit.

And Oracle is not simply going to give up on what it perceives to be its right
simply because the party they believe is infringing is Google.

Still, I'm rooting for Google to win this one and for Oracle to lose this one,
the consequences of the fall-out of an Oracle win would be pretty disastrous.

~~~
danieldk
_SCO was a dying company that tried every dirty trick in the book to blackmail
the world into giving it a free ride to newfound riches based on ridiculous
claims._

Actually, ironically, it's not SCO that tried to sue every Linux vendor, but
the Linux company formerly known as Caldera Systems (of Caldera OpenLinux).
They purchased SCO's UNIX business and renamed themselves to The SCO Group.
The real SCO was renamed to Tarantella.

It's sad, not only is the name of 'old SCO' forever associated with attacks
that they did not participate in, the Linux ecosystem was actually under
attack by a (former) Linux company.

------
CurtMonash
There's no way an API should be covered by copyright, for the judge's reasons.
If you can get a patent on it, good luck to you; otherwise, it's not proper
IP.

Patenting an API would be like patenting a UI -- reasonable under the law.
<http://www.dbms2.com/2010/03/23/software-innovation-patent/> Whether the law
should be changed -- as I think it should be -- to make such patents
unreasonable is a separate issue.

~~~
kvb
I don't see why. There's plenty of creative discretion involved in the writing
of an API. I would have expected this to be a fair use issue rather than a
copyrightability issue (though IANAL).

~~~
delinka
"Fair use" is, by definition, an issue involved in copyright. But I see your
point- if APIs are copyrightable, then uses of that API may be "fair use." But
then someone's got to drag all the potential uses through the courts to
determine what's fair use and what's not (because apparently fair use can only
be determined by the courts...) I would surmise that, in this dystopian
fantasy world (and I hope it remains such), 'interoperability' would be the
_de facto_ fair use and any other use of an API would legally require a
license. What a nightmare.

~~~
kvb
Well, the case isn't about the _use_ of the API - it's about a non-
interoperable reimplementation of the API (from Oracle's perspective, at
least).

~~~
delinka
"...this case..."

Sure, I'm just addressing your fair use comment with my own input.

"...non-interoperable reimplementation of the API"

I do not understand this phrase. If you implement an API that's exactly the
same as the API in a library that I publish, the underlying implementation is
irrelevant to your clients because your software is now an interoperable
replacement for mine. If you implement some API that's not the same as my API
(and thus not an interoperable replacement), you can't have infringed on my
theoretical API copyright.

~~~
kvb
Whether or not we limit he discussion to this case, I don't think there's any
reason to fear that _using_ an API would be a copyright issue (though again
IANAL). The whole purpose of an API is for people to write software against
it. I think that people misconstrue what this case is really about and start
talking in hyperbolic terms (not that you're doing so, but in the popular
press, blogs, etc.).

At the risk of mischaracterizing Oracle's argument, the basic idea is that
Google wanted developers to have a familiar API and wanted to reuse some of
the tooling built for Java, but there is no way to get a compiled Dalvik
program to run on a JVM, and likewise compiled Java software can't be run on
Android. So Google piggybacked on the hard work Sun put into designing a
coherent (and quite large) API, but didn't really do so in an interoperable
way. In some ways the case is reminiscent of the Sun/Microsoft quarrel about
Microsoft's extensions to Java (though that also involved trademark issues, as
I recall), though many commenters who supported Sun in that case now seem to
support Google in this one.

------
smrtinsert
Why didn't Google just buy Java, way to drop the ball.

~~~
warmwaffles
Didn't have a big enough stake in it to justify the purchase of Sun. Oracle
however, did have a lot riding on Java succeeding and removing the Sun
Hardware division as a competitor.

~~~
fauigerzigerk
The Sun hardware division wasn't competing with Oracle at the time. I think
they bought Sun because they thought it made sense to sell software + hardware
and because they didn't want IBM to have Java.

If Larry Ellison hadn't underestimated the cloud trend, the takeover probably
wouldn't have happened. Oracle has been very successful with its M&A
activities, but this one is clearly a complete desaster.

------
brown9-2
While Oracle is hard to sympathize with, the actual article never elaborates
on it's inflammatory statement as how "developer freedom" is at stake (or what
that phrase even means).

~~~
delinka
I can't tell if this is criticism alone, or if you're also asking the
question. It seems these articles and discussions assume that the reader is
all-knowing when it comes to the IP issues developers could face in their
careers. Allow me to attempt to fill in the gaps.

When you write code, in the U.S. you hold a copyright to it at the moment you
put the characters onto disk. In the case of work-for-hire (i.e. you are
employed as a software author by your company), the company holds that
copyright. No one else has permission to use, copy or distribute the software
without the express permission of the copyright owner. Licenses are the
mechanism used to bestow rights upon other users (or, in the case of Open
Source Software, potentially other developers) of the software.

Switch gears a bit: other companies (vendors) providing interesting systems
(those that you or your company are interested in using) also provide
information on how to interoperate with their systems and libraries. When
using the C family of languages, this information is provided in a machine-
readable format known as a "header" - the header file is source code that
describes the procedures made available inside the vendor's code libraries.
You include this header in your own project so the compiler can validate that
you're calling the library code correctly. They've given you a binary library
and not the source to the library to help in protecting their rights to their
original code.

Now, after years of offering a particular product on the market, a vendor
(Vendor A) decides to discontinue offering this particular product regardless
of the fact there are numerous client who still use this product and are
willing to continue to pay for support. They are not willing, for whatever
reasons, to completely overhaul their own systems and incur the immense
expense in changing to this vendor's completely new and different product.

Company B steps in offering an _interoperable_ replacement to that old system
that's been discontinued by Vendor A. Company B created a completely legal
replacement for this system because they did not use Vendor A's source code.
They created a "clean room" implementation of the system. As far as the
client's systems are concerned, the interfaces into Company B's solution look
exactly like Vendor A's system, to the clients network, employees and
customers carry on with business as usual.

Courts have ruled that creating systems for such interoperability is legal and
necessary. Without such recognition, vendors have the opportunity to lock
their customers into the vendor's products. Interoperability is defined by
interfaces to systems and libraries. The interface into a library is an
Application Programming Interface, or API. The API has pretty much been
declared to not be of the expressive type required to obtain copyright
protection. If API's become completely protectable by copyright (and thus
require a license to use), companies can then limit the ability for others to
provide interoperable systems thus limiting competition. In this case, the
legal freedom of developers to create tools and apps _around_ an existing
system is severely limited and perhaps even eliminated, regardless of the fact
that these developers didn't use any code from the vendor in the process.

------
bdunbar
If Oracle gets heavy handed with Java ... doesn't that just mean it's time to
use something else?

Am I missing something?

~~~
salmanapk
What Java alternatives do we have other than Mono/C#?

~~~
jrockway
All the other programming languages. What makes C# and Java particularly
special?

~~~
djhworld
Huge communities, vast library ecosystem, widely taught, used a lot in
industry

------
tosh
Dart as a long-term replacement for Java anyone :)

~~~
GhotiFish
I don't agree.

I'm fine if dart kills javascript. What it's made to do.

I'd also be fine if go/python/befunge kills java.

------
kunai
The future of Java went downhill as soon as Oracle bought Sun.

I miss Sun. Dearly. They were perhaps the only major IT company with a true
heart.

And now there's none left. Google? Hell no.

------
fruit
oh god how could this happen

im so surprised

------
znowi
I see Oracle as cancer of the corporate world. An old dinosaur who happened to
slog into 2013. The new generation of young and socially responsible will
hopefully put an end to their kind.

