A heated debate between advocates of closed vs. open software development has been boiling in the electronics and high-tech industries for decades.
Closed-system players have made everyday software relatively inexpensive and generally easy to use. But a closed approach can slow or even halt innovation.
Open architectures bring together lots of innovative people, unfettered by proprietary code and application programming interfaces, and let them innovate and develop. But much of the work is completed by hobbyists and after-hours workers. Too often the result has failed to achieve enterprise grade.
Although there are exceptions to this characterization, advocates for open development have been waiting for the right convergence of trends and capabilities that would tip the balance toward many of its obvious advantages: better economics, increased innovation and more-agile business models.
That convergence is happening now, making the time ripe for open-systems development to proliferate and succeed like never before. Feeding this trend are the growing complexity of consumer electronics products; the pressure on development and rollout cycle times; rising consumer expectations; and changing business models.
To deliver products and services to market faster, software and high-tech industries are increasingly embracing a new paradigm of collaboration, often referred to as "open innovation" and "collective invention." By harnessing the power of multiple players, companies can compete against dominant rivals operating on closed-system innovation, tapping into more sources and gaining the ability to achieve development scale more rapidly.
In an open environment, companies can collaborate on a common development platform, but then compete on the innovative nature of the products. By sharing the work using an open infrastructure, companies have the ability to get products to market faster and at reduced risk.
By looking at how the problems of open-source software have traditionally been addressed, we can get an understanding of how to structure a project with a higher probability of success.