Understanding through Discussion


Welcome! You are not logged in. [ Login ]
EvC Forum active members: 92 (8876 total)
Current session began: 
Page Loaded: 12-18-2018 12:07 PM
207 online now:
Diomedes, DrJones*, GDR, ICANT, ooh-child, PaulK, Phat (AdminPhat), ringo, Tangle, Tanypteryx (10 members, 197 visitors)
Chatting now:  Chat room empty
Newest Member: Bill Holbert
Post Volume:
Total: 844,383 Year: 19,206/29,783 Month: 1,151/2,043 Week: 196/507 Day: 24/83 Hour: 1/9


Thread  Details

Email This Thread
Newer Topic | Older Topic
  
Prev1
2
Author Topic:   Oracle Wins Ruling Against Google Over Java APIs
Son Goku
Member
Posts: 1120
From: Ireland
Joined: 07-16-2005
Member Rating: 7.0


(1)
Message 16 of 26 (831049)
04-11-2018 2:53 PM
Reply to: Message 10 by Percy
04-04-2018 6:29 PM


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.


This message is a reply to:
 Message 10 by Percy, posted 04-04-2018 6:29 PM Percy has responded

Replies to this message:
 Message 17 by NoNukes, posted 04-11-2018 2:59 PM Son Goku has responded
 Message 20 by Percy, posted 04-11-2018 9:42 PM Son Goku has not yet responded

  
NoNukes
Inactive Member


Message 17 of 26 (831050)
04-11-2018 2:59 PM
Reply to: Message 16 by Son Goku
04-11-2018 2:53 PM


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


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

Replies to this message:
 Message 18 by Son Goku, posted 04-11-2018 4:17 PM NoNukes has not yet responded

  
Son Goku
Member
Posts: 1120
From: Ireland
Joined: 07-16-2005
Member Rating: 7.0


Message 18 of 26 (831069)
04-11-2018 4:17 PM
Reply to: Message 17 by NoNukes
04-11-2018 2:59 PM


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.
This message is a reply to:
 Message 17 by NoNukes, posted 04-11-2018 2:59 PM NoNukes has not yet responded

  
Percy
Member
Posts: 18004
From: New Hampshire
Joined: 12-23-2000
Member Rating: 3.1


Message 19 of 26 (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: 18004
From: New Hampshire
Joined: 12-23-2000
Member Rating: 3.1


Message 20 of 26 (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

    
PaulK
Member
Posts: 14570
Joined: 01-10-2003
Member Rating: 2.0


Message 21 of 26 (831102)
04-12-2018 12:50 AM
Reply to: Message 19 by Percy
04-11-2018 9:33 PM


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.


This message is a reply to:
 Message 19 by Percy, posted 04-11-2018 9:33 PM Percy has responded

Replies to this message:
 Message 22 by Percy, posted 04-12-2018 7:57 AM PaulK has responded

    
Percy
Member
Posts: 18004
From: New Hampshire
Joined: 12-23-2000
Member Rating: 3.1


Message 22 of 26 (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

    
PaulK
Member
Posts: 14570
Joined: 01-10-2003
Member Rating: 2.0


Message 23 of 26 (831114)
04-12-2018 8:15 AM
Reply to: Message 22 by Percy
04-12-2018 7:57 AM


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.


This message is a reply to:
 Message 22 by Percy, posted 04-12-2018 7:57 AM Percy has responded

Replies to this message:
 Message 24 by Percy, posted 04-12-2018 9:03 AM PaulK has responded

    
Percy
Member
Posts: 18004
From: New Hampshire
Joined: 12-23-2000
Member Rating: 3.1


Message 24 of 26 (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

    
NoNukes
Inactive Member


Message 25 of 26 (831126)
04-12-2018 12:45 PM
Reply to: Message 20 by Percy
04-11-2018 9:42 PM


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


This message is a reply to:
 Message 20 by Percy, posted 04-11-2018 9:42 PM Percy has acknowledged this reply

  
PaulK
Member
Posts: 14570
Joined: 01-10-2003
Member Rating: 2.0


(1)
Message 26 of 26 (831129)
04-12-2018 1:30 PM
Reply to: Message 24 by Percy
04-12-2018 9:03 AM


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.
This message is a reply to:
 Message 24 by Percy, posted 04-12-2018 9:03 AM Percy has acknowledged this reply

    
Prev1
2
Newer Topic | Older Topic
Jump to:


Copyright 2001-2018 by EvC Forum, All Rights Reserved

™ Version 4.0 Beta
Innovative software from Qwixotic © 2018