Writing code is one way to contribute to open source. There are many ways all told.
Here is a list:
- Create a new project – start a new open source project around something you are interested in – ‘scratch an itch’
- Use Cases – use open source software in new domains, see if it works or not.
- Peer Review – review specs, designs, architectures, user interfaces, and code and provide feedback
- Testing – provide any kind of testing assistance – including usability testing
- Documentation – create documentation where it is missing or lacking
- Translations – translate not only documentation but also web sites, wikis etc
- Features – create new features or plug-ins
- Forum Help – Learn how to use an open source package and then help out people who are new to the project
- Bug Fixes – take bug cases from the case tracking tool and fix them
- Scalability – perform soak testing, load testing etc and publish the results
- Configuration Diversity – test and use the software in less common configurations
- Tell the world – use press releases, blogs, twitter, conference presentations, barcamps etc to let people know that you are using open source software and that it works for you.
- Building and packaging (thanks AHinMaine) – build the software for your platform and make the binaries available