With Android and iOS being the top 2 OS’s in the mobile market many analysis compare the two by looking at the software model that Google applies versus Apple. Google’s Android is considered an Open Source mobile OS, while Apple’s iOS is considered closed source and each has its own benefits and issues. Google uses an open model, which means that they release the source code for the mobile OS, the source code is the code in English before it compiled into 1’s and 0’s, this gives developers the option to look deeper into the code and alter things as they wish. By having an Open Source software program, you allow developers to alter large amounts of the code to their own preference. Apple’s Closed Source iOS does the opposite, they don’t allow developers to change anything that deals with the operating system itself, and gives developers an API which is set of tools that lets them develop programs for the iPhone, but restricts what they have access to.
Advantages to having an open model
- Larger Developer Support – As its open source anyone can develop for the platform, giving it a much larger support for developers and gives them more of a feeling of ownership as they can alter whatever they like.
- Customizable – In a closed source scenario, developers are given only options to change what the original developer chooses, but having full control lets them customize the look feel and even features of the software giving it much more possibilities
- More Secure – Open source is much more transparent than closed, this means that anyone can look over the code, by having thousands of people reading through your code, bugs and vulnerabilities are located much quicker and submitted for fixing, it also lets you know if the bug has been fixed as you can check the code after each release.
- Extended Community Support – As a product ages the original developer might move on and stop developing leaving the product to age with no new fixes or features, but if its open then usually the community takes over and continues working on it allowing the usable life of the product to be extended well beyond what the original developer intended.
Advantages to having a closed model
- Less confusion for customers – Many people aren’t sure what the advantages of the different versions of android, is HTC Sense better than MotoBlur? By not allowing people to alter core features it makes it easier to pick the product you want, there is only one version of iOS that people need to learn about
- Unified experience – Because its close the developer can choose the layout, the features, the options, the colors, and pretty much anything they choose. This seems restrictive, but at least guarantees that every user will have a similar experience and gives it a standard that can’t be changed.
- More profitable – A closed model can be greatly profitable as you can charge money for developers to use your API, and can lock out competition by not making your design available for them to see.
Like what you've read? Sign up for the NSI blog.