Understanding through Discussion


Welcome! You are not logged in. [ Login ]
EvC Forum active members: 83 (8942 total)
39 online now:
Diomedes, Heathen, jar, JonF, PaulK (5 members, 34 visitors)
Chatting now:  Chat room empty
Newest Member: John Sullivan
Upcoming Birthdays: Anish
Post Volume: Total: 863,369 Year: 18,405/19,786 Month: 825/1,705 Week: 77/518 Day: 3/74 Hour: 2/1


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Author Topic:   Oracle Wins Ruling Against Google Over Java APIs
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 1 of 62 (830382)
03-28-2018 8:44 AM


What?

Can the APIs of free and open source software be copyrighted? Patented? If a company (say, Oracle) gives a programming system away for free (say, Java), can they later say to another company (say, Google), "Hey, yeah it's free, but we didn't intend you to use it that way, so for you it's not free." If Google creates Android (which is also free) on top of Java (which, remember, is free and open), can Oracle claim Google made money on it and sue Google for, oh, say, $8.8 billion?

Today the answer to that last question is yes, see Google Could Owe Oracle $8.8 Billion in Android Fight.

Things I said above that I'm now not sure about are whether Java is free and open. For instance, there's this little tidbit from the 2012 (this has been going on for a while) article Oracle v. Google: The bewildering Java trial explained:

quote:
Second, Google gives its Android operating system away for free: it’s not selling Android, so it’s not unjustly enriching itself by essentially redistributing copyrighted material — remember, we’re still assuming APIs are copyrightable, which hasn’t been determined.

Oracle, of course, begs to differ. While the company agrees Java is a free language and anyone can use it, Oracle contends that if people want to assert that their applications are Java-compatible, they need to license a certification suite. Sure, anyone can use Java, but, basically, if they want to put the Java coffee-cup logo on their product, they need to pay Oracle.


So if I want Oracle certification that my Java application is true Java and want to put a Java coffee-cup logo on my product, I have to go through an Oracle certification process and pay Oracle. I don't know why I, or anybody, would want to do that? Does the Oracle coffee-cup logo as a marketing tool have any cachet? Got me. Here it is for anyone who's not sure what it is:

And does Android include the Java coffee cup on their platform? Anyone have an Android phone? I'm betting the Java coffee cup logo is nowhere to be found, and my reasoning is that Android doesn't use Oracle's version of the Java libraries. They implemented their own version of these libraries, but they used the same API. For those unfamiliar with software and for reasons known only to themselves have read this far, an API is an Application Programming Interface, which just means formal definitions of the routine calls of the library. For instance, one infringed API library routine was rangeCheck, and the routine looks like this:

private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}

But all anyone using the library's rangeCheck routine needs to know is that first line, which tells them how to call it:

private static void rangeCheck(int arrayLen, int fromIndex, int toIndex)

An actual call to the routine might look like this (I put fake code before the call):

...
int subRangeStart = genX(generations, softForm);
int subRangeEnd = genX(generations, hardForm);
rangeCheck(generations.length, subRangeStart, subRangeEnd);
...

There's no return value from the rangeCheck routine because it throws an exception when any part of the range is out of bounds.

So what Google did was implement their own version of the library using Java's API. Google's version of the rangeCheck routine happened to be identical to Oracle's version. How could this happen? Well, they were written by the same person. The guy at Sun Microsystems (Java's creator) who wrote the rangeCheck routine was later hired by Google and wrote the same routine. He conceded in court testimony that he might have copied from his Sun version, but didn't really remember (very believable for anyone writing hundreds of thousands of lines of code). On the other hand, a range checking function is so simple and basic that there aren't a lot of different ways to write it. Many has been the time that I've forgotten I already wrote some simple checking function years ago, only later to discover it on some subsequent coding expedition - invariably the two versions, written years apart, are virtually identical, right down to the variable names. And some variable names are so common that everyone uses them, like "fromIndex" and "toIndex".

But that 9-line routine was the only one in Google's version of the library that appeared copied from Oracle's, and that's a very minor infringement worth about $150,000 according to one source. So Oracle doesn't care about that.
What Oracle cares about is Google's use of the API definition. Oracle is charging that Google had no right to the APIs definition (the names of the routines and the routines arguments and return values) without paying Oracle. Google may have reimplemented 99.99% of the library from scratch, but the fact that they used the API definition was infringement of copyright.

To me this is patently absurd. How can one copyright a routine call - not even the routine itself, just the call? Or even a set of calls that constitute a library? If I want to create my own version of the library to do the same thing, am I required to make up my own names and arguments? I can't, for example, call my range checking routine rangeCheck? That's absurd - that's what everyone calls their range check routine. Or I can't apportion my required behavior into the same sets of routines? That, too, is absurd, because usually the library's purpose governs what routines are needed, and the functions of the routines often strongly influence the names chosen, as well as the routine arguments. I'm overstating this a bit - everyone implements things differently, but common requirements often drive similar approaches and solutions, and in the case of a simple range checking routine identicality would not be conclusive evidence of copying (the Google case is different since the same person wrote both routines and he testified that he could have copied it).

The key question is whether you can copyright an API. Yesterday an appeals court said yes you can. This would have profound implications for the software industry. I predict Google will appeal, perhaps first to the full appellate court, perhaps directly to the Supreme Court, but in any eventually to the Supreme Court. I predict a great many amicus curiae briefs will be filed.

--Percy


Replies to this message:
 Message 2 by PaulK, posted 03-28-2018 9:09 AM Percy has responded
 Message 3 by Modulous, posted 03-28-2018 4:37 PM Percy has acknowledged this reply
 Message 36 by Hyroglyphx, posted 03-08-2019 1:00 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 6 of 62 (830421)
03-28-2018 8:12 PM
Reply to: Message 2 by PaulK
03-28-2018 9:09 AM


PaulK writes:

I am going to disagree with a couple of things.

First, Free and Open Source software often relies on copyright law. The whole idea of “Copyleft” would fall apart without is since the license would be unenforceable.

We don't disagree on this.

Second Java is a trademark and it is not unreasonable that Sun - and now Oracle -should put restrictions on the use of it.

I don't think we disagree on this either. My concern wasn't trademark but copyrighting an API.

That is the way that Sun fought off Microsoft’s “embrace and extend” attempt to take over Java.

Rather than "trademark" did you mean the Java license, which checking at Wikipedia I see is now the GNU General Public License? Would Google really care whether they could use the Java trademark?

My career was spent on DecSystem10/20 then VMS then Unix then Linux writing specialized application software, so the Microsoft antitrust affair never blipped on my radar. I'd never heard of "embrace and extend" before, but looking it up now I see a variant is "embrace, extend and extinguish." That's pretty funny. I actually feel like I was exposed to a corner of this with JavaScript. The industry went one way with JS, Microsoft went another, and we're still somewhat dealing with the fallout. Many developers receive little exposure to the differences because they use a library like jQuery. Not that jQuery doesn't do some pretty wifty things for you, but I'd already created my own little software layer before libraries like jQuery came on the scene, so I still use plain old JS.

Third, the claims that Java is free and open are not really true. Neither Sun nor Oracle were really open to alternative implementations, excepting the OpenJDK Group. Sun never made good on that part of the original promise.

Obviously I'm not a Java-familiar person, I'm just now reading a few Wikipedia paragraphs about it here and there. I see there's a Java ME about which Wikipedia says:

quote:
Oracle provides a reference implementation of the specification, but has tended not to provide free binary implementations of its Java ME runtime environment for mobile devices, rather relying on third parties to provide their own.

So if Google could get the Java ME reference implementation under the GNU General Public License for free, then am I right that using that wouldn't have cost them a cent? If that's true, then how does implementing their own version mean they owe Oracle $8.8 billion?

Intellectual property is a confusing concept, especially with software. Sometimes it's obvious. I worked for a company where a while back a startup began competing brutally successfully head-to-head against us, and we couldn't understand how that could be. Then one day an engineer from our company was at a customer site tracking down a bug in our software, and the customer also had an installation of the startup's product. The customer was happy to give him a demo of the startup's offering, and he used the same design that was giving our software a problem, and strangely the startup's software exhibited the same bug. Turns out an employee of our company had walked out our doors and through the startup's doors with a tape containing all our code for that product. So that's obvious intellectual property theft. But anything less obvious than that becomes vague and diffuse for me, like this copyrighted API thing with Oracle and Google.

--Percy


This message is a reply to:
 Message 2 by PaulK, posted 03-28-2018 9:09 AM PaulK has responded

Replies to this message:
 Message 7 by PaulK, posted 03-29-2018 12:16 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 8 of 62 (830434)
03-29-2018 9:49 AM
Reply to: Message 7 by PaulK
03-29-2018 12:16 AM


PaulK writes:

quote:

So if Google could get the Java ME reference implementation under the GNU General Public License for free, then am I right that using that wouldn't have cost them a cent? If that's true, then how does implementing their own version mean they owe Oracle $8.8 billion?

The Mobile Edition was too limited for a modern smartphone (in those days the dominant platform was Windows Mobile - which rather quickly disappeared once the iPhone and imitators came along)

So then aren't questions along the lines of the one I asked the key questions, like if at the time neither Java SE or ME were ready for prime time on mobile platforms that Google had no choice but to do it themselves? And shouldn't Google be lauded rather than penalized for doing it in a compatible way by implementing the 37 APIs according to the standard? Or maybe the APIs aren't part of the standard?

Modulous quoted from the Oracle America v. Google ruling (this part of my message is in effect a reply to Mod's Message 3), and I'm going to requote the part that seems most pertinent:

quote:
Although Google could have furthered copyright’s goals of promoting creative expression and innovation by developing its own APIs, or by licensing Oracle’s APIs for use in developing a new platform,...

This implies that Google failed to license the Oracle APIs. I can see how this is possible. This is from the Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX:

quote:
The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement.

So Oracle clearly excludes mobile platforms from its standard licensing agreements, but this is how the agreement reads today. How did it read in 2006 or whatever is the right year, before Oracle acquired Sun and Java was owned by Sun?

quote:
There is nothing fair about taking a copyrighted work verbatim and using it for the same purpose and function as the original in a competing platform.

I thought Oracle had no competitive offering in the mobile space at the time.

As I write this message I've been poking around on the Internet learning what I can, and I think I just found the answer at Oracle finally targets Java non-payers – six years after plucking Sun. Oracle now has a License Management Services division, and they're tracking companies down and making them pay. Bottom line: important pieces of Java are not free. If you're making money off of software written in Java then Oracle wants a piece of you. It's possible to implement Java applications and sell them without owing Oracle money, but Oracle doesn't make it easy. They've got a great bait and switch here. Hey, Java's free, it's under the GNU General Public License, but oh by the way, and we won't tell you up front you'll only find out later, if you want to do anything interesting that'll cost ya.

I bet at least 9 out of 10 software developers if asked, "Is Java free," would answer yes. Oracle has created a huge false impression out there. Sun's original emphasis was on Java being truly open and free so as to employ it as the thin end of their software penetration strategies. Oracle acquired Sun in 2009 and has done little if anything to alter the impression that Java is open and free. Sure it's open and free if I download the SDK and write my own little programs for personal use, but if I implement and sell some application and am not extremely careful about what bits of Java I use, then technically I'll owe Oracle money. And if my application is successful enough then Oracle's License Management Services division will hunt me down and bill me.

Bottom line: Java ain't open and free, but I think the impression that it is has gone a long way toward making it as popular as it is today. And Google might actually owe Oracle big time (though it seems like the evolving licensing agreement over time from Sun's version to Oracle's current version should be a significant consideration), but I won't be sure of my opinion until I read the entire ruling, which I haven't had a chance to do yet.

--Percy


This message is a reply to:
 Message 7 by PaulK, posted 03-29-2018 12:16 AM PaulK has not yet responded

Replies to this message:
 Message 9 by NoNukes, posted 04-04-2018 2:03 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 10 of 62 (830673)
04-04-2018 6:29 PM
Reply to: Message 9 by NoNukes
04-04-2018 2:03 AM


NoNukes writes:

For 99 out of 100 software developers, Java is free. It cost nothing to use, they can deploy it on any workstation they want without any charge or requesting any permission, and they can write their applications using it, and running on top of the virtual machine without paying a cent.

Do "99 out of 100 software developers" who ship actual product use OpenJDK? Because that's the only one that's guaranteed free. I did try to answer this myself but couldn't find a search that provided any answers.

But the article I cited before, Oracle finally targets Java non-payers – six years after plucking Sun, makes it seem like using Java SE for free is becoming more and more difficult. Just for a couple examples (the article mentions a number of them):

quote:
The term "general purpose" computing is too loosely defined, allowing Oracle to claim customers' applications are specialised and therefore ding them with invoices.
...
For example, if you want to roll out Java SE in a big deployment, as you would following the development of your app, you’ll need Microsoft Windows Installer Enterprise JRE Installer – and that’s not part of the free Java SE.

I don't know enough about Java to know whether it would be important to companies that make money writing and selling software to have enterprise editions of Java (i.e., Java SE). Maybe OpenJDK is fine for most developers, maybe not, I just can't say. But since Oracle continues to increase staffing in their LMS department, clearly they see use of non-free portions of Java SE to be on the rise. It's in their own best interests to slowly (to minimize blowback) marginalize OpenJDK for commercial development, and that's what I think will happen.

The set of programmers who need to do stuff that Oracle does not allow is a pretty small percentage. I would suggest that a license that allows that, and that is not hidden from anyone is not in the least deceptive.

This is from Java SE General FAQs at the Oracle website:

quote:
Is Java still free?
The current version of Java - Java SE 9 as well as Java SE 8 - is free and available for redistribution for general purpose computing. Java SE continues to be available under the Oracle Binary Code License (BCL) free of charge. JRE use for embedded devices or use of commercial features may require a license fee from Oracle. Read more about embedded use of Java SE or contact your local Oracle sales representative to obtain a license.

Ignoring the "embedded devices" portion that they've been clear about since the beginning, since Java SE (meaning the Oracle binary distribution) is the one that Oracle's License Management Services division is "chasing down people for payment," and since "general purpose" is vaguely defined and ultimately up to what the LMS division says it is, this doesn't seem misleading to you?

Regarding the Google suit, I still don't understand how Oracle can take the position they do, let alone have the judge buy it, especially given that when Google began their effort the licensing that was in place now did not exist, and Oracle didn't have the necessary software support. Oracle was still operating under the original Sun licensing language.

Android does not use the standard "class" files that Oracle freely allows. Instead, there is some kind of "dex" format that Google created for technical reasons related to deployment on mobile platforms.

I can't tell what you're saying here. Class files are source. Dex files are compiled Java on Android.

If Google had not done that, they would not be in violation of the license,...

But the violation of the license had to do with the API, not internal file formats.

Most software developers that I discussed this stuff with back in the 90s felt that API copyrights were total BS. But the Supreme Court never said so, and in fact, the closest thing to a precedential decision on interface copyrights is a 4-4 split decision, (Lotus v. Borland I believe) which left in place an appellate decision that APIs were not copyrightable. And of course, by being a 4-4 decision, it is not precedential at all.

Looked up Lotus v. Borland - very interesting. Found a somewhat alarmist article about the API mess: EFF Asks the Federal Circuit to Fix its Terrible API Copyright Decision

--Percy


This message is a reply to:
 Message 9 by NoNukes, posted 04-04-2018 2:03 AM NoNukes has responded

Replies to this message:
 Message 11 by NoNukes, posted 04-05-2018 4:53 PM Percy has responded
 Message 16 by Son Goku, posted 04-11-2018 2:53 PM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 12 of 62 (830822)
04-07-2018 6:36 PM
Reply to: Message 11 by NoNukes
04-05-2018 4:53 PM


NoNukes writes:

999 out of 1000 folks who ship Java products ship their own code compiled against the SDK provided by Oracle.

Right, but Oracle provides two SDKs: OpenJDK (free) and Java SE (sometimes free, sometimes not, it all depends on what Oracle's LMS division thinks). What's the breakdown between the two? I couldn't find it myself. But as I said before, since Oracle is ramping up their LMS division it must be that they feel they're missing revenue opportunities for Java SE, so use by developers must be enough to justify Oracle's efforts to collect revenue.

There are no license issues unless you want to ship a modified run-time environment or modified libraries. Essentially nobody does that kind of modification.

I'm concerned about the degree to which software companies are being unexpectedly billed by LMS, whether it's a license issue or something else.

Ignoring the "embedded devices" portion that they've been clear about since the beginning, since Java SE (meaning the Oracle binary distribution) is the one that Oracle's License Management Services division is "chasing down people for payment," and since "general purpose" is vaguely defined and ultimately up to what the LMS division says it is, this doesn't seem misleading to you?

I don't think so. Has Oracle sued or complained about anybody who is on the vague borderline of "general purpose"?

I don't know if Oracle is suing or complaining. What the article Oracle finally targets Java non-payers – six years after plucking Sun says is that LMS is billing companies. Are you asking because you've read that article and don't think what it describes makes it sound like Oracle is making it less than clear what they're charging for and what they're not?

--Percy


This message is a reply to:
 Message 11 by NoNukes, posted 04-05-2018 4:53 PM NoNukes has responded

Replies to this message:
 Message 13 by NoNukes, posted 04-07-2018 6:54 PM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 14 of 62 (831030)
04-11-2018 11:16 AM
Reply to: Message 13 by NoNukes
04-07-2018 6:54 PM


I'm trying to understand how you're reaching your conclusions. If I were to argue your position using the provided information I would be be reduced to, "There's nothing misleading about the Java SE license because...someone on the Internet told me so."

Here's an example. Someone writes and distributes a general purpose app called APP that includes a feature permitting the end user to purchase APP+. LMS has decided that makes APP not general purpose and that Oracle is owed money. Where is that made clear in the Java SE license?

--Percy


This message is a reply to:
 Message 13 by NoNukes, posted 04-07-2018 6:54 PM NoNukes has responded

Replies to this message:
 Message 15 by NoNukes, posted 04-11-2018 1:57 PM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 19 of 62 (831092)
04-11-2018 9:33 PM
Reply to: Message 15 by NoNukes
04-11-2018 1:57 PM


NoNukes writes:

I'm trying to understand how you're reaching your conclusions. If I were to argue your position using the provided information I would be be reduced to, "There's nothing misleading about the Java SE license because...someone on the Internet told me so."

That is not my position.

It's not your position that there's nothing misleading about the Java SE license? Those were almost your exact words in your Message 13: "I don't think there is anything misleading about the license on Java SE."

My position is that the terms of the license for SE, which is that it is free except for embedded applications and for those portions that are designated as "Commercial feature" are readily available. I did not ask anyone, I read those terms on Oracle's web page.

Why would I think you asked anyone? Anyway, that wasn't the issue I was wondering about.

Anyone, even you can find those terms with just the slightest bit of effort.

Making sure we're looking at the same thing, here's a link to the license: Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX.

I am not repeating anything that somebody told me. Your claim is erroneous.

Oh, I see why you're so ticked off - what I wrote was misunderstood. I wrote that were I to argue your position using the provided information I would be be reduced to, "There's nothing misleading about the Java SE license because...someone on the Internet told me so." What's in quotes is me trying to explain to some random person why the Java SE license isn't misleading, and you're the someone I'm referring to. In other words, I don't yet understand how you've concluded that the license isn't misleading, to the point where I could by no means explain it to anyone else.

But you cannot rely on the words "general purpose" to give you all of the details.

You don't quote it, but I think this is about the example I posed. Repeating it for context, someone writes and distributes a general purpose app called APP that includes a feature permitting the end user to purchase APP+. LMS has decided that makes APP not general purpose and that Oracle is owed money. Where is that made clear in the Java SE license?

You are going to have to look at the details.

Assuming the link I provided above is correct, where are the details that make clear that permitting the end user of APP to use it to purchase APP+ makes APP not a general purpose program?

Sorry about the misunderstanding.

--Percy


This message is a reply to:
 Message 15 by NoNukes, posted 04-11-2018 1:57 PM NoNukes has not yet responded

Replies to this message:
 Message 21 by PaulK, posted 04-12-2018 12:50 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 20 of 62 (831093)
04-11-2018 9:42 PM
Reply to: Message 16 by Son Goku
04-11-2018 2:53 PM


Son Goku writes:

I can't tell what you're saying here. Class files are source. Dex files are compiled Java on Android.

If it's any help, I think NoNukes is referring to the .class files, compiled from the source .java files. The .class files then contain the JVM bytecode.

Yep, that helps, thanks. I'm not a Java guy and assumed the reference to class files meant files of class declarations.

--Percy


This message is a reply to:
 Message 16 by Son Goku, posted 04-11-2018 2:53 PM Son Goku has not yet responded

Replies to this message:
 Message 25 by NoNukes, posted 04-12-2018 12:45 PM Percy has acknowledged this reply

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 22 of 62 (831113)
04-12-2018 7:57 AM
Reply to: Message 21 by PaulK
04-12-2018 12:50 AM


PaulK writes:

The only use of “general purpose” I can find in the license refers to computers, not to applications. So I don’t see how it justifies your example.

For context here's my example again: Someone writes and distributes a general purpose app called APP that includes a feature permitting the end user to purchase APP+. LMS has decided that makes APP not general purpose and that Oracle is owed money.

It isn't entirely my example. It's constructed from information provided in the article Oracle finally targets Java non-payers – six years after plucking Sun:

quote:
The moment you start to deliver something that lets end users obtain products and services after your Java SE app has been distributed, your software stops being general purpose – and that’s something more organisations are using such apps for.

So extending your argument, if the license agreement doesn't define general purpose programs, only general purpose computers, how can their LMS (License Management Services) division decide that some program is not general purpose (something not defined in the license agreement) and that on that basis Oracle is owed money.

The example you quoted earlier involved using software distributed in the same package as the Java SDK - but wasn’t covered by the license, which is a different issue.

I'm not following - why isn't the software in the example covered by the license? Or are you referring to a different example in an earlier message? If you're referring to the current example then LMS sure thinks it is covered by the license. Are we maybe looking at the wrong license? I'm looking at Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX.

Oracle is, I think, being a bit less clear than they should be about what is covered but that isn’t the same as your complaint.

Yes, I agree that Oracle is being "a bit less clear than they should be," to the point of being misleading and even beyond that. I think someone challenging the LMS "that's not a general purpose program" claims in court along the lines of my example (in other words, claims based on what the program does rather than on whether it uses any commercial portions of the Java distribution) would have a good chance of winning.

--Percy

Edited by Percy, : Fix link.


This message is a reply to:
 Message 21 by PaulK, posted 04-12-2018 12:50 AM PaulK has responded

Replies to this message:
 Message 23 by PaulK, posted 04-12-2018 8:15 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 24 of 62 (831117)
04-12-2018 9:03 AM
Reply to: Message 23 by PaulK
04-12-2018 8:15 AM


PaulK writes:

The article is a bit vague, but it seems to agree with what I said, although perhaps it, too is less clear than it should be.

Actually, I thought the parts you quoted were pretty clear, and the article was also clear that the Java license was clear on these points, instead stressing how easy it was to go astray, for instance by enabling features during development that aren't used in the final product but which no one remembers to turn off.

It was actually this part I was concerned about, and I thought it was pretty clear, too:

quote:
The moment you start to deliver something that lets end users obtain products and services after your Java SE app has been distributed, your software stops being general purpose – and that’s something more organisations are using such apps for.

And you comment on it:

It does make the assertion that selling extra services through a Java application is somehow charged for, but the justification isn’t clearly explained. It surely doesn’t turn an ordinary desktop PC into any of the dedicated devices they describe.

Right. That's why I at first called the Java license misleading. After going back and forth a bit with NoNukes on this I've looked at the license a couple additional times, and now I'd strengthen my statement by saying that this scenario is definitely not ruled out by license agreement, and Oracle has no right to bill Java users for it. I think such customers would win in court, so Oracle would want to avoid court challenges. That might explain why in a case described in the article the amount Oracle charged was reduced from $100,000 to $30,000. For $100,000 a company might go to court, but for $30,000 they might just pay it.

--Percy


This message is a reply to:
 Message 23 by PaulK, posted 04-12-2018 8:15 AM PaulK has responded

Replies to this message:
 Message 26 by PaulK, posted 04-12-2018 1:30 PM Percy has acknowledged this reply

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 27 of 62 (849329)
03-06-2019 9:03 AM


Oracle Further Monetizing Java
This Oracle announcement states that Java will be free for personal use through "at least the end of 2020," but starting this year corporate customers will have to purchase a license. For them no part of Java will be free. I couldn't find definitive cost details online. I found articles, but no consistent picture emerged.

My guess is that end users will never be asked to pay for Java, because it would be too big a discouragement from purchasing products that use Java and would gradually kill Java off. Substitutes would rush to fill the space, perhaps a version of Swift.

--Percy


Replies to this message:
 Message 28 by PaulK, posted 03-06-2019 9:32 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 29 of 62 (849345)
03-06-2019 7:58 PM
Reply to: Message 28 by PaulK
03-06-2019 9:32 AM


Re: Oracle Further Monetizing Java
Oracle seems intent on monetizing Java. Any effort they spend on OpenJDK is, in effect, working at cross purposes against themselves. Why would they do that? In fact, hasn't Oracle already stopped supporting OpenJDK: The future of Java and OpenJDK updates without Oracle support

It seems to me (though poking about the web I sense little agreement with me) that Oracle plans to turn OpenJDK into a poor stepchild that over time will gradually diverge significantly from their own Java in both quality and capability. Is the Java community, though huge, sufficiently manned to maintain OpenJDK as a robust alternative? Maybe. Red Hat seemed determined, but they've been bought by IBM, so who knows.

I know you know much more about Java than I do, but my opinion is based not on Java specific things but on what happens when big companies are determined to make money on something. Oracle is avoiding being overtly malicious toward the Java community, but their intent and determination seem clear to me.

--Percy


This message is a reply to:
 Message 28 by PaulK, posted 03-06-2019 9:32 AM PaulK has responded

Replies to this message:
 Message 30 by PaulK, posted 03-07-2019 12:20 AM Percy has acknowledged this reply

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 32 of 62 (849390)
03-07-2019 4:20 PM
Reply to: Message 31 by PaulK
03-07-2019 11:58 AM


Re: Oracle Further Monetizing Java
I don't know if perhaps there's a great deal of information in that article that I'm not picking up on because of my lack of familiarity with the variety of providers of JDKs, but to me it seemed to be saying that there's a significant break in continuity at Java 9, which Oracle acknowledges "did break some things" and "The way the JDK was structured prior to Java 9 was just unmaintainable."

Since I don't work in a community of Java developers and can't soak up background information, I have to get all my information from reading webpages. What I'm finding is pretty confusing. Some webpages imply that OpenJDK isn't following Oracle to Java 9 and beyond, other webpages imply that it is. I don't know what to think.

Azul Systems seems be be saying that they're stuck at Java 8. As near as I can gather they make their money by selling enterprise versions of their free stuff, but I don't see how they can keep up with Oracle. Unless their Enterprise OpenJDK is significantly cheaper, why not buy Oracle's? And if it is significantly cheaper then how can they make enough money to support the development effort? Azul Systems has had $200 million in VC funding so far, so investors must be pretty confident it has a solid future, but I just don't see it myself.

OpenJDK's based on Java 8 are being maintained just fine, and people whose only confusion is which provider to purchase OpenJDK from are very fortunate. For myself, I've found more profound ways to be confused. What I interpret Oracle as saying is that they took the JDK for Java 9 in a new direction because they wanted to introduce changes incompatible with the Java 8 JDK. Oracle is now up to Java 11. I get the impression that it will take a concerted effort for OpenJDK to cross the hump from Java 8 to Java 9 and beyond, but like I said, some stuff on the web (like at java.net) implies they have crossed that hump. Again, I don't know what to think.

But what does seem clear is that despite all the noise Oracle makes about supporting OpenJDK into the future, tney have managed to create a significant break at the Java 8/9 boundary. For example, the top of this webpage at Azul Systems has a count-up clock of how long it's been since the last free Oracle Java 8 update: Download Zulu® tested, certified builds of OpenJDK. I lack the necessary background to be sure I understand the significance, maybe this is just Azul Systems scaremongering, but it doesn't sound good. It makes it sound like anyone who wants those post Java 8 features mentioned in that article you linked to is going to have to pay Oracle for them because no OpenJDK version out there will have them anytime soon.

--Percy


This message is a reply to:
 Message 31 by PaulK, posted 03-07-2019 11:58 AM PaulK has responded

Replies to this message:
 Message 33 by PaulK, posted 03-07-2019 4:57 PM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 34 of 62 (849393)
03-07-2019 5:22 PM
Reply to: Message 33 by PaulK
03-07-2019 4:57 PM


Re: Oracle Further Monetizing Java
PaulK writes:

There is no need to buy OpenJDK - it’s a free download. Even the OpenJDK builds from Azul are advertised as free with no restrictions, and I don’t see any reason to disbelieve them.

I don't disbelieve them. My concern is that they can't make enough money selling enterprise versions to stay in business. If they and Oracle are both charging for basically the same thing, how will they outcompete Oracle?

OpenJDK is currently supported up to Java 11 and Java 12 is coming (9 and 10 are out of support). The Azul page you link to mentions OpenJDK Java 11, too.

For me this is just more confusion. That part of the page doesn't actually say OpenJDK but OpenJFX, and I don't know what OpenJFX is. Following the link took me to a page that assumes you already know what OpenJFX is. I could look it up further, but I've had my fill of unfulfilling research into Java today.

The Azul counter is not just a scare tactic. Oracle ended free support for commercial users of Java 8 in January (personal users still get support until the end of next year). Since Azul make money from selling support to commercial users Zulu Enterprise it is advertising, but it isn’t false.

I didn't think it was false, but look at the wording: "Days since the last free Oracle Java 8 update - what's your plan?" It implies some urgency. I'd translate it as, "Oracle isn't providing free Java 8 updates anymore, so you better figure out what you're going to do."

Why would the lack of free updates push Azul Systems customers toward their enterprise edition?

--Percy


This message is a reply to:
 Message 33 by PaulK, posted 03-07-2019 4:57 PM PaulK has responded

Replies to this message:
 Message 35 by PaulK, posted 03-08-2019 12:12 AM Percy has responded

    
Percy
Member
Posts: 18868
From: New Hampshire
Joined: 12-23-2000
Member Rating: 2.4


Message 37 of 62 (849414)
03-08-2019 9:49 AM
Reply to: Message 35 by PaulK
03-08-2019 12:12 AM


Re: Oracle Further Monetizing Java
PaulK writes:

quote:

I don't disbelieve them. My concern is that they can't make enough money selling enterprise versions to stay in business. If they and Oracle are both charging for basically the same thing, how will they outcompete Oracle?


They are still supporting Java 8. They aren’t charging for the JDK - and they are supporting that one, not Oracle’s. They aren’t Oracle. They have other products (e.g. the Zing JVM) that they do charge for.

But it's all still frameworks for getting your Java-based product out to customers. I'm wondering why, if you're going to pay for something, you would buy it from Azul instead of Oracle? Is there some value added that Azul provides that Oracle doesn't? Is their price significantly lower (in which case can they still make a profit?)?

I don't know what "Zing JVM" is, but why would someone buy it from Azul instead of the equivalent from Oracle?

PaulK writes:

Percy writes:

PaulK writes:

Percy writes:

For example, the top of this webpage at Azul Systems has a count-up clock of how long it's been since the last free Oracle Java 8 update: Download Zulu® tested, certified builds of OpenJDK.

The Azul page you link to mentions OpenJDK Java 11, too.

That part of the page doesn't actually say OpenJDK but OpenJFX,...

That certainly isn’t what I see. I see the home page for OpenJDK, with OpenJFX only one link near the bottom of a very long list of links.

You must be looking at a different webpage. Click on the link in the nested quotes above. Search for the string "11", which occurs in just one place and only in reference to the OpenJFX builds for OpenJDK 8 and 11. I don't know what OpenJFX is.

But in looking at that page again I see that it does mention builds of OpenJDK 12, which implies that builds of earlier versions of OpenJDK like 11 and 10 must exist, too. This is a prime example of why I find this so confusing, because another webpage talks about how JDK had to be reconfigured going forward to Java 9 but that they broke some things, implying (but not explicitly stating) that others (like Azul) wouldn't be able to implement their own versions beyond 8. But obviously they *were* able to build their own versions. How? Did they implement so as to be broken in the same way? Did they fix the things that were broken, which I'm betting they couldn't do since they were probably architectural rather than code bugs?

If there are non-Oracle OpenJDK builds of Java 9 and up that are just fine, then why does a good portion of the Java community feel it imprudent to go beyond Java 8? It feels to me that it must have something to do with the things that Oracle admits they broke in the JDK at Java 9.

quote:

I didn't think it was false, but look at the wording: "Days since the last free Oracle Java 8 update - what's your plan?" It implies some urgency. I'd translate it as, "Oracle isn't providing free Java 8 updates anymore, so you better figure out what you're going to do."

Why would the lack of free updates push Azul Systems customers toward their enterprise edition?


Because OpenJDK Java 8 is still supported, and Azul’s Enterprise support packages provide even stronger support. Including out-of-band updates.

I don't know what "out-of-band updates" and hence also don't understand why they'd be an incentive to purchase Azul's enterprise products.

Don't feel like you have to be the one to bring my Java understanding up to speed. I have no plans to implement anything in Java. I used a JDK (probably OpenJDK, but I don't recall) a couple of times maybe 4 and 7 years ago, but only to help me understand Java.

Interestingly, it is Java 8 from Oracle installed on my Windows machine. Updates occur automatically, the most recent earlier this week. If Oracle is up to Java 11, why is the default for Windows to install Java 8? Is it because most Java software out there isn't compatible with Java 9 and above? I see problems down the road.

Right now I'm merely sounding the warning that Oracle is acting like they want to avoid alarming the larger Java community while at the same time turning Java into a significant profit center. The Java community seems to recognize the potential threat while believing everything will be fine. I don't share their optimism.

--Percy


This message is a reply to:
 Message 35 by PaulK, posted 03-08-2019 12:12 AM PaulK has responded

Replies to this message:
 Message 39 by PaulK, posted 03-08-2019 10:30 AM Percy has responded

    
Newer Topic | Older Topic
Jump to:


Copyright 2001-2018 by EvC Forum, All Rights Reserved

™ Version 4.0 Beta
Innovative software from Qwixotic © 2019