What Business Can Learn from Open Source
dtolton writes "Paul Graham has written a fantastic article on what businesses can learn from Open Source. He covers why Amateurs can outperform Professionals, why the home is a better work environment than the office, and how bottom up ideas are better than top down. Finally he ties these lessons into the business relationship." Derived from a talk at Oscon 2005. From the article: "...the biggest thing business has to learn from open source is not about Linux or Firefox, but about the forces that produced them. Ultimately these will affect a lot more than what software you use. We may be able to get a fix on these underlying forces by triangulating from open source and blogging. As you've probably noticed, they have a lot in common."
The problem with the "I can be more productive at home" argument is that it blurs still further the distinction between work and personal life. IT people are already subject to odd-hours, psuedo or real on-call schedules, VPN access "just to check your email", etc.
People need to stop this trend - its not healthy. When I walk out the door of my job, I'm done. They pay me for 40 hours a week, and they get it. No more. If I work an extra 4 hours a week at home, I just gave myself a 10% pay cut.
I want to delete my account but Slashdot doesn't allow it.
why Amateurs can outperform Professionals
I think the article and the facts on the ground would justify rephrasing this as "why professional programmers get better results on their free time, without pointyhairs, committees, and marketing droids in their way".
The first reason is that many, many businesses are focused on building what the customers ask for. Clue number one: customers know fuck all about building software. If they were remotely clued in, they wouldn't need to ask somebody else to build it, would they?
So customers ask for stupid things. That's what makes them customers. The problem arises when the business doesn't care that it's stupid, but builds it for them anyway. Now you have a suboptimal solution that cost lots of money.
Compare this with the amateurs. They are building it for themselves, so they are qualified on both the problem domain and the software construction. They aren't going to build something stupid because they are going to be the ones using it.
Then there's the morale. The professionals are fully aware that what they are building is stupid. It's demoralising. They offer sensible solutions instead, but get knocked back with "it's not what the customer asked for". They begin to understand that their job isn't to build good software, it's to spend their time programming, and if the result is somewhat functional when they reach the deadline, that's just a bonus. It's not surprising that they don't really give a shit whether the code is up to scratch or not, because the whole exercise is pointless beyond collecting a paycheck.
Again, compare with the amateurs. They get satisfaction not only from using the software they wrote (being both users and developers simultaneously), but they get the satisfaction from finding that others appreciate it too. They know they've solved a problem well, and they take pride in their work. People who take pride in their work generally put in more effort.
If there's anything that businesses can learn from this, it's that they need to be able to say no to customers. To put off deadlines. To say "You know what? This is solving the wrong problem!" and go back to the drawing board with the customers to figure out a better approach. It's only when the professional programmers see that they are actually doing something productive that they'll feel motivated enough to take pride in their work, and feel like they are in an environment where they can contribute actual solutions instead of banging their head against a brick wall.
Google uses Linux which is free to make money. Tivo use Linux (although I don't know if they actually make money. Linksys sells (and I assume does pretty well) products like the WRT54g which run Linux.
I don't want to go crazy with examples, but the point is that lots of companies make money off of free software and some of them probably even give things back, they just don't always make money the way you expect a software company would.