Posted by Vince Wadhwani on Jun 21, 2008

I really enjoy free software. I love benefiting from it and I sleep easier knowing that no person or company is going to screw me out of money for an 'upgrade' or take away features under the same guise. Still, programmers have to make a living and the maintenance model of giving away the software and charging for support leaves me wondering what happens to a company/individual when too many people opt for the free option over the other. As a developer I cringe at the thought that my livelihood is dependent on donations or people clicking ads. It makes me wonder: can we charge for applications anymore in a world of free software?

I say we can. There's a middle ground between open source and proprietary. A place where source code is available but not freely distributed. What I'm thinking is a model where the code can be looked at, modified, used locally by the person/company modifying it, but only distributed back to the originating entity to incorporate or discard. Since the code can be modified at will, freedom is still retained. You won't be at the mercy of the developer if your changes (which you love) are not accepted for whatever reason.

The developer is also protected because they can go ahead and distribute the code, develop a strong community around the product, and still confidently earn a living by charging for a product. After all, some small, but useful programs are very unlikely to need a paid support contract.

The final provisions I'd propose are important ones. If the developer ceases support of the product or goes out of business then it effectively goes truly open source immediately. Secondly I'd add a delayed fork provision where any code older than a few years can be forked by the community and taken any direction under GPL/BSD or some other open license. The idea here being that if significant progress hasn't been made on the program in 2-3 years then it's time for the developer to stop milking a good idea and let the code go truly free.

IANAL so I don't know whether something like this exists. Also, I'm sure there are problems, both practical an ideological, with what I'm proposing. I'd love to hear comments on it. Just be nice and polite, ok?