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 influence project decisions and ensure your priorities are reflected in the roadmap. (See also Recruiting and Talent Development)

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. Having guaranteed dedicated time to focus on upstream work will produce 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 transfer to your other employees. 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 — PRs accepted, reviews, public speaking engagements, or promotion to committer or PMC member — and tie them to promotion opportunities. This communicates that engagement in open source projects is a key part of company goals, not charity or altruism.

When employees see that upstream work is valued internally, they invest more deeply in it — and that deeper investment is what produces the talent development and roadmap influence your company is looking for.

Support Conference and Meetup Participation

Fund employee attendance at relevant conferences and encourage speaking opportunities. Attending conferences is primarily about creating opportunities to collaborate with peers, which in turn accelerates your roadmap influence and talent pipeline.

See also Event and Meetup Sponsorship for ways to increase your visibility at these events.

Chop Wood, Carry Water (Routine Maintenance)

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

Many companies focus only on flashy new features and ignore the fact that a software project needs daily care. But routine maintenance is where trust is built and problem resolution accelerates.

Triage

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

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 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 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 can — which is why it directly contributes to faster problem resolution for your own teams.

Transparency

Many companies value secrecy in their roadmap, believing 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 practical payoffs:

Respect Project Independence

Project independence is a central tenet of the ASF, and one of the most common places that companies misstep. Understanding why independence matters will help you avoid burning the trust you’ve worked to build.

A few practical guidelines:

Support Individual Contributors

If you don’t have full-time positions available on your payroll, supporting individual contributors financially — via B2B contracts, individual sponsorships, fellowships, and third-party programs — is another effective way to invest in ecosystem health as business continuity.

Internship and Fellowship Programs

Programs such as Outreachy provide opportunities for individuals to work paid internships on open source projects. GitHub Sponsors is another well-known mechanism. Companies can support these organizations, and thus indirectly fund work on projects that they care about.

See also Financial Sponsorship for broader organizational funding options.

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)