Contributing a Connector implementation from out of Airbyte

Hi, wanted to confirm a couple of points about contributing a new Connector implementation from out of Airbyte.

Q1. Looking in other Connectors under GitHub - airbytehq/airbyte: Airbyte is an open-source EL(T) platform that helps you replicate your data in your warehouses, lakes and databases., most (or all?) of them are boilerplated like Copyright (c) 20XX Airbyte, Inc., all rights reserved. Are they all developed by Airbyte?

Q2. When a developer wanted to publish a Connector from out of Airbyte, where it should be? Under the Airbyte git repo, or their own repository + Dockerhub?

Q3. If a developer wanted to contribute a new Connector in the Airbyte git repo, but cannot provide any credential for testing the Connector (at least in a public manner), how should the developer do?

Hello there! You are receiving this message because none of your fellow community members has stepped in to respond to your topic post. (If you are a community member and you are reading this response, feel free to jump in if you have the answer!) As a result, the Community Assistance Team has been made aware of this topic and will be investigating and responding as quickly as possible.
Some important considerations that will help your to get your issue solved faster:

  • It is best to use our topic creation template; if you haven’t yet, we recommend posting a followup with the requested information. With that information the team will be able to more quickly search for similar issues with connectors and the platform and troubleshoot more quickly your specific question or problem.
  • Make sure to upload the complete log file; a common investigation roadblock is that sometimes the error for the issue happens well before the problem is surfaced to the user, and so having the tail of the log is less useful than having the whole log to scan through.
  • Be as descriptive and specific as possible; when investigating it is extremely valuable to know what steps were taken to encounter the issue, what version of connector / platform / Java / Python / docker / k8s was used, etc. The more context supplied, the quicker the investigation can start on your topic and the faster we can drive towards an answer.
  • We in the Community Assistance Team are glad you’ve made yourself part of our community, and we’ll do our best to answer your questions and resolve the problems as quickly as possible. Expect to hear from a specific team member as soon as possible.

Thank you for your time and attention.
Best,
The Community Assistance Team

Hey @dmikurube,

Thanks for the thoughtful questions. Here are some possible answers:

  1. All of the connectors are either developed by Airbyte initially or submitted by community members. We encourage all contributions to all parts of our product.

  2. If you plan on developing your own custom connector, how you choose to publish it depends on your use case. If it is for an external API, we encourage you to merge it to Airbyte (but you don’t have to). If it is for an internal API, your connector probably shouldn’t be public. You can find more info about custom connectors and how to deploy them here: https://docs.airbyte.com/operator-guides/using-custom-connectors/.

  3. At the moment, we allow new connectors to be published and merged into Airbyte as long as there is proof that our suite of acceptance tests are passing successfully on the contributor’s local branch. You should always feel free to contribute new connectors to Airbyte!

Hope this answers all of your questions. Thanks for using AIrbyte. Feel free to post more questions here in the forums.

Thanks for your response, @sajarin!

Then, even connectors that were originally submitted by community members now have the boilerplates with Copyright (c) 20XX Airbyte, Inc., all rights reserved? Are they copyrighted by Airbyte?

In other words, do contributors have to present its “copyright” to Airbyte?

Yeah, my connector would use a public API, but I wondered if it could be merged into the Airbyte repo because of the questsion 3 below.

Then, IIUC, it would be acceptable to merge if my connector is tested only on my airbyte fork with my secret credential (stored only on my private GitHub Secrets), right?

Hey @dmikurube,

Regarding your question about copyright, I would direct your attention to our License page, which explains our policy better than I can. Read more here: https://docs.airbyte.com/project-overview/licenses/license-faq/

And yes, it would be acceptable for us to merge your connector as long as we have proof that tests are passing with your secret credentials. Please feel free to contribute.

Thanks, @sajarin.

Unfortunately, I don’t think that page describe about copyright well. The page is about licensing, not copyright which is my question.

Let me try rephrasing my question:

“Is any new code from me to be accepted in the airbyte repo if the code is boilerplated as // Copyright (c) 2022 Dai Mikurube. ?”

Hey @dmikurube,

According to our Contributor License Agreement (which you sign on Github when submitting your first contribution) you have to sign over your copyright license to Airbyte and the rest of the community:

“Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to the Project and to recipients of software distributed by the Project a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.”

Airbyte connectors are generally licensed using the MIT license but we remain the copyright holders of the contributions. Does this make sense?

1 Like

Hi @sajarin,

I see. By the CLA, the authors would “grant irrevocable copyright license” to the Project (and recipients).

Okay, everything is clear to me. Let me think how my one would be published. Thanks!