Masson’s blog has lots of good entries (if you just want to be amused, try a 10 year press release diff). One thing he bemoans repeatedly and pithily (It’s “many eyeballs…” not “many projects…”) is too much fragmentation and too little collaboration among open source projects. His most recent post, Joiners, Not Starters:
What’s painful is that there are already over 350 open source communities developing learning management systems. I find it frustrating and hypocritical to hear, “This is a great time to get involved for people who are interested in helping to shape this project…” from people who chose not to get involved–rather, choosing to do something on their own. Why is it a great time to join the Adapt project over any other existing effort looking to build community for support, contribution and collaboration? Why didn’t the folks who are developing Adapt take advantage of this great time in open source development and join an existing initiative? Indeed, couldn’t every current open source project (substituting out Adapt for their own name) use the above announcement to generate awareness and adoption of their own project?
Sounds just like the first question/advice for anyone looking to start a new organization. Economies of scale are hard to beat. But fragmentation is much worse for software, so much of its value coming from network effects. When lots of people, preferably most of the relevant population, are using a software application, it’s easy to find training, advice, employees, commercial support, and preinstalls of that software. It is easy to figure out which software is pertinent. Massively valuable stuff. Oh, and more people contributing to making the software better, if it is open source.
When there are lots of open source alternatives for a particular kind of software, and this contributes to none of them being dominant, the ability of open source to compete with proprietary vendors and deliver freedom to users and society, is severely hampered. More or less killed. (The inverse can also be true, but probably with many fewer instances.) The Linux desktop is probably an example. Further, public policy is negatively impacted: fragmented projects serve at best as existence proofs, dominant open projects powerfully shape the policy conversation, and the policy ecosystem — by wiping out the capitalization of entities aligned with rent seeking.
People who know the open source world well like to worry about about “license proliferation” (which the OSI’s license list mentioned at the beginning serves to throttle) and related, license incompatibility. I do too, including in and across nearby spaces, to the extent I think it is a minor tragedy that licenses first developed for software didn’t also come to dominate culture, data, hardware, etc, yet. But I’m pretty sure the open world could cope with each project adapting or developing a license just for its own use, though it would be hugely annoying. Fortunately, progress has often been in the right direction.
Project/program proliferation and related dwarfish network effects and collaboration are much, much bigger problems. There are cases where a dominant program has arisen from a highly fragmented field (eg WordPress among a mess of open source blog engines, Django among lots of Python web frameworks, git among a smaller number of distributed version control systems), but I’m not sure this has ever come about because people agitated against proliferation. There are standards-like collaborations among projects, such as freedesktop.org, which can result in more sharing of code and collaboration among projects, but I’m not sure do much to enable mass adoption and network effects. What more can be done, given that of course it will always be acceptable, often educational, and very occasionally wildly successful to work on Yet Another Foo?
- The low-hanging fruit is to help projects become easier for new contributors to get involved in, and friendly for staying involved in. Decrease the cost of contributing to existing projects, more will choose to do that rather than start, or leave to start, new projects.
- I don’t have much insight into the politically charged process of picking winners and merging efforts. Distributions (which are themselves terribly fragmented) probably already do a lot. Could they do more? Could institutions broker mergers? Could OSI? Stun all by bringing LibreOffice and OpenOffice together. GNOME, KDE, and Unity as well. How about federated social web efforts?
- Marketing, promotion, sales. These are what any large proprietary software company does (same outside software, for publishing, etc.), and what open source projects need a lot more of, both to compete directly with proprietary industry, and to help winners with huge network effects emerge.
Each of these points also apply very strongly to non-software projects.
Another thing Masson repeatedly bemoans on his blog, and that I very much agree with, is the lack of “open” advocates eating their own dogfood — using open things other than the one they’re promoting, or open things from fields other than the one they’re supposedly opening:
However with so little folks actually interested in openness, but rather promoting their open product, we just don’t see the level of adoption we should with all open initiatives. Basically, if I can be blunt, you’re a hypocrite if you get up in front of your peers to proclaim the superiority of your project because it embraces open principles and practices, arguing it is those principles and practices that yield better products, but you yourself have not adopted other open resources. “Hold on, let me open up PowerPoint to tell you about how bad commercial software is.”
This not only harms network effects (or rather, has “open” advocates contributing to the network effects of proprietary software, culture, etc), but reduces knowledge transfer across open projects and fields. Masson seems to come from the education technology world; if that is anything like the open education[al resources] world, I suspect he’s speaking from painful experience.
Congratulations to OSI and Masson. I look froward to amazing progress on the above problems and many others! You can support their work by joining OSI as an individual member. Of course I also recommend joining the Free Software Foundation as an individual member. Because open source means freedom.