Last night Marriott was kind enough to upgrade me to a junior suite. I say "kind enough" but perhaps it was my due: I stay in Marriott-branded hotels over 75 nights each year. While I never pay for this level of room, Marriott occasionally rewards my loyalty with an expensive room type.
The same is true of Delta, on which I fly 125,000-plus miles each year. On domestic flights I nearly always get upgraded to first class, without ever paying for first class. I pay in "loyalty equity."
Open source is a bit the same. There are some who pay for the "full-price rooms/seats," while others pay by sticking with a project for a long time, devoting either small amounts of cash or code. Marten Mickos talks a bit about this when he refers to those who have more time than money (me sitting on the plane for 125,000-plus miles each year) and those who have more money than time (those that buy their seats in first class).
But what do we do about the majority of people in open source who neither contribute cash, code, or anything other than taking up a seat/room?
The answer, of course, is "Nothing" as there's really nothing that open-source projects can do about free-riders. And perhaps the answer is equally that there's nothing such projects should do about free-riders.
After all, these people perform two valuable functions:
- By using your project they theoretically are not throwing money at a proprietary product or other open-source product, so at least they're not feeding the competition; or
- They provide an emotional safety net who want to buy with the herd.
I read someone lauding this second point the other day, and I admit there's some validity to it. Most buyers don't want to take a risk on their purchases: They want to buy what everyone else is buying (or what everyone else would buy if they could afford it). So by providing a big population of users - including free-riders - an open-source community can project safety in numbers.
Unfortunately, this cuts the other way, as well: The more free-riders, the more encouraged would-be purchasers will be to free-ride, as well. Why should you be the only sucker paying for what everyone else is using for free, and quite comfortably?
Ultimately, someone must pay for software in order to have it written. It doesn't grow on trees and it doesn't grow on communities, either. That myth has caused more people to ignorantly open source their code than anything else. There are huge benefits from open sourcing one's code, but open source is not a substitute for the hard work of development, sales, marketing, etc. Nor is it a winning business model, in and of itself.
For those in the commercial open-source world (and that's most everyone now), we need to focus on finding ways to draw more people into the cash/code bargain without sacrificing the benefits that derive from fee-free adoption of open source.
Ideas?