Can Android Without Dalvik Avoid Oracle's Wrath?
jfruhlinger writes "Despite the fact that Oracle is suing Google over claims that Android violates Java IP, Android is roaring ahead in the marketplace. Still, some groups are wondering if they can implement Android without incurring Oracle's current or future wrath by avoiding the Dalvik VM. A project called IcedRobot aims to create a GNU-compatible version of Android, and rumors abound that RIM is planning on putting an OpenJDK-version of Android on its upcoming PlayBook tablets."
There are what seems to be a countless army of people and companies using Java, and I have never heard of anyone being sued for "Java IP anything". Something smells fishy.
How about they stop making moble phones that rely on java in the first place.
I agree that integrating the desktop with the mobile more completely will be key to future success in the industry, and the line will begin to blur more between mobile and desktop operating systems. I think concentrating on the social networking aspect of things is thinking too narrowly, though. Social networks are already pretty well integrated into most smart phones by now, and moving between form factors on them, dependent as they are on centralized servers, is already pretty seamless.
The real interesting thing will be when we can get real productivity apps to seamlessly move from mobile to laptop to desktop and back. Sun had their SunRay systems where you could seamlessly move your entire desktop session, including open apps and work in progress, from one desktop computer to another, and even transfer phone calls seamlessly between phones as you moved, say from your office phone to a conference room phone. Imagine being able to do that, except between your smart phone and your laptop or desktop, even for things like full-featured word processor and spreadsheet programs or Visio or whatever other productivity apps you use. Now imagine being able to do that seamlessly without a central server or even without the little cards the SunRay depends on. You could couple all of your devices together and they could be in constant contact with each other so switching between them would be completely seamless and near-instantaneous.
We can do some of that already of course, but insufficient software and hardware on mobile devices, as well as deficiencies in disk and network speed (especially cellular network speed) make it impossible to really accomplish all of it now. I do think this is where we're headed though, and I can't wait.
But cellphones are about to be as powerful as desktop PCs and laptops.
Not really. They're already as powerful as desktop PCs were in, I don't know, 2002. But by the time they're as powerful as today's desktop PCs, desktop PCs will be faster too -- if only because you can stuff a lot more cores in a PC with a 200W power budget than you can into a phone with a 1W power budget.
But I agree on the convergence. Somebody needs to come up with a docking station-like thing with a ~50W CPU, several gigs of RAM, a TB of disk, GigE and a 22"+ screen which will transition the OS instance from the phone to the dock, server VM style, when you plug them together.
Then the 'dock' can stay connected to the internet even while they're not together and act as a 1TB+ remote storage and backup device and home server which the phone can access (e.g. over an ssh tunnel) using the internet or 802.11. The storage on the phone becomes essentially a local fast-access cache of the most recently used data in the larger data collection at home. This is probably how the wheel of reincarnation is ultimately going to kill off cloud computing in this iteration -- people will start using their own PC remotely instead of somebody else's server, then as phones get more powerful they start to take on more of the load as between the phone and the PC because local is always faster, until the remote PC is pretty much just a remote backup device which allows you to play high end video games and have a bigger screen and full size keyboard when you dock with it.
Going to Python won't automatically solve Google's problems. The issue is patents, not copyright, and the patents in question are about how to make a virtual machine environment run quickly. If the Python interpreter does things like Just-in-time compiling or whatever, then it could still fall under the patents, and Google could still get sued. Microsoft had to pay sun a lot of money to license the patents for C#.
"First they came for the slanderers and i said nothing."
Where to start....
Python is magnitude slower than Java. Python "compiled" code is not remotely close to Java's execution time. Python doesn't have real multithreading (see GIL blocking multiple threads from executing). Python is good for scripting small apps. But if there is a choice between Java and Python for basic API, Java wins today and yesterday. What tomorrow will bring is of course unknown, but GIL and current much slower execution are huge problems.
Java at similar speed to native C/C++, or at least comparable.
>> But cellphones are about to be as powerful as desktop PCs and laptops.
> Not really. They're already as powerful as desktop PCs were in, I don't know, 2002. But by the time they're as powerful as today's desktop PCs, desktop PCs will be faster too -- if only because you can stuff a lot more cores in a PC with a 200W power budget than you can into a phone with a 1W power budget.
You're correct on the hardware end, but you're missing the meatspace implications.
Most people don't need a computer any more powerful than a 2002-era machine that has hardware accelerated video (unless you're a gamer, of course, or someone with a hobby or profession that requires something more). This is why so many people CAN still get things done with old machines. Stick a modern browser on a Windows 2000 box, and you can do basically everything most people need, as long as the video stuff is offloaded into a modern video card.
Cellphones are approaching that stage _rapidly_, and will most likely be there with the upcoming quad core SoCs coming out by the end of this year. The implementation as a desktop for the masses is a trivial exercise. A dock that lets you use your cellphone AS your primary Websurfing/emailing machine is all most people need at home. Game on your console or have a gaming rig set up if you need something more, but we're just about to the point of having all the computing power non-specialists need, all in a cellphone.
The new quad-core SoCs can drive 2560x1600 panels (and more), full Blu-Ray level 1080p HD video (multiple streams, even), etc. There's honestly just not that much LEFT that people need, from a practical standpoint.
Do you hear that? That is the sound of inevitability.
Java the language is not being sued about, so lets move on from this shall we? The patents are regarding Virtual Machines that most likely affect any language using dynamic code optimization. The copyright claims are regarding apparent line by line copying which if true is just a big fck up by Google, and not a slant against the language.
Bye!
All those issues are VM issues.
Given that android uses a from-scratch VM which isn't the JVM, why is it impossible to consider that it could have been a VM designed to work with Python?
Advanced users are users too!
Oracle knows they are going to get negative flack from programmers and stuff.
But the people who make the decision to use Oracle technologies (Oracle database, Oracle J2EE and all the other technologies) are usually not programmers, its PHBs who like the fact that some guy in a suit is saying good things about this "Oracle" thing and are duped into buying it (and the fact that in many cases there is no comparable alternative that is as good as the Oracle product unless you are willing to sign your soul to Microsoft or IBM)
Java is "technically" open-source under GPLv2 (OpenJDK), but it's license contains an extra clause (classpath exception) designed to prevent someone from forking it. In order to fork Java and be granted protection from enforcement of Oracle's patents, the fork must pass Oracle's TCK (compatibility test). However, the catch-22 here is that Oracle will not license the TCK, so no fork can pass the TCK, so no fork can be granted patent protection, so, as in the case of Google, they would get sued for patent infringement.
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
This is not as far off as you might think. I'm running the Android-x86 (an x86 port of Android) right now on my desktop within a VirtualBox VM. Android-x86 is still in it's early stages, but is pretty stable and impressive already. Currently it supports Froyo (2.2) and Gingerbread (2.3) is in beta.
All that's really needed is a set of VirtualBox guest additions like those available for Windows and Linux guests to enable "seamless mode", and Android apps would appear on the desktop as (nearly) native desktop applications.
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.