Open Source: Fuel for the Smartphone Explosion
Open source and mobile development seem to be a match made in heaven. No matter what development methodologies an organization prefers, open source is the key to making speedy progress. Yet the collaborative nature of open source, which is what makes it so attractive, can also pose challenges. Companies need the right tools to avoid the pitfalls that can be associated with unmanaged development.
It may not seem obvious at first, but the tragic earthquake in Haiti, the historic election that put a Massachusetts Republican in the U.S. Senate and the 2010 Super Bowl all have something in common: the smartphone. During each event, billions of consumers around the globe were glued to their phones, either donating to charities and updating their Twitter accounts about the crisis in Haiti, posting on blogs about how change seems to be in the air in U.S. politics, or conveying their happiness (or unhappiness) about the big game.
Of course, not everyone has a smartphone, but their increasing popularity is impossible to ignore. Many analyst firms, including Gartner and IDC, predict that smartphones will not only continue to be embraced by consumers, but also outpace PC sales within just a few years -- despite the economic downturn.
To meet the anticipated demand, smartphone manufacturers are churning out new models on a daily basis, or so it seems. As a result, design, production, and application development -- like everything else in our fast-paced world -- must keep pace.
Collaborative Role Model
Fueling the smartphone business is a torrid pace of innovation enabled by open source software. Were it not for the availability of OSS, the fast turnaround for smartphone manufacturers might not be possible, which could explain why the mobile industry has been one of the most aggressive in terms of adopting open source and is a model for the rest of the software-enabled world.
Open source appears to be ever-present in mobile. With operating systems such as Android, and LiMo growing in popularity and Symbian completing its migration to open source, its power is being demonstrated everywhere. Handset makers such as Motorola, HTC and Sony Ericson rely heavily on OSS for their development. Even closed phones like the iPhone use dozens of OSS components (To see for yourself, check out the legal notices in your iPhone at Settings -> General -> About -> Legal).
The mobile industry, perhaps more than any other, realized OSS was the best strategy for innovation because of its collaborative development model. The newly open-sourced Symbian operating system accounts for more than 40 percent of the mobile market; Android's share is <10 percent but growing. Apple -- a closed system written in Objective C -- is in the 15 percent range, with Linux under 10 percent, according to 2009 figures from StatCounter. Android is projected to gain market share in 2010, based on improved SDKs and tools for application developers (two open source Rookie of the Year winners were based on Android).
Access to open source code from a massive abundance of projects -- combined with the compelling economics and flexibility enabled by the modular nature of open source -- has caused mobile phone manufacturers not only to take notice, but also to move ahead aggressively with open source.
Boon for Development
Pragmatic development managers and their IT leaders are adopting open source and combining it with other code more than ever before. This comes at a time when difficult economic and market conditions are forcing software development teams to do even more with less, and to become even more responsive to customer needs.
No matter whether an organization relies on traditional waterfall software development methodologies or more flexible agile development processes, the use of open source code is the key to dramatically speeding software development.
In today's software development environment, it is a rare programmer who starts a project entirely from scratch. Forty percent of open source software is used as building blocks for larger applications, and 60 percent is used to replace commercial software, a recent Gartner survey shows.
Available open source components, methods, classes and algorithms are too numerous to list. More than 220,000 open source projects are available via more than 4,500 Internet sites. These open source software components allow organizations to reduce the cost of developing software, eliminating the waste of reinventing the wheel and enabling innovation.
Open source helps companies stretch development resources and save money, figures from the 451 Group show, but a more important finding is that open source improves development flexibility and agility, which is oftentimes of greater strategic importance.
For development organizations, managing the trade-off of writing code from scratch versus a simple search that reveals good code (open source, or home-grown code that may reside in a remote internal repository), versus managing outsourced development, can make or break the innovation process -- especially when considering new areas of investment such as cloud computing.
As with anything, however, there are challenges to implementing open source.
Steady Hand on the Tiller
A colleague of mine shared an anecdote that sums up my thoughts perfectly. He heard a seasoned mobile technology executive speaking on a conference panel at OSIM about open source and mobile development. Most development managers won't find this a surprise, but this executive told the panel that it's possible to lose money with open source development just as easily as with proprietary software. In other words, the laws of software development still apply.
The executive's sentiments were on target. Even though open source has become widely adopted in the mobile industry, that doesn't mean projects will always run smoothly. If key elements such as management, compliance and security aren't appropriately addressed, problems will ensue.
These challenges range from multiple developers operating independently, making localized decisions, or pulling in code from a plethora of external sources with little or no control or guidance, to lack of standardization, which can lead to version proliferation and use of redundant components -- all of which result in operational inefficiency and compliance risk.
For OSS to continue its success in the mobile marketplace -- and in other markets -- companies need the right tools to avoid the pitfalls that can be associated with the unmanaged development of open source projects.
While everyone is waiting for the recession to abate, pragmatism and savings will continue to be dominating factors for software development. It's those factors that are at the heart of open source, and are what will help to keep competition in the smartphone industry intense. Managing the abundance of open source may become the competitive differentiator that enables smartphone manufacturers to keep their product lines fresh and stay ahead of the competition.
Tim Yeaton is president and CEO of Black Duck Software, a provider of products and services for automating the management, governance and secure use of open source software in multisource development at enterprise scale..