Friday, October 7, 2011

Some of the Legal and Ethical Issues Surrounding Android

Android's life has not been without its trials and tribulations. Two major issues have cropped up in its first four years: copyright/patent infringement and questions as to how open the Android platform really is. One of the major components of the Android OS is its use of the Dalvik virtual machine to process Java code. The problem is that Java itself uses a remarkably similar virtual machine within itself. Oracle Inc. owns Sun Microsystems, the creators of Java, and is suing Google for copyright and patent infringement. Oracle alleges that Google used code copied directly from Java's virtual machine in their Dalvik virtual machine. Google has denied this, stating that they actually reverse-engineered Java's virtual machine in order to formulate the Dalvik virtual machine (Heller, 2010). As to whether Google can beat out the copyright charge, InfoWorld's Martin Heller writes,

"I think that is likely to be dismissed early in the proceedings, if the Android team did (as reported) a clean-room reverse-engineering of the Java virtual machine to create the Dalvik VM underlying Android -- and can offer proof. Phoenix Technologies managed that trick with the IBM PC BIOS, so it's quite possible that Google did as well with Java." (2010)

There are also seven patent infringement charges coupled with this copyright lawsuit. According to Heller, these charges will be much harder to beat as they deal with software processes and are extremely vague in their wording (2010). The other major issue is more ethical in nature. Many question whether Android is truly an open-source platform. Although much has been said about the fact that Google has not openly released the source code for Android 3.0 (Honeycomb), it is small potatoes compared to the possibility that Google willing skirted around, and possibly infringed on, the GPLv2 (General Public License version 2) that the Linux kernel used in Android was released under. Essentially, the kernel uses a library of C classes called glibc which is also licensed under GPLv2 and any program which uses those classes when compiled would legally be bound by the terms of the GPLv2 license (Naughton, 2011). Google wanted to avoid this because the developer of an Android app would be required to make the source code openly available to anyone, even competitors. So Google decided to make their own C library called Bionic, using the header files from version 2.6 of the Linux kernel (Naughton, 2011). Although these header files were licensed under GPLv2, Google invented an algorithm to get rid of all whitespace and comments within the code, as these could be considered creative thought and thus subject to copyright (Naughton, 2011). What was left was simply declarations and macros, which Google deemed could not be considered infringement. They then used these cleaned up header files to construct their Bionic C library. The problem is that many, including the court system, consider these files to be creative if they contain code which creatively solves a problem (Naughton, 2011). As of July, 2011 no has called Google out on this in court but the possibility is still there and a lawsuit over this would affect every single person or thing connected to Android. It might even see Android pulled off the market until the infringing portions of code are fixed or replaced. It would conceivably be a mortal blow to Android's future.

No comments:

Post a Comment