Does widespread adoption and commercialization of open source software create new challenges or pressures for open source projects?
Commercialization creates added pressures, especially for projects that are separate from the companies that provide commercial offerings around an otherwise free project. Frankly, the idea that commercial interests become involved in an OSS [open source software] project causes an allergic reaction to a lot of people. The reaction is mostly based on the idea that the commercial interests will overwhelm the decision-making process of the project. Realistically, without some amount of accountability, which comes best in the form of commercial interests, open source projects run the risk of becoming largely academic exercises that don't ship in time and have poor usability. How this accountability is applied into the project is the key factor in whether or not the commercialization will mean more success for the project or not.
Increased adoption of a project fuels the need for some level of governance and direction from the project. There's an interesting scenario in communities where tons of adoption bring way too many potentially conflicting interests, and without a proper governance structure, the project struggles because it cannot reconcile and prioritize the diverse requirements being thrown at it.
Both of these cases really don't apply to companies like ours [Hyperic] where the IP [intellectual property], the project, and the company are managed by the same entity. The community is open and works just like any other OSS project. The company is better able to balance the needs to fund and promote the community with the needs to deliver value to its customers.
What are the next steps needed for open source as a software production methodology to reach the next level?
We need a better understanding of the economics behind the various business models used by open source companies. At this point, no company except Red Hat has been able to demonstrate the type of large-scale economic viability that is necessary for a software company to be able to innovate at scale while using open source. Many are trying, but we're not there yet. The reason this is important is it acts as the proof behind how a company can fund the development of product(s) that are delivered in an open source model and still stick around to realize the benefits. It's not a one-size-fits-all approach, so I would not expect there to be a single recipe that everyone can follow. However, I do believe that the whole equation needs to be considered in order for this to work -- low customer acquisition cost + continuous feedback and contribution from the community + subscription value + scaled R&D. The R&D benefits are the most difficult to realize for a company like ours [Hyperic] because the audience for the product is not composed of software developers and the software is inherently complex. It's a little like operating systems such as Linux ... lots of people use them, very few know how to build them.
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?
I'd argue the biggest lesson has been and will remain the "desktop issue." People jumped on Linux as a potential desktop replacement very early on, and the debate continues to this day. Meanwhile, the operating system and the associated infrastructure tools such as Apache, PHP, etc., continue to enjoy explosive growth and disruption on the server side. I know there are many who believe that Windows and even Mac OS X are bad because they're not open source. That might be true, but one cannot argue that the user experience for both of these operating systems blows away anything you'd get out of Linux (at least today). The lesson here is that open source can deliver more immediate, tangible benefits in certain areas than in others, and the market is smart enough to figure that out. We'll get a good Linux desktop one day, I just don't see it happening any time soon, and I don't know that that's the right priority given where desktop computing is headed.