In light of the arrival of the iPhone 4, I’ve been confronted with an age-old question: what is the current state of open source?
Apple is ruling the future of the phone market with iPhone. Android is the up-and-coming competitor. Google is betting on their Linux phone, and betting hard. Google’s goal is to make money with their ads. I figured it would work, until I saw that Apple had iAds, something far more media-rich than Google Ads.
Apple is creating the tablet market with the iPad. Some manufacturers have been working on Android tablets, but they will be late to the game.
Apple is moving into the mobile gaming market with the iPhone/iPod/iPad. Android hasn’t really started to achieve the level of choice available in the Apple App Store.
Microsoft is continuing to hold onto its desktop OS market. OS X is making inroads into this market because of Microsoft’s failure to get wide adoption of Windows Vista. It remains to be seen if Windows 7 can recoup those losses. Desktop Linux failed on many fronts for many reasons. OS X and Windows have something Linux lacked, a consistent interface for applications. Ubuntu is the most promising Desktop Linux available for the average user, but it can’t overcome the inconsistency across the UIs of the thousands of applications it supports.
Microsoft is continuing the hold onto its business server market. This is the market of file sharing and directory services. Neither Apple nor the Open Source world have been able to offer an alternative in these areas that has the level of adoption as Windows Servers.
Linux seems to be best suited for appliances, like wireless routers, but it remains to be seen how many hardware manufacturers see it as beneficial to continue to use Linux rather than implementing their own OS and utilities.
Linux seems to be the platform of choice for hosting application servers, like JBoss. Unfortunately for Linux, most (all?) of these application servers can also be easily run on Windows or OS X.
Linux seems to be the platform of choice for web servers. This is largely because Linux is inexpensive and IIS is not as feature-rich as Apache. Apache can be easily run on Windows or OS X.
So, where does Open Source fit into this new world order?
There are several options for the Open Source developer (not in any particular order):
- Write applications in Java, Scala, or some other language that is platform independent, in hopes that it will be available on the largest number of platforms. This will not help you on iOS, where you are stuck with Apple’s API and Apple’s implementation of Objective-C.
- Continue to develop applications for the LAMP platform. As most of the these apps only need the AMP without the Linux, get used to the idea that folks might run it on Windows or OS X.
- Write some libraries that can be incorporated into iOS apps. This may violate Apple’s terms of use, so be careful.
- Continue to write desktop applications that only run on Linux.
- Android. Google is actually achieving some consistency for apps on its Linux platform, but not to the degree that Apple’s draconian tactics have achieved.
- Make something NEW. Actually innovate in a way that forces the Apples and the Microsofts of the world to fear, and, eventually copy, the idea/concept/software. This is an area where open source once shined.