Pages

Jul 4, 2012

Android open source

Whether the android is totally open source? No
Its based on Linux? Yes
Then?
Even if it's based on Linux, Google tweaked the meaning of open source. Kernel is under GPL license  but android is in Apache.
Meaning any vendor/developer making changes to android can keep it to themselves.
So why android?
Now android is a way to disrupt mobile industry, any vendor can use the Android and can make there own framework on it.
Why G1,Xoom,Nexus?
Advertising the android versions to hardware manufactures about android capability.
So is it enough if I download and use the source?
To compile and port you require hardware. You can verify with emulator but the essence is relied solely on hardware.
So how can I port android version on my existing piece of hardware?
Vendors usually lock the bootloader. Meaning they won't allow to load the custom version esp. Motorola hardware. Few of them provide options of unlock, relock.
Locking bootloader relies on cryptographic signature of manufacturer.
So where does the hardware fit in?
Android is a shell. HAL is hardware abstraction layer, it's a mechanism for hardware to communicate with software. And manufactures does HAL modifications depending on hardware they are providing with.
Like?
Say cores, RAM, GPU, SoC, Camera, Radio, GPS. Usually manufactures won't release the code for these hardware functionalities which makes them unique with features.
Android HAL is limited, manufacturers thus make modifications to it. So any new android version upgrade for the existing hardware thus takes time even if you have libraries for the hardware functionalities.
Example:RIL is required for radio functionality. AT&T Nexus phone is completely different from Verizon Nexus phone even if both are dependent on same android version and so does updates.



So how people can design custom ROMs when drivers are not released?
Most of vendors provide reference boards to port android and verify with there SoC like OMAP,ARM,NVIDIA...
So drivers are usually pulled from these reference boards.
There is a huge gap in Android and so does users.
Finally its AOSP...



Further Reading:
Apache vs GPL
http://soulbuzz.net/?p=175


No comments: