I've been reading Slashdot for year now. Nice read, excellent way of informing oneself and also of procrastinating. But all this reading got me thinking (better later than never): is giving stuff for free actually hurting us, programmers?
Ok, free is good, ideals are good and the greater good is good too. But while we do nice things like giving everyone free browsers, free OS, free whatever; we are hurting us, IT people, and a lot. People take software for granted. And why wouldn't they? You can get pretty much everything for free. The thing is, if we don't value our work then who will? In the real world where ideals mean squat and it's about money, position, influence and title, the value of your work is your value as an individual. People value lawyers not because they appreciate their work, but because of the rates they command and their perceived influence and social position. The status of IT people has gone down from weird guys with a cool, incomprehensible job to asocial geeks that are just above plumbers. And it will go down even more because it is about perception.
I read posts from people very proud they saved that much money for the business by getting this and that for free. What they forget is that they do this for a business and that business is about making money as much as the software vendors. They simply transferred value from one shark to another. The business will not give some of what they produce for free to make up for what they got. They will pocket the money, and some managers will get a fat bonus. And next time, they will expect you to get them free stuff so that they can pocket more money. Think IBM, FileNet, MySQL, VMWare or banks starting using freeware. Do you think that the deal pushers getting the big bucks respect you because you contributed to their success or do they perceive you as suckers who gave their valuable assets for free?
It is true that everyday people will get stuff for free, but how important is that? Everyone on Slashdot reckons that Joe six pack is happy with whatever he gets for his minimal needs. In the mean time businesses use your work to make money. As a side result, if you, as a small guy have an idea of product, you might find out that there is some free alternative. It might be worse that what you are thinking to build, but it is free. And if you try to build your thing, you will compare to that alternative. Managers value money and the value of your proposal is smaller because someone else is doing it for free and that's all it matters for them. Not ideals, greater good or the perfect architecture.
Let's say you are a twenty something full of ideals, enthusiasm and lots of time. And you build cool stuff and give it away for free. Some company spot it and builds a commercial product around the idea and make money out of it. You might get a well paid job with them or you might get the same treatment as the nDoc guy. Years pass and you are almost forty, family, kids and a hefty mortgage. You look back and somehow you think you should have tried to make a better life for you and your family instead of being a corporate whore by day and a cool code cowboy by night. You get fifty and your kids wonder what you do. You are still are a programmer most likely senior, fat and burned out. Your daughter tells you to get rid of the pony tail because you embarrass her. And you try to convince your kids and yourself that you built whatever great stuff and what a great achievement that was. But that was long time ago and it is not relevant anymore. What is painfully relevant is that you struggle to make ends meet. Your neighbour is a manager, lawyer or has a small business and can buy his kids the latest iPod 10TB or the latest fashion clothes and a red car. He is connected, has a shiny smile, straight posture and a fancy title that everybody respects.
You look back again and realized that while you've had a decent life you could have had a bit more and somehow you screwed your family, yourself and your fellow programmers in the process."