In a comment responding to my previous post, engima_foundary makes an excellent observation:
In a nutshell, I consider a Free Software company as a thin membrane, with their clients on one side and the developers and Free Software on the other. They mediate between the two wowrlds, and the value they bring to their clients consists of two things: (1) Service – which is their responsiveness to their costomers & (2) their reputation and integrity.
Well, guess what-they just assinated their own integrity. So all they have left is service, and that means they are at a disadvantage to their competitors.
I think this is an excellent description of what a free software company does. Fundamentally, they create value by serving as an intermediary between two distinct communities that operate on somewhat different norms. On the one hand, you’ve got the free software community, which is organized on fundamentally non-commercial principles. The coin of the realm is code, not money. You gain a good reputation in that community by writing great code and making it available for others to build on, and by respecting the communities strong norms of reciprocity.
On the other hand, you’ve got the business community, which is obviously built on different principles. The coin of the realm is money, and you earn it by faithfully serving the needs of your customers.
Each community has something the other wants (crudely: code and money, respectively). The problem is that success in each community requires credibility within that community. Most businesses lack credibility in the free software community, and vice versa. The service provided by companies like Red Hat is that because they have earned credibility in both communities, they can serve as an effective interface between them.
In doing so, it’s important that they straddle the fence effectively, keeping one foot planted firmly on each side. If they’re perceived as violating the norms of one community, they will thereby diminish their value to members of the other community.
There are other examples of firms that perform this function of serving as an intermediary between the business world and other communities. A good PR firm, for example, is successful largely because they’re able to build credibility with the media which they can then sell to their clients. A PR firm that gains a reputation among journalists for regularly telling bald-faced lies won’t be very attractive to clients, because hiring them won’t enhance the client’s message no matter how well-written the press releases. Part of a good PR firm’s job, then, is to tell the client when a proposed message won’t be credible, and to say “no” to clients who insist on pushing flatly dishonest messages.
A free software company that’s hated by other free software developers is about as useless to businesses as a PR firm that’s widely hated by journalists. Sure, they can still develop SuSe on their own, just as an unpopular PR firm can still write press releases. But without the ability to harness the value generated by the free software community, it will be very difficult to compete.