One of the big arguments often heard against using opensource software for mission critical applications is “Who do I call if something goes wrong?” In the commercial sector, the answer is simple – call up the manufacturer’s support lines, and in theory, you can get your answer.
In practice, as most have discovered, this is rarely the cure-all, with problems ranging from inability to get in touch with tech support at all, through to finding that support is available, but it’ll cost money, and there’s still no guarantee of a solution. The true detail is that with a commercial vendor, if something goes wrong, you have someone to yell at.
As opensource software gets larger and more complex (Openoffice has over 5 million lines of code), the traditional “Use the source, Luke!” argument really doesn’t work anymore. Other avenues need to be followed to track down problems.
The first and best known path is to use Google. There’s a good chance that whatever problem you’re encountering has happened to someone else, and they’ve probably posted on a blog, webforum, or mailing list about it. Chances are, with a carefully posed query to Google, the Answer is Out there.
Almost all opensource applications have discussion or support mailing lists. Some are high volume, some are very quiet. But generally, this is one of the best places to find others that are using the application and have some clue about how it works. The drawback of course is you’re subscribing to another mailing list. Setting up your mail client to handle a new stream of messages is frequently necessary (some lists generate hundreds of messages a day).
But mailing lists and Google are not what I came to talk to you about today. I’d like to talk about…
In the realm of interactive community chat system, IRC is king. From it’s inception in the early 90’s, it has grown from a small project in Finland to a system that millions of users on thousands of small networks use for communication. IRC networks are not interconnected – one IRC network cannot talk to another, but within each individual network, there may be hundreds of nodes and tens of thousands of users. Selecting the right network to connect to will determine if you find the people and support you’re looking for.
Of the existing networks, Freenode is by far the best established and most relevant to folks seeking tech support for opensource applications. it is a tightly managed, well defined system of 22 some-odd servers hosting between 20 and 30 thousand users at any given time. Most of the large scale (and many small scale) opensource applications are hosted and supported within this network. There are thriving communities for languages (##java, ##php, ##perl, ##c, etc), environments and operating systems (##kde, ##linux, ##freebsd), and applications (##openoffice, ##mythtv-users, etc) (the double # denotes a ‘registered about’ channel). Some of these channels can have hundreds of users on them at any given time, chances are someone there will know the answer to your question. Which brings me to the root of it all…
Why would someone help me?
In the closed-source, commercial world, tech support is offered because it makes the users happy. Happy users will continue to use the product, therefore most likely buying it again in the future, or referring it to someone else who might need it. When the software is free, what’s the motivation to support it?
The answer comes in the basic philosophy of FOS (Free Opensource) applications, which can be summarized thusly:
Commercial software is designed to make money.
Opensource software is designed to solve a problem.
These are, obviously, simplifications, but really, they underpin the whole difference between FOS apps and commercial apps. Commercial software vendors are primarily focused on making money via software sales and support. The product solves a problem so that the customer will pay money for it. A FOS application is targeted only at solving the problem, without the stigma of “Will this be profitable?” driving it’s development.
Most FOS users and developers realize that this is the case with an application put out onto the net, and the developer also realizes the application must be supported – with documentation, mailing lists, etc. But the user community is just as important to an applications success and useability as the documentation is. Users must be free to ask questions and get answers. This is where IRC comes in, and where the balance of support starts to play.
Many users show up on the IRC channels and demand answers. “Why won’t this work!” Sometimes the more knowledgeable folks on channel will answer, but it’s a poor way to start a conversation. But there’s a further undercurrent. Once people have been working in FOS systems for a while, they should begin to realize that there must be something given back in these communities. Every once in a while, you need to share your knowledge of a product or system or issue with the rest of the community. This balance, this ‘giving back’ is the root of all FOS support mechanisms. It can be in the form of a blog post that’ll be available on Google, a posting of a fix to a mailing list for a problem, or answering a question on IRC. This free exchange of information and support is what makes FOS work.
But still what’s the motivation for giving out free answers? Well, users must realize that all the answers THEY got while learning a system were given to them free. So doesn’t it make sense that there should be some quid pro quo? A ‘giving back’ to the community, supporting other users who may be having the same problem, or just general questions that now you, the experienced user, now have the answers to?
I’ve been ‘taking my turn’ on the ##php channel lately, placing myself ‘in the hotseat’ answering questions from users. PHP is one of the widest deployed languages and environments on the net, and consequently, the IRC channel generally has hundreds and hundreds of users on it. Questions come fast and furious, and someone has to field and answer them. There are some users who answer questions fairly often, but when I can help, I sit down for an hour or two and simply answer questions. This is the giving back that makes FOS usage so balanced and functional, that the more experienced users are willing to help others, just as the experienced users were helped when they were starting out.
FOS support works because of a knowledge that users cannot always demand support and input without giving something back to the community. Commercial vendors can support daily questions and needs because they are compensated via licensing fees and support fees. FOS applications have no fees – the currency is knowledge and community.