Recently, I worked on a Linux-based project. After spending most of my recent years in Windows land, it was interesting to see where Linux has gone. Yes, there are some visual tools so you don’t have to ls and cd your way around the file system if you don’t want to. Yes, there’s a nice way to install software (thank goodness). There are even some decent applications for code development.
But, what struck me was the overall clunkiness of the environment. I still hear people talk about setting up a Linux box for their home and I don’t get it. It’s capable and secure, but the average home user would be lost. It’s an environment for people who like to, or need to, tinker with the engine themselves.
This brings me to my point. I see Linux as the largest example of open source software. It has lots of functionality and tons of contributors. However, how many times have you downloaded an open source project or freeware in any environment, just to discover that the support has disappeared a year ago. It’s interesting because sometimes a project like this is the only thing that fits your problem well, but when the support disappears, you’re out of luck. I started using a java user interface toolkit that was amazing, but the developer just shut the project down and I can’t even find the documentation online anymore.
I believe the answer is in the lack of financial incentive. For all the talk of the greater good and free software (for which I’m very grateful), the quality and support is usually better when someone is trying to make a living producing it than when it’s just a pet project.
The next time you’re sitting at work, writing code for a living, think about what you owe to your employer who’s paying your salary and benefits, and the users, who rely on your software. Or think about the potential users, whom you are trying to lure into buying your software. If there’s money involved, will this change your attitude on how you work?