USA: Your business most likely depends on open source software. But are you doing your part to make sure it will be there in the future? For that to happen, the projects where it is both maintained and improved need to flourish.
How can you contribute to that goal? The first thought most of us have — donate money — is unlikely to be the best way to support the open source projects that are most important to you.
While proprietary software companies want your money in huge quantities to pay their shareholders, executives, and staff, most of the people who develop the code in open source communities are paid elsewhere. As a consequence, there’s a modest need for cash and a little goes a long way.
So how best to support open source? Here are seven ways your company can strengthen the open source projects you depend on:
1. Buy from community members
Open source communities are typically composed of many of the people whose business interests most depend on the sale of services and extensions of the project. They are trainers, contract developers, support companies, integrators, and more. The very best way most of us can support open source is by trading with those people and businesses.
When you buy training or service-level agreements or contract development, check to see if your supplier is an active community member. Ask them about their commits to the project, their attendance at community conferences, their participation in governance.
Some communities even have a way for members to prove their participation, such as official membership or even certification. There are a surprising number of companies — especially offering level 1 and 2 support services — that don’t meaningfully participate in the community. In many ways, those companies are the real freeloaders and it’s better not to encourage their existence.
2. Promote the project
Open source projects aren’t like commercial products. They don’t have the budget or inclination to market themselves, so it’s easy for the casual observer to believe they’re of marginal interest. But the very fact your company uses a particular set of open source software solutions is interesting.
Don’t keep it a secret. Share the details in public. Add information to your website about the open source projects you use and how you use them. Encourage staff to contribute articles and case studies for publication. If you make your open source usage public, you’ll discover other people using the same software who can also be encouraged to share their experiences. In fact, there’s a word for them: community.
3. Participate in the community
As a user of an open source project, you have a role to play in the community. One direct and valuable way to support the projects upon which you depend is to participate. As simple an act as asking your staff to attend a local meet-up or even a regional conference helps. These events build the community and in some cases are the main source of funds to pay for the small staff and infrastructure costs for a community. Participating does not have to mean directly contributing to the code and documentation; just showing up is of value. Of course, you can go further and contribute in a more concrete way.
4. Contribute to the project
Obviously this will help! But you may be surprised by how welcome even small contributions can be. An open source project is the overlap of the interests of many participants. Not every community participant is involved to the same degree; in fact, a community has a “long tail” participation curve, with many participants making smaller contributions and only a few making large ones. Your contributions will be welcome, no matter how small.
As a user of open source software, you can contribute bug reports — possibly through the service company you’ve hired — and even patches to fix defects you’ve found if you’re actively developing in and around the code. One great way to contribute is to offer your own internal how-to documents and implementation case studies. Of course you can make larger contributions of code and new functions.
5. Commission improvements
Perhaps there is a feature you need in the software you’re using. It won’t write itself, and the community is not there to meet your needs; they are mostly there to meet their own. You could complain about it, or you could invest some money in addressing it. You’re probably not the only company with the need.
You might be able to use the same approach as a group of German and Swiss public administrations addressing their need for LibreOffice and OpenOffice to have better interoperability with Microsoft Office. Teamed together through the Open Source Business Alliance, they’ve commission community core developers to do the work they need and contribute them to the group. As a result, LibreOffice now has much better capabilities in both reading and writing Microsoft’s OOXML format.
6. Engage directly
You depend on the project. Why not hire the developers who created it or who keep it running? You can make a significant contribution to a community by directly employing core developers of the software that you most need tuned or customized to your business needs. When you hire them, make sure you’ve left enough room in their lives to continue to meet their community commitments.
Hiring core community developers is a great way to ensure your company’s needs are met. You can also participate in the governance of the community. Help with the administration, make staff available for infrastructure or marketing work, stand in board elections.
7. Make cash donations
I said not to do this — but I meant as an only or first step. As a community member, you have a role in helping pay a share of the the bills. This might include the cost of the infrastructure and the sys admins who run it or perhaps the cost of an executive director and a small staff. It is very unlikely to pay for the actual development of the code itself — that’s the community’s responsibility. You could become a sponsor, or even an advisory board member, as a way to channel funds into the shared coffers of the community.
There are other ways to support open source, but these seven steps provide a path for many companies to ensure that the software running the business remains available, debugged, and innovative over time. It needn’t cost much money, and most of these steps flow directly out of your business needs and practices. Give it a try!