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.