Post a Comment
Actually writing your own JVM with any kind of license is completely valid. AFAIK reasons for creating dalvik were technical (which are not so relevant anymore).
The problem point is possibly the partial JDK they are using. Android uses pieces of an apache licensed version of JDK called Harmony. And they avoid using the word "JDK" for that subset. The only point i can think that Google may be in trouble is that Harmony may include Sun JDK's code in it. It is bad because their licenses are not compatible.
But i doubt that is the attack point of Oracle and nevertheless i believe they will fail and lose a lot of credibility from developers. For once, Google makes Java relevant in mobile world, and they use it heavily in their internal applications.
I would much prefer Oracle to join Google on Android development instead of playing dirty.
wrong! there are a patents on specific code sequences
like this branchless abs
int const mask = v >> sizeof(int) * CHAR_BIT - 1;
r = (v ^ mask) - mask;
the code is of course dumb simple and used everywhere
this patent belongs to Sun BTW
I wish the whole chain of persons who are responsible of patenting such basic things be burned in hell forever.
I just don't get that kind of stuff.
If I come up with some way of doing something more efficiently in our code, I immediately share it with my co-workers. If it is non-work-related code that I am working on (maybe not efficient but for fun) I even share it on places like DeviantArt.
When I heard SUN was up for sale, I was saddened as I didn't think there was anyone who'd be interested, whose pockets where deep enough and who'd keep the opensource tradition alive.
I thought perhaps Fujitsu might be a good choice - buy SUN, help them clean up their act, sponsor the promising software projects, make some killer SPARC boxen of all sizes, etc.
But, 'twas not to be. Then I heard IBM made an offer.
Okay, Big Blue can be something schizophrenic where open source and open standards are concerned but, not the worst choice. Lots of potential in that acquisition.
But the EU overseers poisoned that deal by holding up the go-ahead over antitrust foot-dragging allowing SUN's competitors (including IBM) to pilfer the big money clients. So, Big Blue tooks their toys home - why buy the cow when you've stolen all the milk or, at least, the cream, right?
And,along came Oracle. My reaction? Let's wait and see but I highly doubt this'll end well. The corporate philosophies are just too different. And sometimes, Larry E seem to exhibit the worst traits of both Bill and the Steves ( Jobs / Ballmer )
Damn, there's an acquisition that never occurred to me - Google buying SUN. Not as good a fit as Fujitsu but as much potential as IBM and on par with Oracle for compatibility and a much better fit for company philosophy.
And, that would have given full control over Java and a possible goodness merger of ZFS and GoogleFS
Oracle is slowly going in my bad books. First they acquired SUN and there are lot of good OSS projects of whos future is not secure because they are now under oracle.
Android is the first platform that managed to really challange iOS. Going by this rule we shouldnt be surprise if Nokia & Intel also gets suied in case if they have used java in Meego!
RE: Oracle - New Villain?
Um, no. UNIX was created in 1969 by AT&T. Sun Microsystems didn't come into existence until 1982. Perhaps you're getting confused by the fact that one of Sun's founders, Bill Nealy, was a primary developer of BSD Unix *prior* to founding Sun? "
Bill Joy, surely?
What are they teaching kids in school these days? "
Come on. Lay off the teenagers. It's an understandable mistake. Most of us are old fogeys here have been around long enough to see a lot of change in technology. Right now the computer landscape has never been more heterogeneous in the number OS's, hardware platforms and computer languages. So the kid can be excused for not knowing exactly where and when Unix came from.
Your comment is even funnier than mine.
Edited 2010-08-13 16:29 UTC
IBM is a paying Java licensee. Nokia uses IBM's J9 implementation as do many other mobile device manufacturers/developers.
Here is a list of some of the Java licensees:
http://java.sun.com/javase/licensees.jsp
Android does not need that license. Google does not say, or want to say "this application is compatible with Java SE". Neither they claim using JME. They only mention Java the language, which does not require a license. The libraries comes partly from Apache Harmony project but Google don't claim to have a compatible JDK library either.
Edited 2010-08-13 05:30 UTC
Keep dreaming. Google does need to license. And the courts will rule in Oracle's favor with the restrictions of said license.
I don't think so either. Actually I think it's much much simpler than that. Android is starting to take off so Oracle wants a cut of the cake, whether they deserve it or not.
Presumably, they hope that holding something over Google will lead to a lucrative settlement or, who knows, even a per-copy license fee. Although God knows how they expect to track copies of software distributed as FOSS. Maybe they expect to win with Google and then use the decision to go after anybody using Android (big mobile phone manufacturers first).
Or maybe there's some secretive and unrelated dispute currently going on between Google and Oracle, and Oracle is using this lawsuit to strike back.
What "rule"? Dalvik is the problem, not using Java alone (MeeGo could add e.g. OpenJDK or IBM JDK safely). I guess forcing Google to switch to normal JVM is what Oracle wants; that's the way they can be partial to the growing high end (non-J2ME) smartphone market.
Dear Motorola,
Time to contact someone at Nokia/Intel/Linux Foundation? I'm sure a demo of MeeGo running on an upcoming device can be arranged at your earliest convenience ;-).
Edited 2010-08-13 04:33 UTC
That's what the lawsuit will determine. The claim is for copyright & patent infringement.
Unlike Sun, Oracle has money, so this might be something that has been brewing for a while; only now they have the resources to engage.
I don't see how that would be the case. Unless this is one of those "Linux infringes on SCO/Microsoft patent rights".
Clearly Android is under a bigger threat from Oracle than anybody is from Microsoft because, you know, Oracle is suing as we speak.
Microsoft's already made very liberal patent promises, and right now the Java community is in turmoil over the slow pace of Java evolution. It's constantly being compared unfavorably to C#.
This news is at least a swift kick in the face for the "Java = open, .NET = closed" talking point.
I agree that this is a bad news for third-party Java (that includes OpenJDK, IBM's Java, gcj, Mono and "who-knows-maybe-even-.Net") users. It may be a sign that Oracle is attempting to regain a control (make it proprietary again) of Java.
However, claiming that .Net is more open than Java is simply wrong. From the beginning to the end, .Net is a single platform, closed source and proprietary product. You are conditionally permitted to use it (which in 99% of cases is enough) but it doesn't even come close to Java's ubiquity and openness (at least until now).
My biggest hope is that with Google will play hard by counter-suing Oracle in their own field. That would perhaps bring some sanity in this craziness and speed up the collapse of the patent system.
Whoa, hit a nerve.
Like it or not, under Microsoft's patent exemption for C# this could never happen. Opensource or commercial, feel free to implement any of the following specifications without repercussion from Microsoft-
http://www.microsoft.com/interop/cp/default.mspx - Community promise (patents)
http://www.microsoft.com/interop/osp/default.mspx - Open specification promise (file format and protocol specs)
C# and the CLI are specified in separate standards, so, for example, Mono is allowed to compile C# to native Object-C/nibs and create an iPhone application without fear of falling outside of coverage by the community promise.
Google, who translates JBC to Dalvik bytecode, is getting sued because Java's patent exemption requires that you implement both the JVM and Java together and to spec, or else neither are covered.
(I'm assuming you're replying to me (not to yourself), please be more careful with threading.)
That's a promise by Microsoft, not by Oracle. I was talking about Oracle's actions here, not Microsoft's.
Thanks, that's a useful information. If it is true, other java implementations would be unaffected (and you can then discard my earlier comment).
From your other comment:
Mono implements parts of .Net. I don't dismiss it.
But Mono is not .Net. Neither legally nor technically. It will never implement .Net in full (because it is either illegal or infeasible - for part that are tied to Windows). To me, Mono is just Mono - a separate product that happens to be compatible with .Net at low (runtime, language, basic class libraries) level.
I don't know much about Harmony but it looks like they want to be fully compatible with Java SE platform. And indeed, you can already find classes like javax.swing.* in their repository.
This is only partially correct. As far as I recall, the Microsoft patent exemption only covers compatible implementations of .net (such as Mono). If one were to implement a semi-compatible clr which infringes on Microsoft's patents, one would be open for a patent infringement lawsuit.
It will be interesting to see which patents Oracle are claiming infringement on.
Disclaimer: I'm a big fan of both Mono and Java.
The list is already published. From a short glance, it's:
- some OO optimization techniques (static initialization stuff, class preloading)
- a few JIT techniques
- security policy stuff (can class X be loaded? what kind of access does it have to the rest of the world?)
Of course it only covers "compatible" implementations.
Let's say that one of their patents isn't utter bullshit. Let's say that Outlook's PST format specification actually does something innovative and unique that's worth protecting - maybe they lifted a feature from Sql Server.
Let's also say I want to use this innovative feature in my database engine. If Microsoft allowed their PST patent exemption to cover "non-compatible" implementations, I could call my database engine a partial implementation of the PST format and get that patent exemption.
The point is that they're fine with you implementing a PST reader/writer library, but it's not cool if you pick and choose any of their patents and use them for other things.
Edited 2010-08-13 15:28 UTC
Also, dismissing Mono as a viable implementation is equivalent to dismissing Harmony as a viable implementation.
I bet Larry wants to wrestle back some control over Java. While the free release of the JRE and the JDK was a general good for society, it was also a philanthropic gesture that made no business sense. Can anyone blame him, or even expect him to do otherwise?
Edited 2010-08-13 04:21 UTC
Harmony is not viable implementation of Java. Mono is not viable implementation of .NET.
OpenJDK is viable implementation of Java, and it is released under GPL by Sun(and now continued by Oracle) which means that patent licenses come with it. If Google based their VM on OpenJDK, Oracle couldn't sue them because GPL gives patent license for to all users of the software.
Dalvik VM is based on Apache Harmony. It has no OpenJDK code and is not GPL; it is under Apache license which is similar to BSD license which permits closing down the code. And it also permits frivolous patent lawsuits by contributor against the user or downstream distributor (which is Google in this case). That's something GPL does not allow. I am saying this because Oracle was a contributor to Apache Harmony before they bought Sun (and before even Java was opensourced). If Harmony was GPL, this lawsuit would be void.
But to get back on topic: Dalvik VM is incompatible with official Java. So Oracle is not suing for Java, it sues because Google attempted Embrace Extend Extinguish Java, like Microsoft tried before and got sued by Sun.
OpenJDK is not under threat and remains under GPL like before, Free for anyone to use. Java remains open standard like before. Only Google would have to switch to GPL'd OpenJDK to avoid paying royalties for every android copy.
Aparently you dont understand the license issue with Java. it says:
`Only Java SE licensees can claim compatibility with Java SE specifications and can ship Java SE-branded products.` it is much clear than microsoft's so called promise.
Wait once mono guys talk about .net compatibility or mono adopted by a major company. you will see the real crap storm
If Google wrote their own Java VM, then there wouldn't be any copyright infringement. There are plenty of Java vm's from different groups. As for patents, Sun pledged their patents under the OIN I believe. That covers any use of the patents that are covered under an open source license which Android is. Sun also open sourced Java, allowing everyone to use it. Unless Google is using some obscure library that didn't get included....But those libraries were excluded because Sun didn't own them. Which means it wouldn't be up to Oracle to sue for the use, it would the rights holders. Very strange tactic. I wonder why Oracle would do this as they don't seem like competitors to Google.
It's easy to forget that behind that suit, Larry Ellison is a supervillain. He flies and does aerobatics in his own MiG 29 fighter (seriously).
http://www.nbcbayarea.com/news/business/Raw_Video__Larry_Ellison_Fl...
As someone who has been forced to use Oracle products extensively for nearly a decade, let me describe "The Oracle Cycle" to those who aren't familiar with their products. It begins with the development of a new product. The product shows plenty of promise and is priced somewhat competitively. Once many projects have adopted this product, the price shoots up and the licensing gets really strict. The product never seems to live up to its potential and the outrageous pricing eventually forces people to choose other products. Once a competitor's product gains popularity, Oracle proceeds to buy the competition. Then they end support for their waning product and focus on pushing their newly acquired product. This includes killing everything that was good about that product and completely stunting the growth of that software. Eventually people get fed up with the horrible state of the Oracle's acquired software and switch to a competitor of Oracle. Of course the next step involves Oracle buying that competitor and thus continuing the cycle.
This is frustrating if you're an Oracle customer because you're infrastructure is constantly changing. You're used to OC4J, well too bad because that's being eclipsed by WebLogic. Finally started to understand Toplink, well make way for Eclipselink. It's even worse if you try to avoid Oracle because eventually they will buy the competition and then you're stuck with them.
As bad as all of this is, suing based on software patents is a new low. I advise everyone to stay away from their products - if not for their business practices then for the poor quality of their products (with the exception of OracleDB).
http://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to_obtain_...
and Dalvik is actually using part of ASF Harmony.
I remember hearing about developing native C applications on Android but I don't think anything came of it or at least I can't find the corresponding C APIs.
I say ditch Java and go C or Python.
If they make Python APIs just like their Java APIs porting should be super simple or perhaps even automated.
I have ported a bunch of Java code to run on Jython. Just remove declarations, change "this" to "self", bla bla bla. You need to handle overridden methods carefully, but other than that its pretty darned straight forward.
I think if they made Python APIs porting Java Android apps to Python Android apps would be as simple as porting java to jython.
The problem is that Python is an order of magnitude slower. And on an battery-powered, resource-constrained device, that is not acceptable. There is simply no way to make a dynamically typed language as fast as a statically typed language, unless you do type inference, which would always work.
I don't believe that argument.
It comes down to the implementation of the VM. Both Python and Java use a VM.
Google is working on integrating LLVM into Python (project Unladen Swallow) to speed things up.
Doesn't Apple use LLVM in their iOS too?
Either way.... Android as it is is pretty slow. My phone (MyTouch 3G) is about as slow as it gets. Its been on the border of usable since the day I got it. I will welcome any change to the platform.
Native needs to happen though. Native applications, native API's.... lets drop the Java already.
How about running Google's new language Go? That should be fast.
Dynamic languages like Python are much harder to speed up.
The best 'fast Python' is Cython, which is actually a sub-set with some more C in it.
Could they have used Cython? Yeah. It's more like Python than Dalvik is like Java (people use Java for the libraries!).
They didn't.
I figure eventually they'll get over the 'no native code' thing, and C et al will be allowed into their 'store'.
That said, using Java as an intermediate language from Python would be cool, but the language has constraints about closures due to the machine on which it runs.
Frankly, I'd rather write Java bytecode than Java. It's basically OO-Forth, and I think it's more readable.
Sadly, Dalvik is register-based :O(
The reg lists David Boies as one of the Oracle vultures:
http://www.theregister.co.uk/2010/08/13/oracle_sues_google/
You may remember him from the SCO case.
This has nothing to do with Java. It is just as same as Oracle suing Novell for Mono.
Java is OpenJDK, and that's irrevocable. Worst thing that Oracle could do with Free Java is abandon OpenJDK. But that would be worst to them, non to other people, since Red Hat and GNU Classpath comunity would just continue developing OpenJDK and compete against Oracle Java. Oracle can't sue OpenJDK since they contributed it.
Sure, but in this case they are suing an alternative JVM implementation. An indicator that they will not allow alternative implementations without patent licensing.
If oracle will not allow derivative works without patent licensing then they have used the patent loophole in the GPL that will effectively stop derivative works. ie nobody can use a "changed" OpenJDK without a patent license from Oracle.
I don't think anything else than GPL'd implementations (like openjdk and GNU classpath) are needed. They don't want to let people to implement Java under gift like licenses like Apache, and that is understandabe because they don't want closed down incompatible forks.
There is no patent loophole, for this case. If you are thinking about Novell-MS deal, Oracle can't exploit such a loophole. Microsoft position wrt Linux is different than Oracle wrt Java. Microsoft didn't invent or buy Linux, they never distributed it, and they never disclosed alleged patents. All they have is FUD, and that loophole is only good for FUD. The moment they disclose patents, they would need either to prove infringement or shut up because GPL forbids distributors to take out exclusive patent license for distributing GPL'd software. Companies will just say: we have to obey GPL because our business depends on that, so either you give a license to whole community, or we will ligate until death. Loophole only works for unknown patents, if company wants to pay blindly without seeing patents like Nowell did. If they admit they saw patents in question, then they can't take out exclusive license and have to broaden the deal to include entire community, else they are breaking the GPL.
On the other hand, Oracle invented Java (legally, because they bought it) they distributed OpenJDK under GPL, and they disclosed patents. So they have no stand against any GPL'd Java implementation. They given irrevocable patent license to those patents covered in Java, to all GPL'd implementations of Java. They can't block derivative works, only thing that derivative work needs to do to stay safe is integrate a chunk of OpenJDK code. And Oracle can't whack them.
Knowing Oracle's past behaviour of contributing GPL'd code (Linux, InnoDB, contributions to gcc) and Sun's beef with Apache foundation, I think Oracle's plan is not to un-GPL Java (they know that such a thing is impossible and trying will backfire in their face). They only want to whack BSD/Apache licensed Java implementations because they don't want fragmentation, and don't want proprietary forks of Java which those licenses permit. They want Java to be GPL only and they don't want their competitors to run away with the code. Apache licensed Harmony would undercut Java.
Note that IBM is among primary contributors of Apache Harmony and Larry hates IBM. He sure want to stomp their work.
Edited 2010-08-13 13:49 UTC
Now I could be wrong but here is what appears to be happening. Google's Dalvik VM accepts very java like code, but since it uses different (though similar) class libraries and has other differences, its not actually compatible with Java at all. Google's argument is that Dalvik is actually a separate platform from Java whose code just happens to use java syntax (and you can't patent syntax right?). Oracle argument is that the Dalvik VM infringes on patents it holds that relate to Java(and who are we kidding, its very similar to Java) and thus they are entitled to bags of money. If Google can prove that its Dalvik VM does thing sufficiently different to be immune from the patents, or that the patents held are invalid they win, if they can't they are boned.
So does this interpretation seem to match up with reality?
Edited 2010-08-13 07:46 UTC
Hear Hear!
Nice comparison
If you read the patents in question then it really seems as silly. Again a good example why software patents are silly.
You get stuff like; Interpreting functions utilizing a hybrid of virtual and native machine instructions, Method and system for performing static initialization, Controlling access to a resource.
"Controlling access to a resource" ?? now that's a sweet patent! 
Guys,
C and C++ are the most used languages, why people not just use them ? most of libraries are written in these languages.
Look at Qt what you need more ?
(now use can use javascript, QML, CSS with Qt C++ code!)
You can also use Python and all dynamic languages. Using a language made by a still existent company is always bad.
There is one big reason for using Java instead of C/C++ or Python: code reuse.
In Java you can write a library that (contrary to C/C++) with an API that can use fairly complex data structures and (contrary to Python) is fast and (contrary to all of above) can be distributed in a binary form.
Capability of using complex data structures come from the unified class library and the built-in garbage collector (so you can juggle e.g. a hashmap back and forth without worrying about its deallocation). Speed and portability come from the VM.
Notice that it's not the language that matters, it's the whole environment. Java language itself is not the greatest programming language in the world but it's good enough for many applications. The effect of Java's code reuse capabilities is that no other platform (except perhaps plain C) has as many mutually compatible libraries as it.
More comments about Python, C and C++.
IMO the biggest problem with Python is its execution speed (due to the lack of an optimized VM). Python is a great language for "gluing" "bricks" together (where speed doesn't matter) but not for implementing them. Since in many cases "bricks" are just thin wrappers around C code their interfaces are very low level and, at least as far as API is concerned, Python's capabilities are almost unused.
C is still very successful because of its low level orientation. It simply became a modern-age "portable assembler", its features being mapped fairly closely to the typical CPU. It shouldn't really be used for anything except very low level libraries but since there are no better alternatives (or rather because of a total mess among them) C became a necessary evil. Interestingly, its killer feature is also "code reuse", although at entirely different level than it is in Java.
C++, in turn, suffers from fragmentation. For compatibility reasons most libraries have to stick to an API that is built around a common lowest denominator (i.e. not much higher than C). You can of course use one of very good frameworks (e.g. Qt or Boost) but (a) you're imposing this framework on users of your code, (b) your code is then incompatible with other libraries using a different toolkit. The effect is similar to that of Python - toolkits are being used in the "glue code", whereas libraries often have to be implemented using low level semantics.
Google has not a compatible Java. That is a problem.
Earlier, MS made their own Java extensions and released it as J++. Sun sued MS and MS lost. One year later MS released the "revolutionzing" new language C#, which many thought was a copy of Java.
Now, Oracle is doing the same thing with Google. It would not be fair to sue MS but not to sue Google? Google is using an incompatible Java. The java customers will be confused.
Maybe Google should withdraw their incompatible Java version and one year later release a new language called G#++. Oracle is making sure the "Java" trademark runs Java programs. Java is compatible with Java. That is a GOOD thing. Google is disrupting that - which is a BAD thing.
You sure about that?
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
http://developer.android.com/guide/basics/what-is-android.html
Yes, I am sure about that. The same page talks about .dex format which is incompatible with Java bytecode format although a tool is provided for conversion from Java classes. All Java VM's are stack based while Dalvik is register based. Dalvik does not align to Java SE nor Java ME Class Library profiles (e.g., Java ME classes, AWT or Swing are not supported). Instead it uses its own library built on a subset of the Apache Harmony Java implementation.
Android uses a clone of Java/JVM the same way Mono uses a clone of .NET/C# (where clone is a new implementation from scratch).
The argument was that Mono (Android) users will be sued by Microsft (Oracle) if they don't use official .NET (JVM) and pay Windows (J2ME) fees. Tell me where this analogy falls apart except that Microsoft allows you to reimplement .NET (http://tirania.org/blog/archive/2010/Aug-13.html).
Oracle doesn't give you patent "license" for the part of Java "market" that still can give them money. They Open Sourced every other thing and it's only way to earn any money from Java copyright and patents.
This whole discussion is absurd because US patent system is absurd.
Edited 2010-08-13 15:47 UTC
To me, the patents appear to be applicable to just about any modernish programming language, including C#... Gotta love software patents.
If the state of things doesn't change, most software innovation will be from outside the US and illegal here within 15 years (my own personal prediction).
This headline is brutal but probably typical. Business folk will see that oracle who just acquired sun is suing over java. Regardless of the details this is really bad press. It will absolutely affect whether or not companies will select java tech for future use (call it a tie breaker). Really stupid move on oracle's part.
I found in Scribd:
http://www.scribd.com/doc/35811761/Oracle-s-complaint-against-Googl...
Had no time to read the content. It may clarify what exactly is being argued by Oracle.
It says The Android operating system software "stack" consists of Java applications running on a Java-based object-oriented application framework, and core libraries running on a "Dalvik" virtual machine (VM) - I'm no Android expert, but I IIRC what it runs is not Java per se (although being similar), and the VM was not intended to be compatible with Sun/Oracle's, so that claim is false. And if so, then the rest which is based on this claim should be trash.
Edited 2010-08-13 14:08 UTC
Best foto-comment to this issue:
http://img195.imageshack.us/img195/4305/javalarry.jpg
pass it around plz
x
Now, why does this make me think of SCO and their attorneys, logic gone south, and stupidity raised to pinacle of absurdity. Well, let's wait 10 years and see how this turns out. Maybe Oracle will join SCO in a universe were good deeds, good will, and good sense, do not exists. We can observe them as they pursue there quest for money like gerbils on an exercise wheel. No rest for the weary.
sells clothing,footwear,handbags,Sunglasses
Online Store,Get Name Brand Fashion From 12USD Now!
Our Website: http://www.famalegoods.com
Our main product list is as follows:
1. Fashion Sports shoes: $35
Shox,Dunk,Jordan, Air max, Air force,Adidas, Puma,Prada,D&G, Chanel,Gucci, Lacoste,
LouisVuiton,Evisu,Timberland,ugg,boots,Burberry,Dior,Greedy
2. Fashion T-Shirt $14 & Jeans $30 & Jacket $37:
AF,BBC,Evsiu,Juicy,GGG,Burberry,ED-Hardy,Chanel,G-Star,Red monkey,Christian
Audigie,sinful,lacoste,POLO,Armani,Smet,Baby,Levis,Justcavalli,Versace ,True Religion,Artful Dodger,Rock,Coogi,Crown
Holder,RMC,etc.
3.Fashion Handbags:$$35
LV , Prada , Chanel ,D&G, Fendi , EDhardy, Burberry , MIUMIU ,Gucci ,Chloe , Juicy and Chole,Burse,etc.
4. brand watches(rolex,Longines…)$50
belt(d&g, gucci, prada, chanel, burberry…. )$14,
hats $12
sunglasses $12 (Police,rayban,gucci,prada,LV)
Deliever: Nearly 5 days arrive your home or your friends’ adress by EMS,DHL,UPs !!!!!!!!!!!
Looking forward your visit.asdsf @#$R$$
gre654878



