The state of open source: Mark Spencer, Digium
- 09 April, 2008 12:08
Mark Spencer, founder and CTO of Digium, has successfully given open source VoIP platform Asterisk a voice in the enterprise, thanks in large part to an ongoing commitment to community development. Here's how Spencer sees open source's best bets for seizing business opportunities.
What do you see as the more pressing challenges and opportunities for open source given the current tech climate?
I see the challenge to be finding and building the right combination of technologies to address the demand for the integration of different software applications and systems such as accounting, reporting, ERP, CRM, etc. Open source is uniquely positioned to allow easy adaptation to address these needs.
Where do you see open source heading in the next five years, especially with regard to development, community, and market opportunities?
The value of open source technology is widely recognized today. Even Microsoft has taken notice and built and is promoting their open source interoperability lab. Open source is a technology and licensing model that is here to stay and grow. Open source projects tend to start by focusing on highly technical interest groups (such as compilers and system libraries, which are focused at software developers). As adaptation of the open source projects grow broader, more products appear addressing a less technical audience, such as Open Office and "The Gimp," Ubuntu, and others have done. In fact, I personally view Open Office as one of the most critical open source software packages because it is the key to transitioning users and enterprises away from Microsoft Office and thus enables users to switch to Linux. Today, we are at the knee of the curve on this movement.
Does widespread adoption and commercialization of open source software create new challenges or pressures for open source projects?
First, it is important to recognize the opportunity from the commercialization of open source software. Originally, there were just plain-old open source projects. Then people realized that by pairing open source projects with nonprofit organizations -- such as the Apache Foundation -- certain benefits could be achieved through improved leadership, direction, and an entity that could act to represent the interests of the users of the technology. Digium is a company on the forefront of what I believe to be the next logical step. By pairing an open source project with a for-profit company, there exists an opportunity for the company to provide promotion and marketing, product qualification and formalized testing, documentation, industry certification, and many other benefits that are harder for nonprofits or, certainly, isolated projects on their own. At Digium, for example, the largest single group in engineering is the group that develops for open source Asterisk. Most nonprofits would dream to be able to provide more than a dozen paid developers working full time on open source. Even with this benefit, however, there are people who tend to think of a battle between open source and commercial interests, and there is a challenge in bringing those people around to see how a properly built company can act as a steward for an open source project in a way that benefits the community even more than a nonprofit can.
Further, there are challenges that exist because there are companies who simply use the open source code without actually contributing back to the community in any way. While this is sometimes legally permissible, it is of course detrimental to the project, especially when those kinds of companies compete with companies who are spending resources on improving the core technology. While the community close to the project clearly understands this distinction, it is generally lost on the consumer population at large, and I think educating the consumer on the importance of supporting "real" open source companies will be important to giving this model its greatest effectiveness.
What are the next steps needed for open source as a software production methodology to reach the next level?
I think increased focus on the transition from project to product (especially through for-profit companies) will help carry open source projects from a more limited audience to the consumer markets at large. For example, Digium's focus today is not only on providing component hardware and software but on providing solutions for small businesses that are not only understood by consumers but understood by the traditional channel that reaches those consumers as well. I think that partnership between open source projects will also help improve their ability to interact with one another, thus helping innovate in the area of high integration. The power of that integration will in the long run help solidify the value proposition for enterprise customers, in particular.
Open source now enjoys a rich and complex history, which is largely the result of trial and error over the years. What would you say have been the open source community's greatest missteps, or lessons learned?
We have learned a lot of lessons. The project started without an organization, and nonprofit organizations helped and taught us how to interact in better ways with the community. Those were the early days. The next steps are to continue to grow and be relevant in a commercial organization to take open source to the next level with corporate focus and identity and penetrate mainstream businesses and markets.
If you could wave your wand and create the perfect software "universe," what would it look like?
It would be a software development model and world where people who built and used software all benefited from -- and contributed to -- open source. Everyone who commercially utilized the code would in principle have to contribute directly (through code contribution under GPL) or indirectly (through funding open source development through license fees). This is something I attempted to do with Digium. Some companies have found what they believe to be loopholes that allow them to exploit the system to neither contribute directly nor indirectly, but in fact to detract from our ability to contribute to the project. Given the chance in the future, I would try to find a model that made this airtight.
There has been a fair amount of controversy, competition, and dissent within the various open source communities. Does this lack of agreement damage the long-term goals of open source, or would you like to see more of this?
As projects grow to compete with one another, it helps the de-facto leaders of the project to focus and be better and faster at delivering value to users. In Asterisk's case, there are forks of the software that lack alignment with the project. These other projects have not gained traction as a whole but have driven Digium to be better at delivering the promise of both community-driven software and commercial for-profit software. This helps reinforce our model's effectiveness. At the end of the day, there are few top-notch developers to go around, limiting the number of projects that can gain traction in any given market, so that's the biggest downside to the competition. The hardest part for me personally as it relates to competition is having built a company to support my open source project and having to compete against companies who use my own software to build businesses which are not only competitive to my own but take away from my ability to support the very projects they're using to build their businesses on. To some degree, this is a risk of open source, but it doesn't make it easier for me as a developer/entrepreneur.