This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Commentary

Community service for free software users

By Drew Ames on September 10, 2008 (9:00:00 PM)

Share    Print    Comments   

In recent years, Linux distributions have successfully made the transition from being the exclusive domain of technical users to being suitable for even brand new computer users. However, unlike with proprietary software and operating systems, GNU/Linux is built mainly on the efforts of users who volunteer their time and expertise to write programs. The result is that the success of free and open source software (FOSS) depends on feedback and contributions from its users. New users, or users without programming skills, may not understand how to contribute, or even see the need for contributions. But non-programmers can contribute a great deal to FOSS projects, benefiting not only other users but also themselves in the process. Even you can help.

First, a little background for new users: the Linux kernel, the GNU software forming the core of the operating system, and the vast majority of software drivers and applications that make up modern distributions are free software as defined by the Free Software Foundation (FSF). The FSF definition states:

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

The point is that Linux and Linux applications are (by and large) built on four essential software freedoms. Two of the four freedoms emphasize being able to modify and release software, and the legacy of free software is a collaborative development model that encourages users to be developers who modify, improve, and redistribute software. The power of collaboration and open source development is why Linux distros and other FOSS applications are polished, powerful, and strong rivals to proprietary software.

Over time, and with a lot of effort, the FOSS development model has resulted in Linux distributions and applications that are exceptionally easy to use, which in turn has attracted a large number of new users. However, users not familiar with FOSS development often have different expectations regarding software usability, maturity, and the completeness of software features. User reactions to the release of KDE 4.0 is a good example of how users' expectations can conflict with developers'. And KDE is typical of FOSS projects; it relies on contributions from users to improve.

"That's great," you say, "but I don't know how to write patches or fix bugs. What can I do to help?" There are a number of ways for non-programmers to participate meaningfully in FOSS software development. The two easiest ways to get involved also have the biggest benefits for users themselves: participating in user forums and contacting developers directly.

Participating in user forums

At some point, everyone runs into a problem using Linux (or any other computer operating system, for that matter). A search through the help files or an Internet search usually leads people to the Web support forums for their particular distro or application. But there are good ways and bad ways to use Web forums. The bad way is to post a vague question, either get a helpful answer or not, and never follow up. The good way requires a little more work, but has much greater benefits for both the user asking the question and the community as a whole.

Not too long ago, people would go to mailing lists or Usenet newsgroups for the same sort of help. During the Usenet era, questions on how to do something or solve certain problems were often answers with "RTFM" -- read the friendly manual. That is good advice even in today's world of beginner-friendly distributions and Web forums. Try to do a little research before posting a question on a forum so your question will be more informative. Compare these two examples:

"Help! My wireless card doesn't work with Ubuntu."

"Help! My D-Link WNA-2330 wireless adapter isn't working with Ubuntu 7.10. A Web search indicates that I need a MadWifi driver. How do I get it, and how do I configure it?"

The second question provides a lot more information and makes it much easier for people to help.

Be prepared to follow up after posting a question. A common response to questions about networking is to ask the person posting the question to post his or her output from commands like ifconfig or lsmod. Posting additional information helps more experienced users diagnose the problem and suggest the correct answer.

The most important part comes after you fix your problem. Follow up in the same thread with, at the very least, a thank you for the people who helped you. Far more helpful is to post a thank you followed by a detailed summary of what you did to follow the advice you got, and what happened afterward. This kind of after-action report has two major benefits. The first is that you have a record of how you solved a problem specific to your hardware and software. Save or print it so you can solve it the same way in the future. The second benefit is that other users like you will probably find your posts via a Web search and benefit directly from your experiences.

A little bit of followup goes a long way. You have solved your initial problem, potentially learned some valuable troubleshooting skills, and benefited the whole community with just a little extra work. In time, you could become one of the people offering helpful suggestions yourself.

Providing direct feedback

Another way to help is by offering direct feedback to a project. Developers like good, useful feedback. They really want to know how their software is being used, what sort of problems people are encountering, and what features people want. Open discussion of bugs and features is a cornerstone of FOSS development and one of the areas where non-programmers can have the greatest impact.

Depending on the size of the project, bug tracking can be a simple matter of sending the program's author an email or forum message. Larger projects use bug tracking software like Bugzilla. Do a quick Web search for bugs in the program that may be causing you trouble. You will likely get to the site of the bug tracker. For example, Web pages for filing bug reports for KDE, GNOME, Ubuntu, and Scribus are easy to find. It is important to search the existing bug database to see whether somebody else has already filed the same bug that you found. Your search may reveal that the bug you are experiencing has already been fixed and a patch is available. The larger and more heavily used projects generally have more bug reports.

If your search reveals that nobody has posted your bug, read the community guidelines and file a bug report. The guidelines for submitting bugs to Mozilla, for example, say:

Effective bug reports are the most likely to be fixed. These guidelines explain how to write such reports:

  • Be precise
  • Be clear -- explain it so others can reproduce the bug
  • One bug per report </il>
  • No bug is too trivial to report -- small bugs may hide big bugs
  • Clearly separate fact from speculation

After reporting a bug, you may be asked to do some followup work to reproduce the problem or test a patch. Take advantage of that opportunity if you can. You'll learn a lot about troubleshooting, testing patches, and fixing problems. Like participating in user forums, filing bug reports is a great way to flatten your learning curve while providing a meaningful benefit to other users.

Next steps

The more you learn about Linux, the more you will be able to contribute. If you become very familiar with an application, consider contributing to its wiki or writing a how-to article. There is always a need for well-written documentation, especially documentation written from a user's perspective. If your favorite application or distro offers downloads for testing, download them and actively seek out bugs. Finally, consider learning a little bit about programming and scripting. Even non-programmers can learn enough to recognize functions and variables -- knowledge that can lead to more informative forum posts and bug reports.

FOSS software development depends on contributions from developers and users. As Linux continues to become easier to use and more popular, it is more important than ever for regular users to participate in online communities and help the developers of the software they use.

Drew Ames is a transportation planner in Harrisburg, Penn.

Share    Print    Comments   

Comments

on Community service for free software users

Note: Comments are owned by the poster. We are not responsible for their content.

Community service for free software users

Posted by: Anonymous [ip: 70.91.34.61] on September 11, 2008 01:07 PM
The above comment has nothing to do with the article.

#

Community service for free software users

Posted by: Anonymous [ip: 213.203.159.55] on September 13, 2008 09:59 AM
FOSS software development depends on contributions from developers and users. As Linux continues to become easier to use and more popular, it is more important than ever for regular users to participate in online communities and help the developers of the software they use.

I know that you are in good faith, but the concept that all end users of community-developed software environment can or must give back with service in that same community has severe problems, both in its theory and in the way too many FOSS users actually practice it. I've already discussed this in the last of the Seven Things we're tired of hearing from software hackers (http://digifreedom.net/node/56).

Isn't it much easier, more important, urgent and feasible to convert as many people as possible into FOSS supporters, rather than contributors?

Don't worry if 90% of FOSS users never "give back to the FOSS community" in any of the ways you suggest, it simply couldn't be any other way in today's world. Let's worry instead, for example, about how to convince as many of them as possible to ask their representatives exclusive adoption of Free/Open file formats, computer protocols and software in their Public Administrations. That's a community service which is way more important than writing bug reports or documentation (even assuming that the users we're talking about were able to do that)

Best Regards,

M. Fioretti

#

Re: Community service for free software users

Posted by: Anonymous [ip: 72.95.17.39] on September 15, 2008 04:53 AM
Marco,

Thanks for your comments. I've read a lot of your work. I did not suggest in my article that all end users can or should contribute to FOSS development. At the same time, I feel the barrier to entry to becoming a contributor is a lot lower than a lot of people think. The first step is being aware of the options. My article provides two: participating in user forums and submitting bug reports. The first is something that a lot of people are going to do anyway and the second is not very difficult for those who wish to do so.

I certainly hope the tone of this article was not bullying.

Thanks for reading and commenting.

-Drew Ames

#

Re(1): Community service for free software users

Posted by: Anonymous [ip: 213.203.159.55] on September 15, 2008 04:10 PM
Drew,

no, I don't think the tone of the article was bullying and I certainly agree with this statement of yours: I feel the barrier to entry to becoming a contributor is a lot lower than a lot of people think. The first step is being aware of the options.

I took the article as an occasion to make a related, general point, certainly not to attack the article in itself or its author. In my mind, I was talking to the generic, average FOSS supporters who still think that EVERY FOSS user, just for being a FOSS user, still has some moral obligation to give back not to the bigger community (society as a whole) but just to the FOSS community. Sorry if I didn't make this clearer. I'm also glad that you read a lot of my work. Feel free to comment on it (in private email, of course) any time, I'm interested.

Regards,
Marco

#

Community service for free software users

Posted by: Anonymous [ip: 91.106.24.136] on September 13, 2008 01:39 PM
"Finally, consider learning a little bit about programming and scripting. Even non-programmers can learn enough to recognize functions and variables"

Would love to but where to start. What programming languages for example, Python perhaps? What resources should an absolute beginner consult to start to understand the various languages and programming principles/protocols and how they relate to Linux and FOSS applications more generally.

I would love to get stuck in but I find the whole thing thoroughly intimidating despite having used FOSS for over two years now.

Geeks, I think, do not realise that they have lost the ability to communicate in plain and simple language.

There needs to be a lower more gentile level of access and support in the FOSS community to bridge the gap between geek and non-geek, Chess Griffin's Linux reality being a great example of this and hence the shows popularity and legendary status.

I am working on a how-to site to promote FOSS and FOSS productivity tools in particular. It has taken a year to learn CSS, Javascript, HTML, PHP, MODX CMS, the concept of Ajax etc. and the landscape changing all the time. How is a non geek to keep up.

The global economic downturn is a great opportunity for the concept of free software to thrive and take hold.
This is an opportune moment to rethink FOSS community support for non geeks.

#

Re: Community service for free software users

Posted by: Anonymous [ip: 72.95.17.39] on September 15, 2008 05:00 AM
Actually, Python is a pretty good place to start, depending on what you want to do. For me, digging into Python was worthwhile because Scribus uses it for scripting. Check out "A Byte of Python" (do a web search) for a great introduction to the language.

If you're doing a lot of web and AJAX work, Javascript would be good to start learning. I don't have a good beginners' guide to that one. You may also want to check out Ruby and Rails. "Why's (Poignant) Guide to Ruby" is an ...interesting... and entertaining introduction to that language: http://poignantguide.net/ruby/

If you use Emacs, then check out the "Introduction to Emacs Lisp" that comes with the application. It's under the "More manuals" item in the "Help" menu.

Regards,
-Drew Ames

#

Community service for free software users

Posted by: Anonymous [ip: 213.203.159.55] on September 13, 2008 05:15 PM
"Geeks, I think, do not realise that they have lost the ability to communicate in plain and simple language... This is an opportune moment to rethink FOSS community support for non geeks."

How true! This, for the record, is just one of the things I'm trying to do with Digifreedom.net and the Family Guide. Have a look at it and let me know, preferably by email, what you think.

Best Regards,
Marco Fioretti

#

Community service for free software users

Posted by: Anonymous [ip: 91.104.9.252] on September 17, 2008 12:04 PM
Thanks anonymous September 15th 5.00 am for the links. They look pretty intuitive, I shall definitely devour these sites.

I have found Douglas Crockford's series of videos easily digestible and an excellent intro to Javascript.

http://developer.yahoo.com/yui/theater/

@ Marco I have visited your site and will be purchasing your book. Once the site I am working on is up, I will promote it there.

However, the point I was trying to make was that people are intimidated by what they don't understand.

When Drew writes

“Even non-programmers can learn enough to recognize functions and variables”

To non Geeks it may as well read

“Even non-programmers can learn enough to recognize fluba fluba and bluba bluba”

It is just as baffling (and intimidating) to complete non Geeks.

If Alice, for example, has a small holding where she grows organic crops, she may need a vehicle to get her produce to the local farmers market. She relies upon a vehicle manufacture to create the vehicle and a mechanic to maintain it.

However, beyond changing the oil water etc. Alice has no desire, inclination or passion to become either a vehicle manufacturer or a mechanic.

She wants to concentrate on providing other valuable services to man kind which is HER passion. The vehicle is merely an essential tool to assist in achieving her goals.

In the FOSS community you have Geeks talking to other Geeks and wannabe Geeks. I put myself in the later category.

I'll sum up with this example.

Instead of scaring the pants off of of non Geeks (normal people) by instructing them to run the ps and kill commands through the terminal. Advise instead (or also if you like) to put the system monitor in the desktop panel and when ever Fire Fox freezes up, end the process GUI style with a simple couple of clicks.

With this approach we may then see, the ever elusive, year of the Linux desktop.

Another benefit to the FOSS community will be that it will attract more Geeks or budding Geeks from a larger user base.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya