Christian Weichel: Since going open source, it's breathing free now. We're open by default. If someone has a question, we can explain it in great technical detail. We can even point them to the code. And it's really a different style of working. And it's so much better. Eric Anderson: This is Contributor, a podcast telling the stories behind the best open source projects and the communities that make them. I'm Eric Anderson. All right. I'm here today with the team from Gitpod, including Gero, Christian and Sven. I practice those names in advance, but I think I may have not gotten them right. Hey, welcome to the show everybody. Sven Efftinge: Hi, Eric. Christian Weichel: Thanks for having us. Eric Anderson: Gitpod's a relatively new project. And so, this'll be interesting to hear a very recent story. I think it would be best to have each of you introduce yourselves individually, just a bit, so that we can hear your voice and that will help us for the rest of the show to know who's talking. Sven Efftinge: Great. I propose that Gero starts because he kicked off the first code basically, and then we can continue with Christian. Gero Posmyk-Leinemann: Okay. I'm working for TypeFox and on Gitpod for three years now. And I'm one of the software engineers in the team. And that's basically it. Christian Weichel: Hi, my name is Chris. I'm also one of the software engineers on the team working for Gitpod. And I joined, I believe about two months then. Is that about right? So I'm very early on in the project and I've been added ever since. Sven Efftinge: I'm Sven. I'm co-founder and CEO of Gitpod. And I think when Gero joined the team, we were a consulting firm doing developer tools for all kinds of large and small companies around the world, basically. And we had this idea, we wanted to build something like automating dev environments and so on. And what we usually do is, if someone joins the team, we have this first one or two months onboarding things. Sven Efftinge: And then I asked to basically build in minimal viable thing or proof of concept around this idea. And then he kicked off the first two months. In the second month I joined a bit here and there. And then we understood, okay, there's this really cool stuff. We want to continue on that. Before that, of course, we had already built or worked on some ingredients that were very important to this project. For instance, we created the open source project called FIA, eclipse FIA, which is an open source IDE based on VSCode technology that allows you to run it in browsers and desktop at the same time. Yeah. And we've been working on the different, other than like products for clients, like a data science IDE. And from that, I basically learned time is really good now to build, finally, a decent cloud-based dev environment experience, which then resulted in good potent. Eric Anderson: Great. Thank you for the background. So the three of you came together through this consulting company, right? Type Fox. And so you didn't necessarily know you're going to go and build this product. What situations motivated you to start the project? You mentioned that you had ingredients, that you wanted to build this where there are client work, that motivated you. Was it more personal pain points? What was the motivation? Sven Efftinge: Well, it's mainly personal pain points actually. As consultants, we have to switch between a lot of projects. And then also we are so deep in open source. We are still running five, six open source projects where we are very heavily engaged, but then also we are contributing to a bunch of others. So you are switching... You have to switch your dev environments between these projects all the time. The main use case was really doing deep code reviews, where when you do a code review, like on Gitlab or Github using the [inaudible 00:04:20], then it's somewhat superficial. And if the changes are important enough, it's always a good idea to check it out in a real dev and environment, and run some tests or even just navigate the code base properly and so on. And so, that was the main driver at first, and that's also why we focused on poor requests and code reviews in the beginning. But it was pretty clear soon that, well, it makes a lot of sense to have disposable dev environments whenever we need them for all kinds of tasks. Eric Anderson: Got it. So, Gero joins the team and you give him the starter project, how fully baked was the idea? When you handed this assignment to Gero, did you know exactly what to build or was it vague and what was the first step? Sven Efftinge: Maybe that's something that Gero can answer, right? Gero Posmyk-Leinemann: Yeah. Sven Efftinge: Do you remember? Gero Posmyk-Leinemann: I very vividly remember the first day I started at a TypeFox. I was introduced to this guy called Sven, and he said, yeah, Github has its project. It would be really cool if we had a button next to the project where you could open that dev environment with one click. And I said, okay, it sounds cool. But it was all pretty new to me, the whole technology, the stack. I think I was working four months on this project before it really clicked for me, personally. It was the first time I opened the dev environment on the GitHub project. And it really built everything I didn't build at that time. But all my tools were installed and I could work on... Actually do actual coding work in the browser, but really clicked for me. And so, I think the idea... Sven had the core idea in his head. Since then, we, I think, evolved pretty heavily. Eric Anderson: Got it. And it sounds like you had to trust in him a little bit at first. You were like, sure, whatever. And then after you built it, it's like, wow, this actually is... This could be very useful. Gero Posmyk-Leinemann: Yeah. Exactly. For the first month, we didn't know each other before, so I was new to the company and to everything. And so, it took a little while to really get addicted to this disposable workspace, disposable dev environment concept. Eric Anderson: Got it. And then, Christian, I imagine you're working on other projects and at some point you get pulled into Gero's, is that right? Christian Weichel: So actually I also started right on Gitpod when I joined the company. So I got hired at TypeFox. And during the interviews, Sven already mentioned, we're working on something really cool. I can't really say that much yet, but it's around dev environment, about online IDs and that was a topic I was interested in before as well. Also in the eclipse space and had looked at that. And also at my previous job, I looked into stuff like that, and so got me really excited. Christian Weichel: And then I joined the company. And I think on my second day, Gero gave an overview of what he had built. And much like it was all new to him. A couple of months before it was all new to me at that time. So there was a lot there to unpack. There was a lot to understand. But it all looked really cool. It was early days, which is exciting because it means there's a lot you can do. And there's a lot of chance to have an impact on the direction where things are going. So much like you, I also joined at the deep end of the pool. Eric Anderson: Right. And if I recall it was announced or open sourced in August. So when did this happen? When did the project start internally? Gero Posmyk-Leinemann: I started working on the first prototype, I think, at the end of 2017, but there was nothing that could be compared to Gitpod now. I think something that had a bad interface and would, at least, have the very basics was similar to what we have now is, I think I did after the first half of 2018. Eric Anderson: Got it. So this has been going on much longer than I expected. That's awesome. Christian Weichel: So I joined in April 2018, right? And at that point you could already open stuff and you could work in it. And as Gero said, it's a far cry from what we have today. It was a far cry from what we have today. But you could already do work in it. Sven Efftinge: Yeah. We probably fall into this trap that many founders do like, I build and build and build. Actually we went public relatively early without a lot of noise, but I think we went public in September 2018. I showed this stuff at conferences already in June 2018. Then we had a real going public in June 2019 was a bit more announcement around the SAS version. And then, it felt like we've been always working in open source projects. Everything we did so far within the consulting firm TypeFox was open source. This was the only non-open source project. And what's interesting that what kind of problems that have for us, like communication-wise, engaging this community. We had of people who were pre-stoked about Gitpod the whole idea, and they want to contribute and they asked questions and then it was always like, can we talk about that as closed source? Sven Efftinge: And it was not clear. And since we open sourced that in August, this has been really much nicer now. The code is there and we are still working on pretty clear policies within the team that we want to be public by default, for instance. There's always the question, this information, where should I put it? And what I say like, yeah, if you don't have really good reasons, then put it into the public, they should track it. So everyone can see it and we can communicate there. So that has been very beneficial for sure. Christian Weichel: I also... Culturally, I found this as the biggest benefit of making it open source before it was [inaudible 00:10:42], it was always... We were quite timid with regards to what do we say? And also it showed in the product. Some bits, we weren't sure if there were secret source or not. And it was never quite clear in sourcing and how the product behaved, it showed, and how we behave towards our users and the community. And since going open source, this has just gone. It's like breathing free now. We're open by default. If someone has a question, we can explain it in great technical detail. We can even point them to the code. And it's really a different style of working. And it's so much better. Eric Anderson: It sounds like you were first planning on building a business around it, and then later, an open source project. Was the plan always to build a business? Was there ever a time when this would just be an internal tool for you and your client work? Sven Efftinge: We always wanted to transition from a consulting firm into a product shop. We just, you know, we were looking for what kind of product do we want to work on? The reason for that is we have a really great team with lots of really good engineers and having them individually, helping other companies working on different products is fun, but it's so much nicer. If you can work together as a team and build the stuff you really, you really love without any compromises and so on. And we wanted to get that to that point Eric Anderson: Sense. And we had an introduction to your role so far, you know, general kind of led the project Christian joined spend was the idea how, how have those roles evolved if any, or time as the project's grown. And it had there been other people that kind of joined the group? Sven Efftinge: Well, for one, Gitpod is actually its own company now. So we... TypeFox is still running as a consulting firm. And because we wanted to make sure that both sides don't get distracted from each other, we founded a company of its own. And that company and Gitpod, we have now 13 people. And most of them are engineers, I think, everyone but two. So the team is a bit larger now. Giro and Chris are still the architectural backbone of the whole thing, working on the deep technical things in the backend, so to say, like deepest Kubernetes and so on. But we also have team members who are... For instance, Antoine, he is one of the core architects of eclipse Theia. And he is also deep in front-end stuff like the TypeScript code and so on, and the others as well. The team is growing and we are starting to separate or identify different areas. The system has become complex enough such that it's hard, as a single engineer, to overlook everything. Eric Anderson: Now, talk to us about the open source launch. What does it look like to launch open source? Is it just merely flipping the public bit? Do you do marketing? How do you prepare? Is there work around the code base? Sven Efftinge: If someone wants to unpack the whole story of this summer? Eric Anderson: I hit a sour spot, it looks like. Christian Weichel: No. There's a lot to unpack. Let's put it that way. So what happened was... So we set ourselves a timeframe in which we wanted to make this happen. And I'm not entirely sure how much time we actually gave ourselves. It felt like two weeks. In reality, it was clearly more. And then, there were two things that really went on in parallel. And it's by no means just flipping a bit. Unfortunately, there's a lot more to it. One was the code side, the engineering side, and the other one was the marketing, the being loud about it, the telling people about it side. And from the code side, what we wanted to do, or what we needed to do is some cleanup. There's also the engineering pride. There are some things that when the copays were like, no one's ever going to see that. That's fine. Christian Weichel: But now people will, So we better clean those up. And then, also I'm making it work for people coming into the project, looking at the code and making it understandable and splitting off the parts that we need to operate the SaaS offering. So there are some bits that are just very so specific that are not in the code base and extracting that core out of it and moving that into a separate repository and changing all the infrastructure, CI/CD, et cetera. So that was on the engineering side, and on the marketing side and being loud about it, I think so unconceivable by that. Sven Efftinge: Yeah. That was pretty straightforward. Engaging with a team, talking about the messaging, updating websites and so on. I think, really, the tough part was splitting the core, because we want it to have as much as possible open source, but there is still some stuff that we only need for running the SaaS version of it, and specifically stuff like billing, integration, and so on. We didn't want to put that into the open source core. A lot of architectural issues at some point. Sven Efftinge: And also, we have the ongoing deployment of the SaaS version, and where we, at some point, we had to say like, okay, we need to stop this now because we have to focus. We are only so many engineers, and so, interestingly, what happens if you stop some regular habit, then it's getting harder to getting into that habit once again. And even after the launch, we had still a couple of weeks and to some extent we are fighting with that to catch up again, getting into the mode, whereas the systems are running nicely and we are in this normal pace of continuous development, basically. Eric Anderson: You mentioned you had this community of users who were excited about the open source so they could contribute and help out. Do you tell them that the open source launch is coming in advance and use them to help amplify the announcement, or do you just surprise them? Sven Efftinge: I think we mostly surprised everybody. There were maybe some friends or so we told them. We thought more, we wanted to make a big bang. Eric Anderson: And now that you're open source, do you find it easier to onboard new customers? They get to play with the code base. Maybe you can tell us about the reaction and impact of the announcements since August. Sven Efftinge: Yeah. The reaction generally is very positive. And the launch was just a start of a journey where we need to engage... We had a community before, but now, also, we have this aspect that community members could contribute solutions to problems they face and building a product that is all about making contributions easy. Of course there is a lot we should do about this. So we are working on all of these aspects, making it super easy, although Gitpod is a quite complex, Kubernetes application. And it's, especially in those cases, the onboarding is pretty hard. I think feedback is great. We get contributions, but I'm pretty sure we can do much better even like getting rid of a lot of friction also, but then also not only tooling wise, but also in the community or project, writing down certain processes more formally. So people know what happens with my issue? When will it be considered? What is the process here? And so on. So this is all stuff we are working on and we want to become better at over time. Eric Anderson: Where do you go when you have these questions about open source launches or engaging with the community? Are there experts you turn to for advice on how to do this? Or, you mentioned that you've done a lot of open source work before, so maybe you felt like you knew that playbook. Sven Efftinge: Yeah. The open source stuff we did before was open source like in the vendor free, when a neutral open source thing where you really put out open source and then it's commodity. And what we did was Gitpod is more like open core, so similar to Gitlab or so. So there are some aspects to that where also business wise, of course, we needed to understand what is the implications of certain decisions, for instance, licensing and so on. But, we all have been working in open source for many years, have seen a lot of open source projects, different ones, launching one. But of course we also have a lot of advisers and friends who are deep in open source. And they gave their feedback. But we didn't engage with professional consulting or so in that regard. Eric Anderson: And let's switch gears. Where do you see the project headed from here? Maybe what's the state of the project today and any kind of big milestones that you're working for that you want to speak to? Gero Posmyk-Leinemann: So on the technical side, one of the biggest milestones, it's right ahead of us. So we are right in the process to deploy new run time for workspaces to get bio. I think that will change a lot, because it allows users to do exactly the same things in their workspaces as they do in the local dev flat-tops. And there were a few hurdles that are now relieved. And I think once that's out, that's a huge step Gitpod, and would enable a lot of user growth, I think. So it will enable a lot of more use cases and that will help adoption quite a lot. Eric Anderson: Yeah. One aspect of building an open source community, I suppose, is community management engagement. Do you have people on your team or tools that are dedicated towards getting feedback from the community responding to open source user needs, that sort of thing? Sven Efftinge: Yes, of course. One of the engineers is responsible or heard of community. And it's looking in streamlining processes, documentation, communications there, but also overlooking metrics, in that regard. So we are not so interested at this point in gross metric like we are interested, but what's more important is response times and stuff like that. We just want to make sure that people who engage with the Gitpod project, get the feedback. Sven Efftinge: When they put some time in, they need to get the feedback. And then, this is really challenging with a small team that we are. And with so many cool things we can do all day. Like what Gero said, just one aspect is that, yeah, we have no docker and root support in Gitpod. But also we are working on a bunch of other things at the same time and running a SaaS service 24/7 and engaging with the community. So sometimes it's hard to... Without proper processes that to make sure everyone gets the feedback they need. Long-term, we will, of course, also work with other tools that give us more as our metrics and so on. But at this point I think quality is much more important. Just directing, engaging with individuals and streamlining communication there. Eric Anderson: Yeah. That response time goes a long way. It's like a liveliness test. You reach out on a project and somebody bounces back like, okay, this is... For real, it's going to be something I can rely on. You mentioned licensing earlier. One of the decisions open source projects have to face is how are they going to license and govern the project going forward? How have you resolved those questions? Sven Efftinge: We go with, I think closest is the Mattermost, but we have a core which is open source and runs without any other code. And that code is AGPL license. And then we have source code available code, which adds additional features for which you need a professional license in order to run that. The amount of that code is pretty small at the moment, because we are not targeting revenue really, but more adoption. We think this whole idea of having automated, disposable dev environments, it is so new that we first need to advocate the developer world around the possibilities, and why they want to do that and how it removes a whole ton of problems, not only time-wise, but also works on my machine problems and so on. And for that, it really makes sense to have an open source solution that completely works. But we wanted to put in something that signals, Hey, at some point we will ask for some money. Sven Efftinge: And so, we have this professional subscription or a professional license, enterprise license for the open-source version that adds some team features. Long-term, we will add more enterprise features there so that whatever developers want to use, like our primary user base, our developers, whatever they need around features and so on would probably be opensource, but features that buyers would like to have like security analytics, integration with other systems in a larger enterprise, those would be part of the enterprise code. And I think that's, like I said, the CEO of Gitlab coins that buyer base pricing. Eric Anderson: Great. Well, this has been fantastic. I feel like we've got the grand arc of the company. Anything we missed? Sven, Christian, Gero? Sven Efftinge: A lot probably. Yeah, no, that has been really nice talking to you, Eric. Thanks for having us. Maybe as we continue working on the product, we can get another interview with updates around where we're heading and so on. Eric Anderson: That would be actually very interesting to get the... You have to take... If listeners are excited about the project, any advice on where they go or how they engage? Sven Efftinge: Yeah. They can go to any Github repository and then just go into the URL and type in front of it, gitpod.io#. And then, they will get that repository in a dev environment in the browser. Eric Anderson: Thank you very much for your time. And yes, we'll ask to go back in some months time and see how things are progressing. Sven Efftinge: Cool. Christian Weichel: Awesome. Thank you for your time. Sven Efftinge: Thank you. Christian Weichel: Thanks Eric. Eric Anderson: All right. You can find today's show notes and past episodes at contributor.fyi. Until next time, I'm Eric Anderson, and this has been Contributor.