Why Meltano is Moving to GitHub

There comes a time in every dragon’s life when it has to leave the nest and soar on its own.

Okay, that’s corny. But it’s fitting, because this week, Meltano is migrating from GitLab, where the project was born, to GitHub, where we see our community taking flight!

The Meltano project was created at GitLab in 2018 as an open source tool built for GitLab’s data and analytics team, who naturally hosted it on GitLab.com: the cloud edition of its own open source DevOps platform. GitLab – both the company and the platform – were a great birthplace for Meltano, and provided all the nurturing we needed for the early days of the project.

“Leaving home” is bittersweet, particularly since I and many on our team have a deep personal connection with GitLab, having worked there for years building, marketing, selling, and using “the One DevOps Platform” every day. As we used GitLab to build GitLab, many of its features and behaviors were specifically designed to support our own needs as an all-remote company building an open core product in the open, and there’s no tool we feel more comfortable or productive in. Power user features that I used every day and had a hand in building – like quick actions (aka slash commands), confidential issues, and comment threads – feel like my babies and I’m sad to leave them behind.

But I digress! Back to why Meltano is moving to GitHub…

Why GitHub?

A year ago Meltano spun out of GitLab and entered a new phase of life as a fully independent company and open source project, which means that growing our community and lowering the barrier of onboarding new contributors from lots of different organizations is now of utmost importance to the project’s success and our mission to enable everyone to realize the full potential of their data. That’s the main reason we’re moving to GitHub: whereas GitLab excels in serving enterprises and is optimized for use within one organization, GitHub is home to a much larger number of open source communities. Meltano needs to be where the other data tooling communities are and where people go to discover new open source solutions to try, deploy within their organizations, and improve with issues and code contributions.

In the past, Meltano has been best known for ELT (Extract, Load and Transform) and the huge collection of Singer taps and targets that our community maintains, many of which were built using our Meltano SDK. We already moved those to GitHub six months ago to give our community better access to those connector resources. And now it’s time to move Meltano entirely to GitHub, down to the last repository. We’re moving beyond ELT to become the infrastructure for the modern data stack, and as we progress to this DataOps OS vision and increase Meltano’s capabilities around different stages and tools in the data lifecycle, contributions to our main codebase are more important than ever. 

We’ll be releasing Meltano 2.0 next month (stay tuned for more on that!), which is the perfect opportunity to introduce ourselves as the new neighbor on GitHub’s open source public square and lay out the welcome mat for more efficient collaboration and work across projects in the open source data stack.

Photo by RealToughCandy.com


What is happening?

We’ve moved our projects from GitLab to GitHub!

I’m a contributor; how do I update my cloned repositories from the Meltano GitLab organization to use the new locations?

– If you had directly cloned one of the https://gitlab.com/meltano/<project> repositories, you need to update the remote URL to http://github.com/meltano/<project>.git’. Assuming the remote is named ‘origin’, you can run git remote set-url origin https://github.com/meltano/<project>.git.
– If you had forked one of the https://gitlab.com/meltano/<project> repositories and cloned the fork, you need to fork the corresponding repository into your GitHub account and update the remote URL to https://github.com/<you>/<project>.git’. Assuming the remote is named ‘origin’, you can run git remote set-url origin https://github.com/<you>/<project>.git. If you also have an ‘upstream’ remote pointing at the upstream https://gitlab.com/meltano/<project> repo, you will also have to update this URL: git remote set-url upstream https://github.com/meltano/<project>.git.
– We have also changed the name of the main branch from “master” to “main”. To apply this change in your local repository, switch to the ‘master’ branch (git checkout master), rename it to ‘main’ (git branch -m master main), fetch the latest commits and branches from the remote (git fetch), remove the existing tracking connection with the remote ‘master’ branch (git branch –unset-upstream), and create a new tracking connection with the remote ‘main’ branch (typically git branch -u origin/main, or git branch -u upstream/main if the ‘origin’ remote points at your fork and you’d like to track the branch in the upstream repo instead).
-Now you should be able to pull and push as before.

What happened to the issues I opened on GitLab?

They were migrated over to GitHub using a bot. All issues in our GitLab projects have been closed, with their last comment containing a link to their equivalent on GitHub. The issues on GitHub all link back to the originals on GitLab – no history has been lost!

What happened to any (open) merge requests I had on GitLab?

– Like issues, all merge requests have been migrated to GitHub with cross-links between the old and new locations. Most MRs were migrated as pull requests with all of their commits attached, but open MRs that came from a fork were imported as issues because of technical limitations, and will have to be recreated manually. 
– To do so, fork the GitHub repository in question into your own account, add the new fork to your local repository as a remote (or update the URL of an existing remote), push your original MR feature branch up to your fork, and create a new pull request through the GitHub interface. For context, please provide a link back to the MR and migrated issue that this PR replaces, and feel free to ping the reviewer you’d been working with to have a look.

Can I still contribute via GitLab?

No, sorry. The repositories we have moved over to GitHub have been archived.

Do I need a GitHub account to use Meltano?

No, only to contribute to our repositories. For alternative ways of discussing matters with us, or offering suggestions, consider joining our Slack community, or emailing us at hello@meltano.com.

Does this affect Meltano’s plans or values?

No. We are more committed to our goals and the community than ever, and this move to GitHub (despite our love for GitLab) is proof of that.

Finally, our move to GitHub will bring us closer to where the majority of our community already spend their days. And while there’s always a bit of adjustment in getting used to a new home, we’re excited to be here, and we look forward to all the problem-solving, growth, innovation, and opportunity that the increased open source collaboration will bring.

Come see us on GitHub at: https://github.com/meltano


You haven’t seen nothing yet!

Table of contents
Join our mailing list

Stay current with all things Meltano