open source

What is open source? Open-source software is software that makes the source code freely available, for anyone to see and use. There are different open-source licenses that have different use conditions, from the GPL (GNU General Public License) -- which allows "free distribution under the condition that further developments and applications are put under the same license" -- to more liberal licenses like the Apache License, which doesn't require modifications to be open and have the source code available.  Android uses both of these licenses, and we'll have a look at them in turn.

The Linux kernel that is used in the OS is covered under the GPL.  This means that any changes made to the source code must be made available when a binary (geek-speak for a compiled, executable piece of software) is released to the public.  This means manufacturers like HTC, Samsung, Motorola and the rest must release the kernel source-code for any devices they sell at the same time they begin selling them.  For the most part, hardware manufacturers are pretty good about doing so, but they often miss the time frame and release the source code a little later than we would like.  These are the code releases you see us mention -- the kernel and other open-source "bits" that are covered under the GPL.

The Android OS source code is released mostly under the Apache License.  Anybody is allowed to download the source code and change it however they like, but they are not required to make their changes available in source code form to the public.  This is why we can't change and recompile things like HTC Sense or MotoBlur -- the changes to the base Android source code aren't available to us.  While many folks (myself included) don't like this situation very much, it does make sense from a business standpoint.  If manufacturers had to share all of their secrets, there wouldn't be as much monetary incentive to innovate, so the source was offered with a far more liberal license.  It certainly worked, as we see devices from many major players in the electronics world.

Previously on Android A to Z: What is NFC?; Find more in the Android Dictionary

More from the Android Dictionary

A to Z Nandroid
Article
by Jerry Hildenbrand
Jun 15, 2012
If you've read about hacking or rooting your Android phone (or tablet, or media player) you've seen the word Nandroid used. When tinkering with your device, there's always a very good ch...
Multitasking
Article
by Jerry Hildenbrand
Jun 12, 2012
Multitasking is a word you'll hear a lot around here and at other places on the Internet that talk about smartphones or other tech. It doesn't mean what it used to, back when dinosaurs with ...
LG L Series
Article
by Jerry Hildenbrand
Jun 11, 2012
This time on Android A to Z we're going to be talking about LG's L-series phones. They made a big splash earlier this year at Mobile World Congress, and a few carriers in Canada jumped at th...
YUM!
Article
by Jerry Hildenbrand
Jun 08, 2012
Jellybean is the name of a delicious hard-shelled confectionery with a soft, even more delicious inside. Made mostly of sugar and Unicorn sweat, they are a favorite of Android bloggers and ex-presid...
IMEI
Article
by Jerry Hildenbrand
Jun 07, 2012
The IMEI (International Mobile Equipment Identity) number is a unique set of 15 digits used on GSM phones to identify them. Because the SIM card is associated with the user and can  be swa...

 
There are 2 comments

Jayblodg says:

The Apache License sounds kinda of like baking cookies. You can give grandma the recipe, but she makes them so much better because of her "secret ingredient" nobody else gets to know about.

selfcreation says:

but what grandma forgot to mention is she stole some of the recipe from the pillsbury boy (oem)and she has to pay royalty for every cookie that she makes.. LOL...