A modern phone is basically a computer, and a computer can be viewed as two layers; hardware and software. The hardware is the physical device, the circuit boards, chips, screen, camera, battery etc, and the software is the computer program running on it, the operating system, address book, apps etc. As with any computer, both these layers can be either open or closed source.
Hardware
Phones these days are so complex and advanced that there really is no competing open source hardware. The closest I have found is this arduino based cellphone, but it's no smartphone!
Software
There is currently not a great deal of choice whent it comes to open source software for phones...
Android is the main contender, stable, mature and well established, and although it is technicly Open Source, any Android phone or tablet bought from a shop today will contain coutless closed source components. Google is the main contributor to Android, and it looks as if newer versions are becoming less and less open. Below is a guide on removing as many of the close source companents as possable.
FirefoxOS is an up and coming alternative, althogh quite new and currently not so well supported, but worth keeping a close eye on.
What's on your Android?
Every company wants to advertise to, or lock in as many customers as they can, and what better way than by controlling what is on your device. Several companies have a head start...
First there is Google, playing a heavy role in the development of Android they get first dibs, pre-loading every device with numerous Google Apps: Play Store, GMail & Contacts, Google Maps & Navigation, G+, and plenty more apps that you may or may not ever use!
Second is the phone manufacturer, they usually just pop a few additional apps on the phone.
Third is the network provider. Sometimes you can buy a phone that is not locked to a network, but usually the reseller you take your contract with will also throw a few apps on your phone!
While these apps can provide useful benefits like your contacts on your phone being synchronised with those on you computer, cloud backups, tight intergartion of services, and general ease of use, it comes at a price. Privacy is a big concern, and you will also no be able to do much without creating a Google account and agreeing to their terms.
So you have an open source phone covered in close source components! What can you do!?
Fresh Start
It is possible to wipe the whole Android OS and start fresh by "flashing a custom ROM". My favourite ROM is CyanogenMod, although several others exist. Not all devices support all ROMS, so if you are thinking of getting a new device then check the supported devices list first for your chosen ROM.
Flashing a ROM to a phone/tablet is like reinstalling a computer. Everything will be deleted, and a whole new system will be installed. This is far more than the standard factory reset you can choose from the settings menu which just resets the current system to how you bought it from the shop.
If you've gone with CyanogenMod then you will have the option of installing the Google packages.. I always choose not to do this as many of them are closed source and/or require a Google account.
While your custom ROM will come with a few basic essential apps, you'll soon want to be installing some new apps. Without the Google packages you will have no Play Store, therefore no way to install any apps. This is where F-Droid comes in...
Open Source Apps for Android
F-Droid is a software repository (or "app store") for Android applications; it functions similarly to the Google Play store, but only contains free and open-source software.
- Open Canera
- Open StreetMap
- VLC
- K9 Mail
- Tint Browser
- Firefox