Using and configuring software can be a complex task. Often instructions or assistance are required in order to know how to achieve what you need to with your computer. Sharing skills and knowledge is central to the Free Software philosophy, and as a result the Free Software support community offers a plethora of resources for meeting user's needs.
User manuals and help guides
Most Free Software applications are accompanied by manuals on how to use them. Manuals are good for finding out how to use the core features of a particular program. When you expect to be able to perform a task, but can't figure out how to do it, reading the manual is often the best first step. Many software projects take great care to produce accurate and extensive user manuals, and reading them is often the shortest route to a solution.
In desktop applications, like Mozilla Firefox or OpenOffice, these can usually be found in the application's 'Help' menu. In text-only terminal applications, these can usually be accessed by typing 'man' (short for manual) followed by the application name. For example, this command would show the manual for the move command:
Sometimes manuals are installed separately to the application itself, particularly if the manual is very long. In such cases you either need to install the manual separately on your computer, or alternatively view the manual online.
Wikis are websites which allow lots of different people to change the content of their webpages. They provide a platform for groups to work collaboratively on guides and documentation, and update it with their own knowledge and experience. Wikipedia is an example of a wiki which is used for encyclopedic information; wikis about Free Software projects contain only information about the application that they relate to.
Wikis are similar to manuals, but are often broader in scope, and sometimes more up-to-date. Some wikis have many contributors and are excellent compendiums of guides and instructions. Others however are not very well maintained, and may contain information which is out-of-date, or inexhaustive. If you need assistance with a Free Software application that has a wiki then checking to see if your problem is documented there may well be worthwhile.
Wikis are accessed via a web browser. You often need an account in order to add or edit wiki pages. Some wikis als allow you to discuss page content using the wiki software itself, and see past revisions of wiki pages.
Forums are a medium of non-real time communication between a large number of different people. With a forum account, visitors can read messages published (or 'posted') by other visitors, and post messages of their own which are visible to other forum users. They are good for many types of questions and support, especially questions which are specific, or may affect the minority of the application's users. They can be searched for messages relating to the problem that you have, and in cases where this doesn't return a solution, they can be used to post new questions. The accuracy of information found in support forums varies, as does the level of moderation, and the average speed of reply. Most forums have their own set of rules designed to facilitate communication, which users must agree to during registration.
Forums are very widely used by Free Software support communities, and can provide an easily accessible database of structured information about other users' experiences, problems and solutions. Forums are accessible via a web browser, and often contain many thousands of messages.
Real time chat (IRC)
Some Free Software projects, particularly larger ones and GNU/Linux distributions, have chat rooms where users meet to communicate in real time. They use a system called Internet Relay Chat (IRC), and channels (chatrooms) vary greatly in size and nature. Some contain thousands of people at any one time, others contain only a few members, or none at all. Quality and speed of assistance can also be unpredictable as moderation of real time communication is harder than non-real time methods (such as forums), and participants may also be chatting in several other rooms simultaneously, causing their responses to be slow. IRC has a long history, and has developed its own customs and etiquette.
When other research has drawn a blank, or you need help with something that's hard to explain and unlikely to be documented anywhere else, support chat rooms can be invaluable. They can be particularly useful for finding different ways of approaching a problem that you're stuck with, and for getting expert technical attention.
Chat rooms can be accessed in a variety of ways. You can connect to IRC using a web browser with web pages which have the room embedded in the page, or using a desktop IRC client. Some channels require that you register with the network before connecting. You will need to know the name of the channel that you want to join, such as #linux, and join it by issuing a join command like:
Alternatively you may be able to choose the channel from a list inside your IRC client.
Mailing-lists are a simple system for sending emails to groups of people interested in a particular subject. They are very widely used by Free Software projects to coordinate different tasks, though they have been replaced by newer support systems such as forums by many applications. Mailing-lists offer a good way to ask a question to a project's entire support community. Some lists are more heavily moderated than others, and they vary in how active and supportive they are.
Typically mailing-lists allow you to register your email address and then send messages to the list email address, like firstname.lastname@example.org. List members can then reply to your query in the form of another message that will be received as an email by all list members, including you. It's best to observe etiquette and good practice when messaging a list. As a rule, original, well written questions are more likely to get good responses.
People who user Free Software live all over the world. Many towns, cities, and counties have established groups of local residents who meet online or in person to discuss one or more Free Software projects. Thousands of GNU/Linux user groups (LUGs) meet each month in different locations, for example. User groups vary as much as the people who run and attend them. Some are very focused on supporting and advocating a particular Free Software application of distribution. Others are largely a social meeting, providing an opportunity for people who work or study with particular software to relax together. Some have an affiliation with a university or college.
When seeking support, it is advisable to communicate with a user group before attending an in-person meeting in order to guage how willing and able group members will be to help you with your problem. Most user groups have a mailing-list or chat channel where members can be contacted. User group members may be more willing to help you than people you meet via generic community support systems because of your close proximity to each other. In some cases members may also be willing to provide you with telephone, instant message, or remote access based support.
Often it is possible to find the email addresses of Free Software developers and message them directly. Some developers, particularly of smaller projects, welcome this kind of contact. Others prefer not to be contacted in this way, particularly if the message concerns a request for information that can be found elsewhere. Generally you should only email developers if there is no other support system available for the software concerned, of if your question contains information which may be sensitive (relating to security, for example).
Remote control (VNC)
Virtual network computing (VNC) allows the remote control of one computer's graphical desktop from another over an Internet connection. The host computer is controlled remotely by the client computer, and shows real-time images of the mouse and running applications to the controller on the client computer's screen. VNC can be an efficient way for an expert to fix your computer on your behalf. In such cases you can sit back and watch your computer doing what it was instructed by the person who is remotely controlling it. Due to the degree of control over your machine that VNC entails, it is advisable to only accept support via VNC from somebody who you know well and trust, or from a company from whom you have the protection of a legal contract. Although VNC is a powerful tool for getting technical help, it is not generally unconventional as a community support tool.
The ease of establishing a VNC connection depends on the operating system, and in the case of GNU/Linux, the distribution that you are using. Free cross platform VNC software exists for all major operating systems. Most major GNU/Linux distributions have integrated VNC solutions. If you are using VNC for support, the expert to whom you will hand control may be able to assist you in choosing and configuring VNC software.