Thu 22 Mar 2007
So the reason I really like the GPLv2 is exactly that it allows everybody to be selfish and not having to really believe in any other politics. We can all be selfish and do things that make sense for ourselves, and it really boils down to a very simple equation: “I will get more effort out of other people working on it too, than I have to give back.”
And yes, you can be a free-loader, and not do anything at all, but on the other hand, if you do that you don’t really “cost” anything to any of the people who truly help in development, and you also won’t actually get your specific needs looked at. So to get the most out of the whole process, you really do end up having to help with the process yourself.
That’s a kind of beauty, to me. People are encouraged to chip in and help, not because of some political agenda, or because they try to be “good people,” but simply because it helps themselves more than not chipping in and helping would. That’s what I would call “positive feedback!” — Linus Torvalds
I think “positive feedback” is a really lame term for the awesome effect he described. Instead I would describe this effect as “systemic self-enforcing behavioral incentives providing a socially net positive outcome”. It’s a rare effect, but totally awesome when harnessed — you don’t need a complicated bureaucracy or reliance on assuming people or organizations will play nice.
I’d like to see politicians and other organizational leaders to target this effect broadly across society as an alternative to traditional approaches. If by design the self-interested actions of various members can lead to co-operation and mutual benefit without need for heavy-handed central management or irrational hope for goodwill… that would be a huge win.
I have to admit… this effect is a large reason why I love free software.



March 22nd, 2007 at 12:51pm
On the other hand, I think that having open standards for interoperability is way more important than having just the code be open. It’d be nice if proprietary systems could still hook into open communities, and really an open protocol to talk to closed software allows a clean-room reimplementation whereas the converse isn’t true (look at Jabber vs. the billions of opensource TOC implementations, for example - it’s really easy to make a free Jabber client which will talk with a proprietary Jabber server, but not so easy to make any sort of TOC server which will talk with any of the TOC clients, simply because all of the protocol stuff is discovered on an ad-hoc basis and not really documented anywhere).
And to combine the two, look at DJabberd - it’s a completely opensource implementation of the completely open Jabber protocol, but its actual API is so poorly-documented and convoluted that the only people who really use it are the people who wrote it to begin with.
March 22nd, 2007 at 9:05pm
fluffy: open standards are indeed important to foster truly open competition. However, the topic of the GPL license refers instead to collaboration — a way for Dell, HP, IBM, Novell, Red Hat, Nokia, etc to work together for mutual benefit. The systemic self-reinforcing behavioural incentives of the GPL mean that it doesn’t make sense for these companies to fork software in the way that proprietary and anarchistic software licenses have. Instead, they work together and provide a net social outcome which benefits all parties.
Of course, the GPL does not guarantee perfect solutions. But once a GPL project reaches the stage of multiple serious contributors, the disincentive to forking is so great that it very seldom happens. I don’t think any jabber implementations have reached that stage, and their success would be independent of software license.