Why is Sourcegraph Open Source?
So. Hey everyone, I'm. Eva from Kate a founder and CEO of your base Dora yo I'm. Here with Quinn on the other side of this call, he's, the founder and CEO of source, graph so. Quinn's. Team recently announced, that their open source and source graph, so. As the founder of a new developer, infrastructure, company myself and a user of source graph I have, a million questions for Quinn and I. So I talked to him and he generously agreed to record, our conversation, in case it's useful for all the developers, and other intrapreneurs, so. Hey Quinn how are you today good he's, good, to talk with you excited, to talk about these topics spend. A lot of time thinking about it so I'm glad to have someone I can talk about this with non-stop, for 30 minutes and who's interested, yes, that'd be great. Could. You just talk very briefly about what a source graph and who uses source graph and why yes. Sir graph is a product for developers, that lets them search and browse their code so, it's. For all those times when you're coding and you have some question how do I do this who wrote this why did this break and we. Build it to be the fastest, way to find that answer in the same way that when, you want to you know answer any, of a million kinds of questions you go to Google well, it turns out if you know you, are working on your code then source graph is that Oracle. That answers, all your questions for. You and it's code search or browse something really simple so, is it for my code or for, other people's code it's. For your code and it, turns out your code probably includes a lot of open source and. If that, means you, know whatever question you answer, means you need to go research, how, some open source project, implements it either, to debug, an issue or, to copy their implementation, then it's, for other people's code - oh the, make sense ends. But. Suppose I have a private, repository, right it may be an enterprise version of off github, how, do i how does that work. You. Run source craft on your own infrastructure, for private, code one. Thing, I think we'll talk about this from a business model point, of view is, for. Any company like us that makes a product that deals, with sensitive. Data we have two choices we can either offer. A cloud service where companies and their code our servers we host them and they gotta trust us and all that or we, can ship our product so they ran on their own infra and we. Chose the latter so we don't have any private, code you can just run source graph on your own network and it turns out that's free that's actually open source - so, are. We. Made a lot of choices to make that easy and that's something that was, not immediately, obvious when we were starting and it still isn't - a lot of people because, everyone thinks so everything is moving to the cloud but, not everything, the. Easiest, way to you. Know understand, that is if. You're listening you know is is all of your code on the, cloud maybe, it's on github servers. But is it on the clouds of like many different companies you trust all those companies probably not and so, that's why we made source pass you could run on your own intra, interesting. So, how does it work do i download. Tar. Ball and then i rent. What's, the deployment, like is it a docker image how does that work yeah, dr image or if, you want high scale you can go kubernetes, but, the simple one is just docker run we have a little command on our site and then you have a server on localhost, colon 30, 80 I see.
So. I've used, source, graph for. The for, your open source. I. Mean. Your public instance. Of off source graph and my perfect way to use source graph is through gorg. When, I'm not even a vagator go code and. There's. A there's, a link near any all, of any of the functions and I click on that link and then, it, goes to source graph as far as I recall and then, it gives me. Public. Lists. Public, code that actually uses that function, and. I find this incredibly. Useful, but. Then recently, when. Talking with you actually or, with beyond you. Guys mentioned that I could also install the the extension, and when I install the extension now when. I'm navigating github, every. Code is essentially. Augmented. Now with source graphs really, really nice UI insert and cross, search cross reference, capabilities so that's that's pretty cool so. If I if I install this, if. I have a private, instance of source graph does the extinction also worked seamlessly, yeah. So, I'm. Glad you mentioned the extension, it's kind. Of like our sidewalk. Project. So we, like to think if you're walking down the sidewalk you know no matter where you are in San Francisco, or you're on vacation somewhere and you're walking down the sidewalk and someone says oh hey, what is source graph do well. The thing we say is get, the browser extension, it turns, github, into an IDE with go to definition and, that's, something that like, 99.9%. Of, people find useful, so, yeah that works on open source code you install it you just go to an open source code file you. Get hovers, go to definition it also works on your private code and that's, like. If you got to think about how have we grown as, a business. It's, having. That really simple thing that you know 99.9%. Of our audience finds, appealing, and that, then has a nice on-ramp. Into, using it for more of your code using it for private code and eventually. That's, one of the things that gets us really, strong usage inside companies because it's. Easy to imagine if you have 3,000, developers that you can roll out the. Browser extension, to every single one of them and it's, something that every single one of them you know basically can use every day so. It's. Nice, to have something like that that. Has a different, kind of product dynamic, than a product that people, have to like affirmatively choose to use each time that's, also a valuable, part of the product I have but it's good to have those oh, that's. Very interesting. So. You recently. Open. Sourced. So. You have this part of the product that that is like. Very. Popular. That everybody uses right, a lot of people uses, and then you have a part of your product that.
Lets. Say enterprises. And companies, are. Pay. For right. So. I assume, you only open sourced the public version like the. The. Public part of it so can. You can you explain how you how. What. Is a open, source you, couldn't have possibly open sourced everything. Well someday. You know maybe we will but. For, now our model. Is we, love freemium. Freemium, is a really, common pricing thing that all kinds of businesses use and it's give away a lot of features for free that let people know use. Trust, your product mm-hmm. And you charge for other features but, we've, taken it one step further it's when. We say freemium all the stuff that's free of charge is also, free, software so. Everything. That is paid, that's still not, open source. There. Have been some companies actually that have, the, closed. Source part of their code but they actually make that code visible, which, is usable, sometimes, if you're a customer you want to know you know I can audit this code get. Lab does a great job of that for. Us we'll. Probably do that eventually but. There. Have been there's. Some confusion there where people, might think that the whole thing is open source or you. Know might not be clear so we, wanted our initial, announcement of being open source to be really clear about what is open source and what's part. Of the product. What. Surprised, me that, your. Core technology, your indexing, like your indexing your sort of source code appears to seems, to be open source right is that is that correct yeah. Our principle is that anything, that is more really for bigger organizations. Should, meet and close, source that's how. We can fund development, of the rest of it but anything for, developers, that they use. That, they can actually contribute to that should be open source and. Our, view. Is that we. Shouldn't I mean that that's the best way to do it period, you. Can think of some cases where that makes it slightly harder for us to make money like oh maybe, we could charge developers, a little bit for these things but, we want to have a simple business model where it's really clear we are making a big bet that every developer, will be using a product like source graph in the future is Google, and Facebook devs use it you, have a lot of big tech how many customers that use it and so, we, don't want to risk slowing, down that growth or muddying. Our internal, execution. Or vision just. To you know get a few more dollars from developers, here and there when we think that this, is going to spread really, quickly and there's. Plenty of money to be made by charging companies they're getting a lot of value from it so, we're not trying to get every. Single you, know penny and nickel and dimed on the sidewalk, we're trying to find who are the people that really have a burning need for source graph and let's, make, it so that grows as quickly and it gets to their radar it's on their radar and then let's go charge them I view. This in the same way of when. You have like a new encryption scheme there. Are two ways to do it one you could you know make it really complex and make it so there's like five different points, where, there's secrecy, and you, know the username is secret, the private key is secret the algorithm is secret and in, the end that creates a less secure system, than if you just had one secret. Material. We, want to have one. Place. Where we make money and that is when a big company or a medium-sized, company is using source graph and not, try to you, know introduce all these other blockers, along the way to people using our product, that's. Amazing. Do. You have what. License, do you use we. Use it what cheek you know we, talked about this internally, we had some other crazy. Ideas about dual licensing, under MIT and Apache - like. How the rest project does it but, in the end we wanted to pick the one, that was most obviously. Simply. Open. Source and permissive, and I, think we did that with Apache - that's, great do, you expect with what when you open source since. It's open source do you also expect other technologies, to be built. On top of source graph either as inter. Integrations. Or. Just. People hacking, it themselves or hosting you have themselves a, lot what. What do you expect to, change now, that it's open source, well. I. Would, expect that at least you're getting more contributors and, those people are maybe maybe we have perhaps actually contributing. Features. Could. There also be more, integrations. That you do that, we can imagine, with. I. Think so but, you, know before I go into all that, you. Always got to be careful when you open source, something, it never works out that you open-source it and then man, all these contributors. Come by they contribute. So many amazing patches, there's no overhead, that's, a rosy, scenario that, basically, never works, out so we wanted to make sure that we had a robust, justification.
For Open sourcing, and. The. Way that we looked at it is even. If only this one thing happened it would be worth it if if it only made developers. Slightly. More likely to talk about source craft when they saw it I know that I'm a lot more likely to you, know go talk about it or tweet about some. Tool. I use of its open source rather, than commercial I'm, not sure exactly why I like it maybe shouldn't make a difference but I didn't more excited about open source things so, all we needed is for that to be true and that's a coefficient, that, has exponential. Effects each developer, has a slightly, higher probability, of passing it on and, you know it turns out that's, the way that we spread via word-of-mouth and if we can agree key, driver then that's really good um with. That said I think. Source. Craft is the kind of project that will get, meaningful, contributions, we have already gotten some meaningful contributions, from the open source community both. To the core and to, the platform, we're building so the. Platform. We're building I mean because, if you, are using your editor all day long all week long, you. Know you might build an extension for it to, integrate. With some language that you like or some tool that you like, same thing with source graph if you're using source graph alongside your editor all day long you're using it in github. And, get lab you're, using it for searches all the time you're reading a lot of code in it well. That, same instinct, is gonna make you want to write an extension for a source craft something that overlays. It with code coverage, something, that adds support for new language to it something, that will, look through and let you see what is the most, recent, PR. For, a given line and then jump to that discussion. History, and. We, think that you know not only those extensions, can make source code better but since, we're so integrated, with the code host with your code review tool you can see all those things in those tools so that's what source ref extensions, is and we, wanted to make, it as easy as possible for people to write those being, open source is a big part of that so, even. Though if, tensions you, know the same way with an editor extension you don't actually fork, the editor you build it on top of the editor you're a lot more likely to do that if the editor is open-source and the same principle applies to source graph it's. An, open source platform that, means you're more likely to build on top of it so that's what we expect to see and just. In the last few, days we've seen some cool extensions, starting to be built one, that will. Add links, to go doc when you're looking at a go file all, the imports, up top you can get go top links, someone. Else is making so if you have like a HTTP, handle, and then some URL path you, can see what are all the client, calls like it should be that get to, that same path and some. Other cool like cross-language. RPC. Code, intelligence. We're. Excited about those and I don't think those things would have been built if we were closed source oh that. That's that, makes sense. If, I if I wanted to learn more about those extensions, getting, built now or if I wanted to learn more about how to I how do I make my own extensions. Where can I go I just. Look up source grab extensions, the. Repo, is source graph extension, API. So. There's a there's, a ripple ready for this yeah, oh that's exciting. So. You mentioned that being. Open source. Makes, it easier for developers to talk about. About. Source graph right makes, it easier for your message to spread could. You talk a little bit more about that. How. How. Do you how does, that translate like. For. Example does, it does it make any difference with, regards to how. You participate, in conferences. How. Is that going to work, exactly, yeah. I think it will change how.
We Interact at conferences, and already. I think we have a slightly different philosophy. Than some other companies, and I'll, lay it out like this I think. Each person has a limited, number of years, and hours on this planet and would. Like to be working on meaningful things it. Is so. Meaningful when you work on a project where, you, are actually excited, about you actually when. Your friends are talking you know you actually share. The yurts by working on this you. Actually tell your friends I think you should get this and there's, whenever you say that even if what you're working on is total nonprofit, and non-commercial, you, still you know feel a little bit of shameless. Self-promotion, but, it, is a good sign if your pride, in what you're building overcomes. That and if you genuinely. Honestly. Feel that the person you're talking to would, love using this product and it. Becomes, so much easier to do that of course if you're not making money by, pitching. That if you actually, have a thing that solves their problem, and it, comes totally, out of the goodness of your heart so, that's. What we wanted to get to first and you know when we go to conferences, as a team we, basically all went to go for con a few, months ago it's, it's, really neat I mean people would know that we were from a source graph and we have a lot of users there but it. Was not as though we, had to get the team together at the beginning and say all right let's, plan how we're gonna go in pitch source graph we, actually you, know told the team like, don't, do anything that feels uncomfortable if, someone. Is, talking about something and you, know you think that, there's. Something cool related, to Saurus graph even if it's like the, language, servers that we built that are totally open source in the shape of the vs code and Adam like, bring, them up and we. Don't have to dictate like, how people do that I think some other companies have to go and have, a plan for all the people they're sending to conferences, and how do you justify how. Do you share the ROI from, you know these marketing, efforts but we feel so confident, that it's, naturally, something that our developers, love that, other developers love and so these conversations come up and so, if you take the like, you. Know guilt over, shameless. Self-promotion, because you're making money out of it then it makes it even easier for people, to freely, talk about it you, know and share their pride in it so, what. I would say is like if you're, working on a product where, you, feel like, shameful. Talking. About it then. You. Know try to find a product where you're really excited, about it. It's. Not to say what. I don't want this to be interpreted as is lie you, know any any project, that anyone's working on they should go shamelessly, self promote it and whatever no I mean if you do that and the reactions you get are people, being angry people calling, you out then, you're doing it wrong so. Don't. You know don't misinterpret my, words there, so. For for, entrepreneurs, or developers. That are working on a project right. Maybe, there they are indie. Hackers, right there they are working. By themselves on, something, really cool maybe it's a sass maybe it's a tool for developers, and they're. They're, thinking about open sourcing what's. What's, a way that you think, that people can think about this that. Can. Help them decide whether to open source or not, and when, do, you have any thoughts on this, yeah. I, think. That, you should look at it as how. Do you build the most robust. Business, around. Something, and, if. You. Want your project to be successful if, you think it's gonna be successful then.
Hopefully. It would be successful, even if you open sourced it and if. That's true then I would say that that is a more robust, kind of business then if, the. Only way that it was successful, if it was kind of hanging by a thread and the only way it was successful, is if you kept it closed source if you think about what. Are the kinds of defensibility. You have in. Your business. Secrecy. Of code is one, thing I mean that's like the technology advantage. But, that's not actually that good because all it would take is for some competitor, to go, and put a few good engineers, on writing it and if that's all it took to you. Know overcome your advantage then, you're, probably in a pretty weak position you, might, not you. Know have the success that you're dreaming of but, if you can open-source it and if you still have a viable business then. That, means that, is a more robust business that also means you get the benefits of open sourcing of greater awareness especially, among developers, there's. Internal. Communication. Challenges. That being open-source makes easier. But. You know one way to think about it is if. You, open-source it and you're still winning you're still getting customers, that means you have something else maybe it's your amazing, vision maybe it's your ability to go, you know market it maybe it's your ability to stay ahead of the, competition. Maybe, it's fundamental, network effects in your business or other, things like that maybe it's your reputation, all those things your, business should be built on those things if you want to make it really big not. Just on the secrecy of your code and then, another way to look at it is, again. Is going back to the idea that you have a limited number of hours on this planet and I. Am, pretty sure that, being, open source will, accelerate, you. Finding, out whether, or not the idea is viable, it's, going to mean that more people talk about it that you know potential. Competitors, might try to copy it sooner, and you will see it, will be put to the test even, sooner than if, it, languished, in relative obscurity because. It was not open source and. You, always could construct in your mind this you. Know question, of well, maybe it was a good idea but, because, I didn't open source it it never really took off or you know I could always do that in a year I have the option allottee but, if you, have the ability I would say just jettison. The optionality, try. To make it go and get to the learnings as quickly as possible I think open source does that very, well. That's. Great. If. So. Right, now source, graph is is freemium. Right. I, read. A post from Jason Lampkin where he said that a. Freemium. Product would arm would, only work if. Essentially. It's a great it's a very large market and there's some barley, or a, lady sorry. Difficult. Word to pronounce, and. This. Is that is. That a case four four four, four source graph and this how. Do you compare from. An economics, perspective like. The. The unit, economics and, everything of. How. Do you compare you, know frame you in an open source like they're, a little, bit of related alright you're giving, away some things for free and. In, exchange like you're exchanging awareness. For for for some things that are giving out for free how do you compare those and do you feel the dutiful like Jason napkins, point still, makes sense also before for open source yeah. Absolutely one. Decision. That was really clear when we were going. Open sources we. Probably. Will, not. Make money, on companies, that are using our free tier ever and that's. Okay and if you. As a company can get by totally, on features. That are free and open source then great. That's, awesome I love that you're using our product I love that, because well. You're, getting to build these awesome things and I can sleep a little bit easier at night knowing that maybe the the code that I wrote play a small part in that and to, you probably gonna go talk about source graphs so if. Though is a company you need to have that revenue from these smaller customers then yeah it's gonna be hard to go open source but again I'll go back to this point that it's, nice to have a robust business where you.
Can Take. The bottom you know ten percent of your revenue and say. You. Know what we're gonna grow more quickly we're gonna let them have it for free we're gonna learn a lot from them they're gonna be some of our most enthusiastic users. We're, not gonna charge them we're gonna take essentially. Instead, of getting revenue from them we're gonna get other things from them and it's win-win there, and. If that's hard for your business then you you. Can't go open-source and I would suggest that maybe, that. Business you, should you, know think. About it how can you is, that, going to yield the success you want if it's so dependent on that. Bottom slice of your revenue. And. What. Are your thoughts on on patents, for open source businesses. Do. You feel like is. There any any use, at all and try, to protect. Software. With patents or, what. Kind of advice do you have for that for entrepreneurs, I think. They're totally worthless I know. Some investors, will say that they, are good for signaling and I. Have. No, clue but. It's, not something that we spend any time on what's. Doing I. Am, you know wearing in the back of my mind that is, there going to be some. Non-practicing. Entity. Patents, come. After us mmm. I'm, not worried about that from the big tech companies I think they would not want to get in that kind of fight it'd be so damaging to their reputation what. I worry about is that some. Of the big tech companies might find ways to. Cloak. Some. Activity. That they would do and you know in the names of other parties, I'm. Not sure if that's a thing but that's something I worry about but, in terms of worry it's like maybe, 20 seconds per month no more than that that's, how long this answer took that's, great. I guess. The final question is so. How how do I learn more about source graph or. About, you how do you always follow your company on on social. Media, go. Check. Out our Twitter SRC. Graph and go. To source, Capcom try our product get the browser extension as I, said after, we tell people on the sidewalk and. Any. Questions, about why, we chose to do certain things the open sourcing, or you, know anything around pricing your business of open, source I would love to answer would, love to do another video chat, like this and post it publicly or you can just shoot me an email sounds. Great well. Thanks a lot Quinn yeah. Thanks.