Today, more than ever, the opportunities for an app developer are seemingly limitless. At his fingertips, he has the ability to create apps (applications or software) for two major operating systems that run on mobile devices. And why not? The mobile platform is clearly where the most opportunity (and the most fiscal reward) lies. And if a developer knows how to write apps for Android and iOS, the potential is unlimited. Many see Android’s open-source approach as a clear benefit. But is Android truly open or does it just seem that way?
To the average Android or iPhone user, phrases like “open-source” or “closed-source” are mystifying. All they see or understand is what happens on their devices. If the OS runs well, they can get the apps they want, and the device itself is affordable, they probably don’t care if the software code is free or not.
So, what is open-source software? Basically, it is software that is licensed and available to the general public without charge. The problem is the code is unprotected from changes and variations a developer may choose to make. Ideally, the hope is developers will take the code and improve upon it, but it also means a developer with an agenda could plant a bug in the code.
In terms of its more positive attributes, open-source makes it possible for an Android app developer to contribute to or create an Android app that is widely used by the public.
“Open-source” and “closed-source” at this juncture in app development history are probably misnomers. The actual coding, programming and development of the Android OS, for instance, is controlled by Google without input from Android app developers or anyone outside the company, then it is tested on OEM manufacturers’ various phones before it is released to developers. In that sense, the Android OS is closed.
But what really is closed-source software? It is software owned and developed by a company and licensed to specific users with restrictions against modifying or copying it. Think Apple and you’ll be in the right ballpark. The company has one operating system for its computers and one for its iPhones, tablets, watches and Apple TV.
Like Google, Apple develops its operating systems in house. With the introduction of Swift in 2014, developers could download, install, make recommendations, and modify the iOS code. The primary difference is that Apple is rigorous in its testing and tightly controls what gets into the final version of its own software. The same is true for its App Store. Anyone can develop an app, but the app must go through various levels of approval before it is available for download, which can take anywhere from 10 days to two weeks.
Open-Source and Closed-Source Differences
There are a few other factors to consider regarding open and closed software. Cost is, of course, the most significant factor. While Android is considered “open-source” and the software is free to whoever wants it, more technical expertise may be needed to support it. Proprietary or closed software may be more expensive initially, but you get a known brand, better security and features, and less time will be required for training.
Other Areas of Difference
While using open-source software may have its benefits as far as being less restrictive, it also has risks. If you are an Android app developer and you have a technical issue, you may have to rely on internet forums to find support. With a more closed system, more direct support is usually available, sometimes for an extra fee.
But probably the biggest single factor is security. Open software can lead to many cooks in the kitchen, and all it takes is one unethical developer to inject malicious code into open-source software. And since in most cases, open software is not peer reviewed or tested, elements like this could slip by without anyone realizing it.
Updates on Open-Source
Updates to the Android OS can be seemingly random. One set of users with one type of phone may get them more often than other users. And if users have an older phone or tablet, updates may not be available at all. Updates can also be dependent on the version of the OS. Google Chrome has improved in this area, but it’s not known how other mobile operating systems view the update process or how good their communication is with their user base.
Closed-source software will be tested, inspected and reviewed by a designated staff before it ever touches a user’s device, and updates are usually pretty frequent, especially as they relate to security. Like Android, Apple tends to make one large update to its operating system per year, but they usually do tell users what devices will be supported and what to expect in those updates.