Employing or Contracting with Open Source Contributors

If your business relies on an open source project, employing, contracting with or otherwise financially supporting, contributors to the project is the most effective way to ensure that your priorities are reflected in project decisions. (See also Recruiting and Employee Satisfaction)

This goes far beyond code contributions, although that is the most obvious and visible way that you can participate.

Think of staffing an open source project exactly the same way you would think about staffing an internal software development project or working with external contractors. What positions would you staff if you weren’t sharing the load with the community? Are those positions being adequately covered?

Dedicating employee or contractors’ time to positions like marketing, events, and end-user support, as well as software development, significantly increases your influence and trust in the project community.

Effective Ways to Contribute

While many companies contribute here and there to open source projects, having a carefully considered strategy for doing so will lead to more consistent, measurable results, and greater influence in the project’s decisions and roadmap.

Allocate Dedicated Time

Earning trust in open source projects takes consistent engagement, and visibility to the community. Thus, having guaranteed dedicated time to focus on upstream work will result in better long-term results.

Giving employees a specific time allocation - 10-20% of their schedule is typical - will ensure that they remain visible to the community, and are able to have focused time to build their skills.

Trust earned by one contributor does not necessarily rub off on your other employees. So don’t assume that you can just swap out one employee for another.

Recognize Contributions

Include open source contributions in performance reviews and career advancement considerations. Define specific metrics, such as PRs accepted, reviews, public speaking engagements, or promotion to committer or PMC member, which are tied to promotion opportunities. This will help employees feel appreciated, and communicate that engagement in open source projects is not considered charity or altruism, but is a key part of company goals.

Support Conference and Meetup Participation

Fund employee attendance at relevant conferences and encourage speaking opportunities. Understand that attending conferences is primarily about creating opportunities to collaborate with peers, and this, in turn, will accelerate your business priorities.

Support Individual Contributors

Supporting individual contributors financially (via B2B contracts, individual sponsorships, fellowships, and third party sponsor programs) can be a very effective way to contribute to a project if you don’t have full-time positions available on your payroll.

Bug Bounties

While the ASF does not ever directly pay for contributions to ASF projects, as a matter of principle, there are many third-party “bug bounty” sites that allow you to support individual contributors in their work on projects that you care about.

The project bug-bounty-platforms maintains a list of such sites, along with contact information. The ASF does not endorse any of these sites, but developers are welcome to work with them as they contribute to ASF projects.

There are many third-party programs through which you can support contributors to open source projects, with GitHub Sponsors being one of the best-known.

Internship programs such as Outreachy provide opportunties for individuals to work a paid internship for an open source project. Companies can support these organizations, and thus indirectly fund work on projects that they care about.

Project Independence

Project independence is a central tenet of the ASF, and one of the most common places that companies misstep in their interactions with ASF projects.

Take time to understand ASF ethos, the ASF Trademark Policy, and the reasons why we value project independence. Trust takes a long time to earn, but can be burned very quickly by misusing a project’s brand.

There are several very practical ways that you can contribute to overall project health, while earning trust for your contributors.

Broad Project Ownership

Ensure contributions align with long-term project goals rather than solely short-term company priorities. That ensures that the project as a whole remains healthy.

Companies that focus only on contributions that support their own specific business model quickly identify themselves as not valuing the overall health of the project. It also makes it very difficult to attract broader community interest in your proposed changes, since they are seen as self-serving.

Chop Wood, Carry Water (Routine Maintenance)

Open source communities sometimes use the phrase “chop wood, carry water” to talk about doing the mundane maintenance tasks that are required to keep a project going.

Many companies focus only on the flashy new features, and ignore the fact that a software project needs daily care to keep going.

Triage

Participating in the weekly triage of new issue reports and pull requests keeps a project healthy. It ensures that the project does not appear abandoned. And it exposes your team to parts of the project on which they would not otherwise gain expertise.

It also identifies your contributors as people who care about the overall health of the project, which, in turn, earns trust and increases the community’s willingness to work with you.

Be sure to explicitly give your employees time to do these tasks.

Infrastructure

While the physical infrastructure behind ASF projects is maintained by a team of paid professionals, there’s more to project infrastructure than that. Keeping the CI system running effectively, understanding what supplementary infrastructure the project depends, on, and generally being useful are key ways to ensure the sustainability of the project.

For projects that provide infrastructure, or other cloud services, donating these to the project (talk to infra about how!) is critical to the health of ASF projects.

User Support

Answering user questions is the very best way to understand the pain that your own customers are experiencing with the project. It will make you more responsive to them, and build your own expertise, in a way that no other activity will do.

Transparency

Many companies value secrecy in their roadmap, as they believe that it gives them a competitive advantage in the market.

This is in tension with the open source focus on transparency and collaboration. Finding an appropriate balance is key to your successful participation in ASF projects.

Being transparent about your company priorities has several positive outcomes.

Avoid Conflicts

Telling the project what you will be working on can avoid conflicting with other work that is going in a different direction. The project can discuss your plans, and compromise on a mutually agreed direction, saving you time going down a path which will ultimately get rejected.

Attract Collaborators

It can be a way to identify people from outside your organization who share the same priority, who may work with you to achieve your goals, and, in the process, provide ideas and innovation that you may have missed had you done the work yourself behind your company walls.

Earn Trust

It always comes back to earning trust. Being transparent about your priorities shows the project what you care about. It doesn’t leave them guessing about your ulterior motives. The more you do this, and the more you live up to what you say you’re going to do, the more the project will be willing to work with you.

Getting Started

  1. Identify projects your company already uses or depends on
  2. Connect with existing contributors in your organization
  3. Start with small, manageable contributions
  4. Consider sending a weekly/monthly update to the project dev list about what you’re focusing on. (Discuss this with the project first to be sure it’s welcome.)
  5. Build relationships within project communities
  6. Gradually increase involvement and responsibility (See Becoming a committer)

Companies that invest in employing open source contributors create a sustainable model that benefits the entire ecosystem while building internal expertise and community relationships.