Friday, October 16, 2009

Preference for open source is based on a simple, easy to understand premise.An open source code base is your asset. A proprietary code base is someone else’s asset. Just so long as you understand what “your” and “someone else’s” mean.

Now it’s true that an open source asset is shared. But that’s why GPL code may be the best open source asset to have, if you’re not a software company. Everyone who has GPL code has an obligation to share their improvements. Other people are busy, right now, increasing the value of your GPL assets.

This calculation is true for businesses as well as governments. You don’t need a mandate, assuming you can sell the idea behind a preference to your staff. (Thanks to Matt Asay for his excellent essay on this subject.)

This is something managers in all kinds of enterprises — public, private, and philanthropic — often fail to do. There is a tendency everywhere to mandate. Business managers pass orders down the line without giving much thought to its impact on the people below them. It’s easier than selling.

Vendors take advantage of this to sell a preference for closed source to their customers. Employees are defending their jobs, and futures, by defending the vendor’s interests. Change vendors, even to open source, and your skills with Microsoft or Oracle code can seem worthless, your job may be at risk.

So there is a lot business can learn from the problems governments have in trying to mandate open source. If a Fortunate 500 company dumps Windows for Linux it can face the same resistance.

This can be a hard lesson for top management to learn. You advertise for technical help. You state the specific programs you want people to know. These skills are their assets, and if you make vendor changes — you will always make vendor changes — employees see their assets destroyed.

My dear wife of some decades talks about this all the time, in relation to her work. Her employers get new software and now only want experts in that stuff. The old people are vulnerable.

But people can learn, and people will learn if you give them the chance. The same minds that learned assembler can learn Java. The same minds that learned Oracle can learn mySQL.

Management attitudes are what need to change. Stop thinking of programmers as mere skill sets. They’re trained minds and willing hearts. Most are anxious to take on new skills. Give them a chance. Sell them, don’t just issue them orders.

That’s why preferences are better than mandates. Preferences begin a sales process, they give people a chance to learn new skills. Mandates are always a threat, or at least they are perceived as threatening.

Business and government aren’t really so different. Managing is managing, coding is coding. Treat people as they deserve to be treated and most will come good. Treat them as cogs in your machine and the friction will grind that machine down.