Free Software Resources

Contributing To Existing Projects

Here are some ideas for things you can do to help a project.

Provide Resources

Most free software projects are not funded at all. They are particularly in need of machine resources and network resources. If you use a free software package, you can give back by providing resources that might be needed.

Machine Resources
If you have access to a different machine architecture or operating system for testing (even a different distribution), or can provide accounts, it is worth letting your favorite project know. Try porting the software and report your results to the developers.

Network Resources
Mailing lists, ftp space, web space and email accounts are often need by developers, particularly when a project is beginning to add contributors from around the world. When a project grows to a sufficient size, a domain name may be needed. Mirrors, and mailing list archives are also sometimes needed.

Other Resources
For larger projects, there may be a need for legal represenation, financial advice, marketing, etc. If you can do these things, or know someone who can do them cheaply, and the project needs the services, let them know.

Report Bugs

If you find a bug, report it. Even if you fix the bug, you should provide a full bug report as well as your solution (as a patch), so the developers know exactly what the problem was. They might find a more general fix, or a better design to avoid the problem entirely, so a full bug report can be very helpful. See the section on bug reporting for more information.

Send Patches

If you fix a problem or add a feature, or even just ease the installation to your particular platform, send a patch to the developers.

Develop Features

Developers just love having other people add cool features to their projects. If you're going to add a major feature, try to contact the developers first, and tell them about your proposal, how you will do it (the design) and what effects it will have on the rest of the software. This can help them plan for it, avoid duplicate work, and perhaps even help you with suggestions.

Write Addons

An addon is a way of adding a feature that doesn't really impact on the way the rest of the software works. Developers are more likely to accept and incorporate addons to their software, because it doesn't impact very heavily on the overall design.

Advertise

Let others know about the package. Install it in prominent places. Write about it. Compare it with existing packages.

Artwork

If you have the skills, create graphics to use with the software. Splash screens, webpage graphics, icons, themes, logos, etc can all be useful. Be aware of issues involved in creating such graphics - if possible, ask the developers what kind of graphics they need or could use. Remember that you need to give them something they can use, not just something that looks great.

Information

Many developers don't have time to write and update documentation. Tutorials, howtos, manuals, references, even README files are a good thing to update. If you have a good grasp of language, you can correct and improve the documentation that already exists. You should do this by providing a patch, rather than just pointing at words and phrases you think should be changed.

Don't Get Underfoot

It's sometimes easy to cause harm to a project, while intending to help. This can be caused by cultural differences, lack of sleep or just plain personality differences. Probably the most common cause of problems is misunderstanding how busy the developers are. As long as you keep this in mind, you should be fine, but here's a few tips. (Remember, developers are people too, they'll have grumpy days too).

Don't pester developers for features. Ask politely is fine. If they say no, then you're quite free to modify the software if you really want the features.

Don't complain. Suggesting improvements, fixing problems, and reporting bugs is fine, but calling names, demanding fixes or being rude is only going to discourage the developer. If you need things fixed on demand, you should try a support contract or hiring a consultant.
Partners Free software: Games| Home & Desktop| Internet| MP3 & Audio| Multimedia & Design| Software Developer| Utilities| Web Developer