Other Help Resources

One of the great strengths of the open source movement is its grassroots tradition. Historically, few corporate or institutional supports have been offered for Linux software. Hardware manufacturers did not provide Linux drivers, Internet Service Providers did not support Internet access to computers running Linux, and few businesses sold support services to users wishing to run Linux. As a result, Linux users (and open source users in general) took on the responsibility of helping their movement grow. Although the popularity (and business support) of Linux has grown, this tradition continues. Linux users organize user groups, run online forums, and continue to write and share software.

The grassroots nature of open source software influences the way you can most effectively access help for your computer. Instead of calling a technical support line, you might post a message to a web forum or mailing list. Instead of looking to centralized knowledge bases for troubleshooting information, you might conduct a web search to see whether other users have run into the same problem you have.

Although it is certainly possible to pay others to support and maintain your computer, many people find that freely-available resources are sufficient to keep their systems running. This "free" support has a cost, however: in order for grassroots support to work regular users have to spend time and energy to support each other. As your Linux experience and knowledge grows, you may find opportunities to support other Linux users. Embracing these opportunities is an excellent way to "pay forward" the support and knowledge other Linux users have donated to your benefit.

In this section we will describe some of the help and documentation resources available. Many of these resources require Internet access, but a few are available offline.

Linux User Groups

A Linux User Group (LUG) is made of users who discuss, provide support for, and discuss Linux. LUGs are usually locally-based. Often a LUG will hold regular in-person meetings where people have discussions, make presentations, and support fellow users. Many LUGs also run online discussion and support forums, such as mailing lists or web forums.

Joining a LUG is a great way to meet other people who use Linux. You can make new friends and contacts, share information with people, and get personalized help with your problems. Participating in a LUG can also help you learn more about Linux in particular and computers in general.

There may already be a LUG operating in your area. To find it, you might ask the person who installed the software on your computer. You might also search on the World Wide Web, using the search term "LUG" and then your city, town, or geographic area. Finally, you might consult an Internet directory of worldwide LUGs. Two websites that maintain LUG lists are http://www.linux.org/groups and http://lugww.counter.li.org .

If no LUG exists in your area, you might consider organizing your own. The User-Group-HOWTO is good guide to organizing and running a LUG. You can access it on the Internet at http://en.tdlp.org/HOWTO/User-Group-HOWTO . [WHY IS THIS NOT IN THE HOWTO DIRECTORY?]

Web Searches

Just as the Internet has made it easy for people to distribute software across the globe, the Internet has made it easy for people to search for information across the globe. In the open source world, the humble web search is by far the most common form of technical support. In fact, in many circles it is considered rude to ask a question before spending time searching for the answer on the Internet first. It is well worth learning how to conduct effective web searches for this reason alone.

Conducting good web searches is not hard, but it takes some practice. The key is to find search terms that are as specific to your problem as possible. To that end, here are some tips:

  • The best search terms are error messages. For example, once my kernel crashed with the following message:
          Jul  5 11:19:23 headache kernel: Unable to handle kernel NULL
          pointer dereference at virtual address 00000005
          
    To turn this message into a set of search terms, I would strip out the parts of the error message specific to my machine (in this case the date and "headache", the name of my computer) and use the following as my search term:
          
          "kernel: unable to handle kernel NULL pointer dereference at 
          virtual address" 
          
          
    If other users have run into a similar problem, they might have reproduced the same error message in their cries for help.
  • If an application is crashing, include the name of the application. If some hardware is failing, include as much identifying information as you can. [REF IDENTIFYING INFO]
  • Often it is a good idea to append the term "linux" or "debian" to the end of your search terms. For example, to find information about how to get my Zip 100 drive working under Linux, I might use the following search term:
          
          zip 100 linux 
          
          

Internet Forums

If you have Internet access, you can take advantage of the many Linux support forums that exist. In this section, we will discuss asynchronous support forums, where users are not required to be logged in simultaneously to communicate with each other. Forums that fall under this category include:

  • Web bulletin boards, which users access using a web browser.
  • Mailing lists, which users access via e-mail. Each user sends e-mail to a central address, which distributes the e-mail to every user on the list.
  • Newsgroups, which users access via a newsreader. Newsgroups are similar to mailing lists: users post to a central location, and everybody reads the posted messages. Traditionally, special applications were needed in order to access newsgroups, but these days some e-mail clients (including Sylpheed support newsgroup access; websites such as Google Groups provide access to newsgroups as well.

All of these forms of communication have advantages and disadvantages. Web forums are probably the most straightforward for many users, but people have to remember to visit them, which sometimes reduces the quality of help available. Web forums generally require that you have good Web access, which makes them hard to use if your Internet access is very slow or very expensive.

Mailing lists are very popular, but large mailing lists can overwhelm your e-mail account with hundreds of messages a day.

Newsgroups have declined in popularity as a means of support. One of the biggest problem of newsgroups is that they are prone to e-mail address harvesting -- spammers collect lists of e-mail addresses used on newsgroups and send those people spam. [REF Spam]

In some ways there are too many support forums out there. Finding one or two effective forums you feel comfortable using can be difficult. Here are some tips to get you started: [FINISH ME]

  • Forums run by your local LUG are often ideal. You get to know the people on the forum, and you open the possibility of getting face-to-face help if you really get stuck. The number of people participating in a local LUG forum tend to be small, which is both a good and a bad thing -- it is good because the tone tends to be friendlier, but bad because none of the participants may be able to help you with difficult questions.
  • If you choose to subscribe to mailing lists, you should find out the number of messages you can expect each day. Make sure your e-mail account has enough capacity to deal with the volume of messages. You may also want to filter messages coming from the mailing list, either by subscribing to the digest version of the mailing list (which will send you one message with all of the day's messages) or by sending all messages from the mailing list to a special folder. [HOW DO YOU DO THIS IN SYLPHEED?]
  • In general, you are better off choosing web forums with lots of subscribers. This increases the chance that somebody will happen to see your question and know the answer.
  • If you choose to use newsgroups (or any forum where your true e-mail address will be viewable by non-users) you should be aware that this address will be harvested by spammers. You might consider mangling your e-mail address [REF] or using an address that you don't care about.
  • If you have a question about a specific product (for example, a particular web browser) you might look for a help forum devoted to that product. People on such specialized forums usually have in-depth knowledge of the product.
  • Before asking questions on any forum you should be aware of the posting rules. See whether the group in question has posted a FAQ -- a list of frequently-asked questions. Search through the group's archives to see whether other people have asked the same question that you have. It is often good to lurk by reading the forum for a few days before making your posting. This will give you a better sense of the norms and culture of the forum, and help keep your foot out of your mouth.
  • Be polite, even if others are rude to you. For the most part other people are supporting you for free, and it is always a good idea to express your gratitude for their help. Consider all responses fairly. If you find a solution to your problem, post the solution so that others can learn from your experience. Whatever you do, don't insult others on the forum.
  • On a similar note, consider the tone of the forum you are using before you participate. If the forum is plagued by rudeness and mean-spirited flamewars (pointless arguments and character attacks) you may not want to participate. Similarly, if people are friendly and helpful, and offer good answers to people's questions, you might want to devote more time to supporting that forum.

A good starting point for your questions might be the WCLP mailing list. You can subscribe to that list at http://lists.sourceforge.net/lists/listinfo/wclp-user .

The web forums at LinuxQuestions are another good place to ask general Linux questions.

Asking Questions Effectively

Sometimes a new user will post a question to a help forum and get no response. This can be frustrating, especially when other questions posted later generate lots of replies. It's easy to conclude that the forum members are snooty or that they just don't appreciate questions from newbies, but this is not always the case. Sometimes nobody on the forum has an answer to the question, and sometimes nobody on the forum understands what the question is asking.

Although you cannot do much if people do not have an answer to your question, there is a lot you can do to ensure that your questions are clear and understandable. It is especially important to provide good information when you participate in asynchronous forums such as web boards or mailing lists, because the communication is rather slow; your helper cannot log into your machine directly and look around for information, and giving you directions on what to look for is time-consuming and error prone. Here are some tips to asking better questions:

  • Describe what you are trying to do and what is going wrong. The more detailed you can be about the problem, the better. If you can reproduce the problem consistently, you should provide a list of steps that produces the problem. If the problem only occurs once in a while, say that as well.
  • List the error messages you see. Copy them down exactly. The error messages may not mean much to you, but they often contain clues that your helpers may be able to decipher.
  • Describe the environment you are working with as best you can. Often people will be interested in the following things:
    • Your kernel version.
    • The distribution you are using, and the version of the distribution. For example, "Debian Sarge" or "Fedora Core 3".
    • The versions of the software which are causing the problem.
    • When some hardware is failing or not working, the make and model of the hardware.
    [HOW DO PEOPLE GET THIS INFORMATION?]
  • Use the best grammar and spelling you can. Try not to use slang. Your goal is to be as clear as you can.
  • State your question clearly. Simply describing a situation may leave people wondering exactly what help you are seeking.
  • List the steps you have taken to try to solve the problem already. This will help people understand the problem better.

Before asking your question, be sure to do some research on your own. Look for FAQs and other postings on the same topic. Perform web searches using the error messages you find as search terms. Read the manuals and documentation associated with the hardware or software in question. Others will be more willing to help you if you have demonstrated that you have put some effort into finding a solution yourself.

Further Reading

To learn more about the art of asking effective questions, you might consult the following documents:

  • How to Ask Good Questions, by Eric S. Raymond and Rick Moen, available from http://www.catb.org/~esr/faqs/smart-questions.html . The tone of this document is somewhat arrogant, but it is loaded with good advice, and it is frequently cited.

    As requested by the authors, we remind you that this document is a reference; please do not contact Raymond or Moen for troubleshooting help on the basis of this document.

[REF howto, Debian list of good questions, debian bug report form]
[THIS IS NOT REALLY THE RIGHT TITLE. IRC IS AN INTERNET FORUM AS WELL.]

Realtime forums

Realtime internet communications such as instant messaging services and chatrooms can be effective ways to get support. Since messages are exchanged more quickly than e-mail, those providing support can troubleshoot problems in realtime, which can make fixing much faster than e-mail, mailing list or web forum communication.

The most popular form of realtime support in the open source world is IRC, which stands for "internet relay chat". In order to participate in IRC you need to know a server and a channel. Your local LUG may run IRC support channels. In addition, the Debian project runs a (rather busy) support channel called #debian on the server irc://irc.debian.org .

In order to use IRC you need to use a client program that suppports the protocol. Gaim is one such application; for instructions on how to configure it, see [WHERE?]