Purpose: This how-to is for decision makers in an organization. If you aren’t sure how to contribute to the free/open source software world, this page should help you figure that out.
Feedback: If you have comments, questions, suggestions or any other feedback, please use the contact form at the bottom of the page.
Ways to contribute:
- Source code
- Documentation such as tutorials, manuals, code comments, manuals, training videos
- Donations to hire more developers or to support the lead developers
- Sponsorships of conferences, hackathons, and hackdays
Developers who work with free/open source tools and projects are in favour of these ways to contribute. It is up to the decision makers to allow the developers the time and space needed to contribute source code and documentation. It is up to decision makers to approve donations and sponsorships of worthy projects.
Read on to see the reasons and benefits of contributing to free/open source software.
Contributing Source Code
Contributing source code to a FOSS (Free/Open Source Software) project is very often done when your organization’s projects rely on the that project. Increasing the quality of your project depends on increasing the quality of the code that it depends on. By allowing your organization’s improvements to be re-integrated back into the FOSS project, it can indicate that the software developers of your organization are high quality developers. It also encourages in-kind contributions from other organizations which can reduce how much work your developers have to do.
For example, the WordPress blogging software relies on contributions from many developers and organizations. When your organization hosts a blog with WordPress.com, there are hundreds of man-hours poured into it. It would take too long for the developers in your organization to replicate all of the functionality that’s available in WordPress, not to mention the long time it would take to ensure that it is of a very high quality.
Typical source code licenses used are the GNU General Public License (GPL) version 2 or later, the MIT License, the Modified BSD license and the GNU Affero General Public License (AGPL).
Your organization already documents the processes and the tools that are used. Your organization already documents the products that it creates. Improving the quality of the documentation in the projects that your products rely upon will let developers increase their knowledge and could lead to higher quality products.
It is often said that the best way to learn something is to try and teach it to someone else. A developer that contributes a tutorial to a FOSS project is more valuable than someone uses the project but neglects to share details on how to use it.
Donations are used to fund the further development of a free/open source software project. Some free/open source software developers work full-time on a project funded by donations. This lets them concentrate on improving the software. Some projects will hire more developers, designers, translators as needed to help complete specific tasks.
Donations can be offered as bounties for fixing a particular issue or for implementing a new feature.
Sponsoring a Conference
Examples of FOSS conferences:
- Free Software Foundation
- GNU Project
Sponsoring a Hackathon
Hackathons were held in some small startup companies and have grown into a worldwide phenomenon. They are events where software developers get together and try to create an app or a website or something else in 24 or 48 hours. There are usually prizes for the best idea and implementation. Much of the time, the developers are using FOSS projects to build their ideas. Some of them will release their code under a free/open source license.
At some hackathons there is a concentrated effort to improve the quality of a single (or small group of) FOSS projects. Sometimes this is a clean up effort to fix many small bugs, other times it’s a chance to implement a new feature or design.
Your organization can act as a sponsor for the hackathon by funding it, hosting the event, providing a location, providing help or tutorials for developers so that they can use some of the same FOSS projects that your organization uses.
Examples of FOSS-specific hackathons:
- Ruby on Rails Hackathon
- Drupal NYC Hackathon
- MediaWiki Hackathon, MediaWiki is the software that powers the Wikipedia website
- Hac: Haskell hackathon
Examples of hackathons where FOSS is used:
- Random Hacks of Kindness, which required that all software developed at the hackathon be released under a Free/Open Source license
- Google Hackathon
Click here to find out how to organize a hackathon.
The bottom-line is that developers want to contribute. It makes them feel great because their code is out there, it shows that they know what they’re doing and they get feedback and improvements from other developers. A happy developer increases the quality of your organization’s projects. This leads to happy clients and happy customers.
Your organization can build up an attractive brand name through contributions whether its through source code, documentation, donations, or sponsorships.