The Bytes

Behind the Scenes: Testing the Airbyte Maintainer Program

Rewind: Airbyte Hacktoberfest

Five months ago, the Airbyte community team set out on a mission to significantly expand the catalog of connectors. We knew that the community was interested in building connectors for their data needs, so we recognized a clear mutual benefit. In essence, we wanted to enable the community by offering cash rewards for each connector built. We generally thought it would be a quiet but successful initiative. We ran the event alongside the ever-popular Hacktoberfest and kicked off the program to close 2021 out with some wholesome community interaction.

We simply didn’t expect how popular this program would be. Over 40 connectors were contributed to the ecosystem over the 1.5 months that the program ran, which brought the catalog from 110 to 150 potential data sources. Our contributors came out in force, with some notable examples: Tuan Nguyen, a very active contributor, built a whopping six connectors. Ivica Taseki, another connector builder and aspiring platform contributor, built four. There was a mutual fit: we knew that the community members were happy with the program rewards and we were happy with having Airbyte cover more use cases in the ecosystem. 

Hacktober Round Two?

This got us thinking, “Is this the future for Airbyte’s connector ecosystem?” Because of Hacktober’s success, we considered having it become a permanent fixture in our ecosystem.

Right before we embarked on a second iteration of the connector contest, we stopped to think about what the program was serving and if it aligned with our goal to enable solving the long tail of connectors. We arrived at the concern and conclusion that maintenance of the existing connectors is equally important as the creation of new ones. Additionally, this aligned with feedback that we’d received from the community; tackling the maintenance of every connector is a big undertaking, and another massive connector infusion could pose a very reasonable concern for the future.Thus, we set out to create a program to address maintenance, not just quantity.

Introducing The Maintainer Program

After being sent back to the drawing board, we ended up running through a lot of ideas, as maintenance, while extremely important, is difficult to build an enthralling contest around. We found strong purchase around the idea of having a small group of maintainers that we could trust to take on connector maintenance tasks and PR reviews, as we could continue to reward our best contributors while helping keep the environment scalable. 

We spent a lot of time planning the project management to make sure that contributors would have an easy time picking up and tackling issues, figured out bounties that rewarded our community members for their time, and created a list of our top contributors by analyzing participation in Hacktober and over the lifetime of the project. Finally, we came up with the idea of giving direct commit access to veteran maintainers that were vetted through the program as a strong incentive for our top contributors.

At a high level, we designed the Maintainer Program as a bounty based system to incentivize and reward our community members for contributing to any part of the existing connector ecosystem.

There are three ways to participate in the Maintainer Program:

  1. Resolve an Issue

In GitHub, each Connector has a list of features and bugs that can be claimed and resolved for a cash reward. The list of features and bugs lives under each connector. To resolve an issue, maintainers will claim the issue, address the bug or feature, and then submit a PR request. 

  1. Review a PR

PRs are reviewed to optimize correctness of code, usability, and understandability. These PRs are submitted by other Maintainers who are resolving issues (see #1 above), which will be labeled in GitHub as “sponsored”. To review a PR, maintainers must comment on a Pull Request indicating you are claiming it. 

  1. Improve Airbyte Documentation

Airbyte users heavily rely on our documentation to set up and run Airbyte in OSS and Cloud. For each connector, there is a Sync Overview and a Getting Started Guide, which maintainers can improve for a cash reward. To improve Airbyte documentation, maintainers will claim the issue, address the bug or feature, and then submit a PR request. 

Here are some examples of the Bounties you will see in GitHub. 

  • Adding a sync mode to a connector: $150
  • Adding missing streams: $150 (pro-rated on the number of streams)
  • Adding full unit test coverage to a connector: $150
  • Fixing a critical bug: $100
  • Fixing a minor bug: $50
  • Improving connector Getting Started guides: $25
  • Generally improving connector documentation: $10

All that was left was to reach out to the contributors to get the program started.

The Beta Test

We reached out to our contributors and started to get conversations started around the potential of contributing. There was generally a lot of excitement, but also questions. This was new territory for a lot of our contributors and ourselves, so we wanted to spend a lot of time receiving feedback and considering changes. We wanted to iterate on this program with them to make sure that there was potential for the long term success of the initiative. 

One of the main challenges that we faced was that there wasn’t the immediate mutual fit of incentives when compared to the connector creation contest. For the connector creation contest, contributors immediately got to work on connectors that they were thinking about creating anyway, leading to high participation. For this program, however, maintainers were rewarded for doing work that may not directly align with their project or company’s main goals, so we had to design incentives around this. From our first few conversations with potential maintainers, it appeared that direct commit access to the repository was a great way to get people interested.

Over the first few weeks, we refined the processes and met with our maintainers to make sure that things were clear and incentives were aligned. Our very first active maintainer was Ivica, one of our MVPs from our connector contest. He immediately got to work on organizing the GitHub issues and scoped out a lot of issues for him and others to tackle.

After a few days, we had our second contributor, Luis Gomez, an engineer from Calixa. He and Ivica worked together, reviewing each others’ PRs. With feedback from Luis and Ivica, we came to the conclusion that this program wouldn’t have the explosive numbers of our connector contest, but may scale well into the future, which was the end goal. Although we only had two main participants initially, we still have a lot of interest in the program and more Airbyte contributors have stated their interest in 

The Future of the Program

We truly believe that this is a great first step to addressing the long tail of connectors from the angle of maintenance and quality. Additionally, we want to make sure that we release the best version of this program to the community to make sure that it’s a great experience and opportunity for potential contributors. We foresee this being a great mentorship opportunity for new contributors, a way for veteran contributors to be rewarded for their engagement with the community, and for the ecosystem to thrive as a whole.

If you are interested in the program and want to apply, we are currently taking sign-ups here and you can check out more details here. We will be slowly rolling out membership to ensure that our approaches are scalable and are aiming to eventually release it to the entire community!

Open-source data integration

Get all your ELT data pipelines running in minutes with Airbyte.