This year, our keynote speaker for Wix Engineering Conference 2023 is none other than Scott Chacon, the CEO and Co-Founder of GitButler, Co-Founder of the Berlin accelerator SCNE, and a Co-Founder of GitHub.
As part of the conference, we seized this unique opportunity to sit down with Scott, and hear his insights on developer collaboration and innovation. In this conversation, Scott shared his perspectives on the incredible path that paved the way for GitHub's success and impact, the dynamic evolution of open-source development and more.
Before diving into the interview you can also watch his great talk:
GitHub has revolutionized the way developers build, collaborate and manage code. Can you share the story behind GitHub's inception?
If I remember correctly, GitHub started as a side project of my friend Tom Preston-Werner. He started using Git and there was no great way to host Git repositories at the time. I met Tom at a Ruby meetup in San Francisco and he convinced fellow Ruby meetuppers Chris and PJ to work on this project with him and I joined them a few months later. Shortly afterwards, we all quit our day jobs to focus on GitHub full time.
We worked on GitHub for almost a year before we were making enough revenue to hire another developer, so it wasn’t the immediate rocketship that people may think. We bootstrapped it, built it slowly, talked at conferences, got the word out. It obviously ended up being a huge success but it wasn’t clear that was going to happen for years.
"It’s almost impossible for most of us to remember what open source was like before GitHub."
GitHub played a crucial role in popularizing open-source development and fostering a strong global community. How do you believe GitHub's platform has contributed to the growth of open-source projects and the spirit of collaboration among developers?
I think that GitHub has had a massive impact on the open source world and developer collaboration. It’s almost impossible for most of us to remember what open source was like before GitHub, but I think the biggest difference was that corporate development and open source development were totally separated, there was almost no overlap. You worked in completely different types of workflows with completely different tools.
The most interesting thing about GitHub to me was that it made it so that you could use the same tools and the same workflows in your company that you would on open source projects and vice versa. I think this really helped people learn how to contribute to open source projects and encouraged the use and support of open source in corporate environments, which has helped open source massively over the past 15 years. Simplifying and largely standardizing development workflows and the increased involvement of companies has totally changed the world of open source and the impact it’s been able to have.
Over the years, GitHub has become synonymous with version control and code repositories. How has the platform evolved to address the changing needs of developers and teams, and what key features have contributed to its sustained success?
There are two interesting ways that I think GitHub has evolved in the past decade, one is wide and one is deep.
In the wide sense, GitHub has continued to add tooling that compliments the code/repository experience. In my day it was things like Issues and Projects, today it’s tools like Actions and Discussions. These are tools that aren’t directly coding related, but organizationally relevant. Helping developers communicate more effectively.
In the deep sense, it’s done a lot of work in ways that are much more subtle around the code experience. Being able to squash merge or rebase instead of merge a PR. I remember us working hard on the “merge button” and now there are several ways to do it. Verifying signed commits, disabling pushes to the main branch, merge queues, all of these nice options that make everything work the way that a particular organization wants. There is a lot of work behind these things that don’t take up a lot of surface area.
But the biggest thing is probably just scale and performance. The amount of hard engineering effort that continuously goes into keeping GitHub up, fast and free is mind blowing and has been for years. GitHub serves hundreds of millions of repositories and needs to keep everything fast, secure and available, it’s really incredible.
The amount of hard engineering effort that continuously goes into keeping GitHub up, fast and free is mind blowing and has been for years. GitHub serves hundreds of millions of repositories and needs to keep everything fast, secure and available, it’s really incredible.
Photo by Mohammad Rahmani on Unsplash
What will be the impact of AI on Open Source? How do you see the contribution, usage and community change because of it?
I suppose the best way for me to answer this is not to speculate about what AI could do in an imaginative way, but look at what I personally use AI for in the coding realm now and extrapolate. Right now I see documentation as the industry that will be most disrupted by AI tooling. Maybe someday AI tools can write large, complex systems of code. I see it struggling to do somewhat simple things still, but what that output helps me with now is to give me pointers on how to do parts of things. What APIs should look like, helping write the outline of a function and let me edit it and not have to do the boilerplate stuff, things like that. But I use OpenAI and Copilot in place of things like documentation reference sites and Stack Overflow more and more. It’s so much nicer to just ask a question of how to do something and have it give you some example that kickstarts what you are looking to do.
I think this is going to get better and more ubiquitous over time, helping to speed up the things that every developer is trying to do. However, I don’t really see it changing the nature of Open Source much. I think what is more important is to further reduce the friction of contribution and maintenance of code and projects beyond how GitHub has reduced these frictions from what they were before GitHub and I don’t see AI having a huge role in helping to accomplish that.
GitHub's acquisition by Microsoft was a significant milestone. Could you discuss how this partnership enabled GitHub to continue supporting developers at an even larger scale?
I believe the Microsoft acquisition was incredibly valuable to the ecosystem that GitHub serves. GitHub got big and mature and at the scale it got to, the stability and maturity of a parent company like Microsoft made sure that the service it provided would be secure and reliable. We could have gone down the route of going public, but I personally feel like Microsoft acquired GitHub for exactly the right reasons in a way that is better for the community we serve better than the pressures that being a public company brings.
I think Microsoft wanted to have a good foothold in the open source developer community and have a strong jumping off point for selling Azure services via Actions and everybody benefited in the end. Private repositories became free, Actions are awesome, GitHub continues to be a service that is focused on developer experience rather than pure profit and it’s great for everyone involved.
Photo by Roman Synkevych on Unsplash
"My advice would be to use Copilot and OpenAI and similar tools right now in the way that you would have used StackOverflow. Ask questions, keep it simple, make sure you’re not reinventing simple wheels and fall back to more traditional documentation methods when that doesn’t work."
GitHub has undoubtedly influenced how developers showcase their work and build their professional profiles. What tips can you provide for developers on effectively leveraging GitHub as a platform for personal branding and career advancement?
I’ve been asked this a lot of times and my best advice is to contribute to open source projects. Choose something that you are interested in, look at the issues that have built up, find some interesting problem and try to fix it and open a Pull Request. If it’s accepted, you then have a URL you can include in CVs and additionally you have a presence in the community that you want to be involved in.
GitHub Actions, Copilot and other CI/CD integrations have become vital tools for automating software development workflows. How do you see these technologies, as well as AI in general, shaping the future of software development, and what advice can you offer to developers looking to optimize their workflows?
As mentioned before, AI tooling for me is most valuable in a documentation context. I think that AI tooling will inevitably become more useful in the context of writing code in larger contexts, but the main value that I see it adding in the short term is to help developers need to look up documentation less frequently and spend more time working on the logic of the code they’re trying to get to work.
My advice would be to use Copilot and OpenAI and similar tools right now in the way that you would have used StackOverflow. Ask questions, keep it simple, make sure you’re not reinventing simple wheels and fall back to more traditional documentation methods when that doesn’t work.
Thank you so much, Scott. We can't wait to hear you at Wix Engineering Conference 2023!