You need more than free rocks

We’re realizing is that Open Source is more than just free software. Free software is like free rocks. You need rocks, but rocks aren’t enough to build a house. You get the Open Source effect only when you have a pyramid of people (roles, actually — you can still get the Open Source effect if one person fulfills all these roles) associated with the project:

/ Editors \
/ Developers \
/ Contributors \
/ Contributors \
/ Users, Users \
/ Users, Users, Users \

The Editors decide what goes into a project and what falls on the floor. Developers write the code. Contributors write documentation, answer questions, report bugs, blog about the software, review the software, and do everything else which isn’t coding. Users just use the code, but of course the role of user is why everybody else does what they do.

Together, these people form a community.

Steve Ballmer is famous for prancing across a stage chanting Developers, developers, developers But he’s wrong. It’s about “Users, users, users”, or in his context, “Customers, customers, customers.” When you’ve got those people at the base of your software, the developers will show up, in droves. In his context, there are no customers, no users, unless he’s already paid the developers and editors. That’s how capitalism works: entrepreneurs borrow money from capitalists, pay workers, and hope to sell the goods to pay back the capitalists and keep paying workers.

In the open source context, production is more organic. Nearly every open source project starts with a single person in all the roles. Linux Torvalds was famously only seeking to learn about the 32-bit x86 processor when he wrote a multi-tasking kernel. My packet driver collection came from having an oddball (but higher-performing) Ethernet card. I wrote a driver for that one, and for the standard 3c501 everyone else was using, and from that an industry was born (eventually including McDonald’s cash registers.)