Most proprietary software is written with the assumption that nobody's looking over the programmer's shoulder. With open source, the whole world is looking over the programmer's shoulder. Programmers write better code because they know that. Consider what happens today when a programmer is hired. How can any company tell much about the quality of their work? You can't get much good data out of their previous employer, if you can get any. But you can look at their open source code, and you can check out their interaction on the project's discussion lists and see if they are a team worker or a flamer. So, I think a lot of programmers realize today that their open source work is their résumé. That's a big quality incentive.
But what would I like to see for a next step? I would like to aim high. See that Macintosh desktop? It's got great consistency, it treats the user pretty well. Can we beat it? I think it's possible, but it would take strong leadership and a dedicated team.
When I left Pixar in 1999, Steve Jobs still didn't believe that open source could produce a good GUI at all. Two years later, he introduced Safari, which was derived from open source GUI work, while standing in front of a slide that said "open source, We Love It." I guess I won that argument.
Eric S. Raymond
Programmer, author, and
open source software advocate
Raymond: I think the need for languages and toolchains with provable security and assurance properties is growing acute. Though that need is not exclusively an open-source issue, the work to address it is going to have to be done in open source -- because who in their right mind is going to trust a closed binary blob?
Senior director of platform technology
Ramji: As a production methodology, open source development reduces to distributed collaborative software development with an implicit social model (power users, community developers, committers, leads, maintainers). This is largely independent of the scale of the project. Past models that have reached maturity have generally “arrived” when they are richly supported by tools (for example, object orientation and UML). We are already seeing team development tools on the market that are built around these distributed collaboration models, and include wikis, forums, and the typical features seen in open source forges.