Monthly Archive for August, 2008

No new features, please!

Most mature software packages are under continuous development, and major upgrades are usually released at regular intervals of 12 to 24 months. This gives us a steady stream of new features that enable us to do more work better and faster. Hooorah! More power to the people!

The power to perform computational magic is available to all of you if you can just learn how to use the proper tools to their full potential. And therein lies the problem. You need to learn the features before you can do the magic. That takes time. Lots of time. Time you don’t have.

Learning new software is easy if it’s well documented, with good introductions, howtos, video tutorials and interactive help that answers more than the most obvious questions. Unfortunately, most software falls way short of meeting this requirement. For instance, none of the operating systems that I know of has an official manual. Windows Vista is one of the most complex pieces of software to date, with features that probably not even Bill Gates or Steve Ballmer knows about. Where is the manual, tutorial or what have you that serves the purpose, that will guide you and me, novice or expert, through this software labyrinth? And don’t fool yourself by thinking that the Mac crowd is much better off. There is a reason why someone wrote “Mac OS X - The missing manual” (Well, that actually means they are better off, but not thanks to the efforts of Apple.)

Some open source software projects are particularly bad when it comes to enlightening their potential users. The introductory page of their respective websites too often focuses on internal matters, serving their own developer community more than their potential new users. Only vague hints are given as to what the software actually does, and tutorials are often based on older generations of the software. This is understandable, since writing good manuals and tutorials is both difficult and time consuming - and probably not what most of the enthusiastic developers behind these projects do best. But after putting such great efforts into making good software, they probably want lots of people to take advantage of it and use it to its fullest potential. Only then do they have a product they can really be proud of.

Software at its best is enabling technology, but most software is not simple enough for new users to be able to use it without first being enabled to do so. What we have now, is lots of powerful software, with millions of dis-empowered users who are only able to harness a small fraction of the power of the software available to them.

What we need now is a shifting of focus from providing more features to providing more and better manuals and introductory materials of all kinds. Let’s declare 2009 the “No New Features Year”, and instead spend our efforts getting the most out of what we already have. Personally, I’m looking forward to the video tutorial “Explaining Java Enterprise Edition to down to earth developers”. Please inform your favorite software vendors of your educational needs as soon as possible, so they can start working on the stuff. I’m sure they’ll learn to love this eventually. After all, manuals usually don’t crash or conflict with other manuals!

Note to developers worrying about layoffs: Not to worry. You can always refactor and prepare security fixes.

The Business and Pleasure of Free Software

Some people make great software and try to make money by selling it as compiled (runnable, but not readable) programs. Others make great software, then give it away for free, and even let people both see and reuse their source code as they see fit.

These are the two typical ways of distributing software today. It’s commercial and secretive versus free and open. It’s business versus community. You might even say it’s capitalism versus communism. That’s the simplified, black and white way of seeing it, a way of seeing that misses out on the complexities and nuances of software development and distribution today.

It seems quite natural that when you spend lots of money and effort on developing a product, you want to be able to make money by selling it. And since it’s difficult to make money from the product if it’s easy for your competitors, or even individual users, to copy your software, you naturally feel inclined to protect your intellectual property by only distributing it in an unreadable form. This is the traditional software business model, that we are all familiar with. Developers know how to make money from their software, and customers know who to bark at when it doesn’t work.

Then there is the open source beast. State of the art software given away for free along with its blue prints. open source software is a disruptive phenomenon to the traditional software industry. Suddenly lots of people, and even large, well established companies are giving away their products and revealing their trade secrets. Today you have free alternatives to almost every mainstream computer program, both on the desktop and on the server side. Most notably you have the Linux operating system and the OpenOffice.org office application suite. How can this be?

Quite a lot of open source software is developed through some kind of community collaboration process. Groups of developers get together to develop the software of their dreams, either for fun, pure altruism or dire need. When what you need is not available or too expensive, why not make it yourself? If you make a good program and make it freely available, then others might use and improve it too, and before you know it, you have the most widely used web server or a nice little object database. This is cooperation, and there is nothing strange about that. People have been cooperating to achieve their goals since the dawn of ages. A mammoth is just too much for any of us guys or girls to handle alone, so we get together and drive it off the cliff together.

But companies usually don’t cooperate. (Except for illegal price fixing.) Companies compete to sell as much as possible at the highest possible price. When they give something away, it is usually part of some devious marketing entrapment scheme. And when they enter into the open source market and start giving away their most valuable assets, their software, that is usually nothing different. They give away software because they want to sell something else.

You see it everywhere. I got a free alarm system in exchange for signing up for an expensive security service, and my mobile phone, which cost me exactly NOK 1,-, is paid for through an over priced monthly subscription. Printer makers sell their printers at a loss, but make up for it with the sales of expensive replacement ink cartridges. The practice of giving something away in order to sell more of something else is a common business model today.

The Norwegian company eZ Systems freely distributes their open source content management system eZ Publish. Most users never pay a dime to use it, but corporate users with special needs when it comes to support and uptime can buy expensive service and support packages. MySQL AB, the Swedish makers of a widely popular open source database system, distribute a community version of their system while making money from an enterprise version with extra features and mandatory support packages. The company was recently acquired by Sun Microsystems for a considerable sum.

Sun is an interesting case to look at when you want to understand the free and open source software game. Sun made a gazillion dollars during the dot com era, which to a large degree was powered by their servers and their flavor of Unix operating system called Solaris. After the dot com bust, they suffered massive losses and struggled hard to re-position themselves in the new and much tougher market. One of their moves was to sponsor an open source version of the Solaris operating system, called OpenSolaris. By doing that, they made their server ecosystem more open and accessible, widened their user base and probably sold a few extra servers and plenty of services as a result.

Selling complimentary products and related services might not be the only reason to give away your software. Hurting your competitors can be just as rewarding. That could well be the reason why Sun launched their most successful free software project, the OpenOffice.org suite of office productivity programs. OpenOffice.org is a highly capable alternative to Microsoft’s Office application suite, and runs on all main operating systems, including Linux. Thanks to OpenOffice.org, Linux is now a feasible alternative to Windows and Mac OS as a desktop operating system.

Sun has also released their Java implementation as open source. Java has always been more or less free, so cost wise this changes nothing, but it is probably a move intended to strengthen the OS independent Java platform’s position against Microsoft’s .NET platform.

Hopefully this article has shed some light on why giving away state of the art software is a sound and not so uncommon business model. By giving away the core product, you gain a much bigger user base than would have been possible with a traditional model, which again increases your base of potential customers for add on products and services. It’s all about gaining traction and volume for the totality of your business.

Best of Open Source Software Awards 2008

InfoWorld has just announced the results of the 2008 Bossies, or Best of Open Source Software Awards. No less than 60 open source software programs have been awarded with a Bossie this year. Stuff your toolbox with whatever you need from the list of award winners, and be ready to take on any task, be it in personal productivity or in enterprise application development.

See the complete list here.