|
Register | Sign In |
|
QuickSearch
Thread ▼ Details |
|
Thread Info
|
|
|
Author | Topic: Oracle Wins Ruling Against Google Over Java APIs | |||||||||||||||||||||||||||||||||||||||||||
Son Goku Inactive Member
|
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.
Instead, there is some kind of "dex" format that Google created for technical reasons related to deployment on mobile platforms.
Basically the standard JVM is a stack-based machine, so it is quite abstracted from the underlying hardware. Dalvik on older Android systems was a register-based machine and hence closer in operation to the underlying hardware, so it was more efficient. The bytecode has to be different, since it is a different machine, hence the different file type. Dalvik itself has been replaced by the Android Runtime, which is essentially an even more modified JVM that keeps the APIs in Dex format, but the actual method bodies are compiled into native code that is linked into the VM.
|
|||||||||||||||||||||||||||||||||||||||||||
NoNukes Inactive Member |
If it's any help, I think NoNukes is referring to the .class files, compiled from the source .java files. Yep. That is exactly right.
The bytecode has to be different, since it is a different machine, hence the different file type. Nicely explained. I was trying to avoid going into the technical reasons, but you did a great job here. Under a government which imprisons any unjustly, the true place for a just man is also in prison. Thoreau: Civil Disobedience (1846) "Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore. Send these, the homeless, tempest-tossed to me, I lift my lamp beside the golden door! We got a thousand points of light for the homeless man. We've got a kinder, gentler, machine gun hand. Neil Young, Rockin' in the Free World. Worrying about the "browning of America" is not racism. -- Faith I hate you all, you hate me -- Faith
|
|||||||||||||||||||||||||||||||||||||||||||
Son Goku Inactive Member |
Nicely explained. I was trying to avoid going into the technical reasons, but you did a great job here.
Thanks, I suspected you knew and were being brief. I've only been reading this recently. I actually found it really hard to find out exactly what the Android runtime is.
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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
|
|||||||||||||||||||||||||||||||||||||||||||
PaulK Member Posts: 17918 Joined: Member Rating: 6.7 |
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.
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. 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.
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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: 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.
|
|||||||||||||||||||||||||||||||||||||||||||
PaulK Member Posts: 17918 Joined: Member Rating: 6.7 |
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.
Java SE is free for what Oracle defines as general purpose computing — devices that in the words of its licence cover desktops, notebooks, smartphones and tablets. It is not free for what Oracle’s licence defines as specialized embedded computers used in intelligent systems, which Oracle further defines as — among other things — mobile phones, handheld devices, networking switches and Blu-Ray players.
And
You only become a designated user of, say, Java SE Suite, when you enable the necessary bits associated with that package — and then you pay accordingly. If you switch on features, deliberately or accidentally, and then forget about them or no longer need them, you may end up with a bill from Oracle you didn't expect. 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.
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.
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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: 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
|
|||||||||||||||||||||||||||||||||||||||||||
NoNukes Inactive Member |
I could have been more clear, but I thought that the use of scare quotes around "class" along with the comparison to "dex" files was sufficient to point to something that Google was doing differently from what the typical Java programmer does. The rest of Son Goku's explanation about the technical reasons why Google deviated from what they were freely allowed to do was equally spot on.
To make this more about my personal experience, I don't frequently bump into Java restrictions that require money or that are otherwise restricted. I believe that my experience is typical. Obviously there are lots of folks programming in specific arenas who have different experiences. But for those folks, I suggest that there is plenty of readily available information to steer you in the right direction. I would further suggest that your personal experience as a person not familiar with Java is not representative. I'll also note that Android does not involve Java SE, so the issue is not relevant in that arena. Under a government which imprisons any unjustly, the true place for a just man is also in prison. Thoreau: Civil Disobedience (1846) "Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore. Send these, the homeless, tempest-tossed to me, I lift my lamp beside the golden door! We got a thousand points of light for the homeless man. We've got a kinder, gentler, machine gun hand. Neil Young, Rockin' in the Free World. Worrying about the "browning of America" is not racism. -- Faith I hate you all, you hate me -- Faith
|
|||||||||||||||||||||||||||||||||||||||||||
PaulK Member Posts: 17918 Joined: Member Rating: 6.7
|
The problem is that so far as I can see adding the option to buy more services doesn’t in itself trigger the general purpose clause. That applies to the computer, not the application. The assertion that Oracle is asserting otherwise - even though it is Oracle - looks rather questionable in that light. Which is why I’d like to see the reasoning behind the argument.
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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
|
|||||||||||||||||||||||||||||||||||||||||||
PaulK Member Posts: 17918 Joined: Member Rating: 6.7 |
I think that a lot of developers will use the free OpenJDK instead of Oracle’s version.
|
|||||||||||||||||||||||||||||||||||||||||||
Percy Member Posts: 22947 From: New Hampshire Joined: Member Rating: 6.9 |
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
|
|||||||||||||||||||||||||||||||||||||||||||
PaulK Member Posts: 17918 Joined: Member Rating: 6.7 |
That’s Oracle being Oracle. They don’t exactly have a great reputation.
I’m only on the fringes of the Java community but I really haven’t seen a lot of fuss about this. Just occasional reminders that Oracle’s charges are coming. I think that there would be more fuss if OpenJDK wasn’t seen as a viable alternative.
|
|
|
Do Nothing Button
Copyright 2001-2023 by EvC Forum, All Rights Reserved
Version 4.2
Innovative software from Qwixotic © 2024