If you're like most people who are knowledgeable about free and open source software (FOSS), you're probably also interested in encouraging more people to use it. The good news is there are many ways you can help people who are not as technically minded as you learn about and use FOSS.
For example, you can recommend a piece of software that may be useful to them, help them install the software, and troubleshoot when they have an issue. By helping them, you're spreading the word about FOSS (which is usually not advertised as much as most proprietary software), probably improving their experience with the software, and doing something altruistic, which can make you feel good—if everything goes well, that is.
However, helping non-tech people is not always fun. Sometimes their inexperience can be bothersome and there may be miscommunications which can lead to negative feelings about FOSS and/or you. The five tips below are intended especially for readers who want to give a friend or family member a hand without jumping to conclusions, blame, and frustration.
1. Be patient and understanding
Some people have a hard time keeping pace with you while they are following your instructions. They may even ask a lot of questions, even about trivial issues. Others are hasty and don't listen to everything you say. When you're dealing with this, keep in mind that what is natural and routine to you is probably new, challenging, and/or intimidating to others, or can make them feel impatient. You can express the following: "Take a breath for a minute. And tell me, what do you want to achieve? (Wait for their answer.) Already having that would feel great, wouldn't it? Now, all you need to do is follow these simple steps—nothing more or less—and we'll achieve it more quickly, OK?" This should help them ease up and become more focused and cooperative.
2. Know your limits
You've probably discovered that many non-tech people think you can fix everything related to computers (or anything that has buttons on it) because you're good at a few things (such as programming). Computers are extremely diverse, both in software and hardware, so it's impossible to know how to solve every kind of problem in every situation. In other words, if you're facing a difficult problem you don't know how to answer or fix, feel free to say no. It's better than messing up their device.
3. Don't force help if they don't need it
Let's say you're using a piece of software that is superior to whatever they are using, be it an office suite, VoIP software, or an OS. Even if you have good intentions and think they would be better off if they converted to your preferred software, they always have the right to say yes or no. Also, make sure that if they say they want to convert that they are certain they want to switch and—very importantly—that they are fully aware that their experience will not be the same as before. (For example, switching to GNU/Linux provides more control, but certain applications and games will no longer work.)
4. Remind them to look up information first
Although it's perfectly normal—for even advanced users—to ask questions, it can save everybody a lot of time if the people you're trying to help know you're not the only resource they can turn to. There is ample documentation for most software that makes up GNU/Linux, for example, in the form of man pages and online wikis. There are also countless forums where their question may have already been answered by someone else. If they're unsure where to start, there's a good chance their favorite search engine will point them in the right direction.
Not only will this save you time that you'd otherwise spend helping them, it's likely that figuring out the answer to their own problem will make them feel good about themselves.
5. Show them how to ask the right questions
Eric S. Raymond and Rick Moen's How To Ask Questions The Smart Way, originally published in 2001, remains useful to anyone dealing with technical difficulties. One of their best tips is to be clear and precise when asking for help. For example, instead of saying "my computer doesn't work," it's more effective to say, "after the splash screen when the logo of [distro] disappears during boot, a message appears on the screen and nothing else seems to happen. What shall I do?"
Another tip involves encouraging them to make an effort to investigate what could be wrong and how to solve it before asking for help. Sharing Raymond and Moen's document with people who aren't using these strategies could help them and you as well.
Nowadays, a lot of FOSS tools have become user-friendly enough that virtually anybody can use them. Still, problems arise now and again, and some of them are too difficult for non-tech people to make heads or tails out of. If you decide to give someone a hand, be aware of their needs and capabilities and don't judge them for what they do or don't know.
On the other hand, non-technical users you've helped have a responsibility to prevent the same problems from happening over and over again, especially if their mistakes are source of the trouble. After all, a computer is a wonderful tool that can do many things, but it won't do the thinking for the user. And you're not always there to think for them either.