This is a transcript. For the video, see Funding your Open Source Project - with Marijn Haverbeke - Part 2

[00:00:00] Michael Meyers: Welcome to our Tag1 TeamTalk on how to grow and support and fund your open source project.

[00:00:06] We have a really special guest with us today. Marijn Haverbeke, the founder of ProseMirror, CodeMirror, and Acorn. Open source has really just exploded, but it's been very challenging for projects to reach sustainability. And so we at Tag1 being major contributors to open source projects, wanted to do talks with folks like Marjin who have started very successful projects to get their insight to encourage our listeners to do more, to support the projects they use, especially companies that have the funding to do so. And that are profiting off of it. We also want to help founders of open source projects be more successful and reach their goals.

[00:00:49] I'm Michael Meyers, managing director of Tag1 Consulting and joining us today for this conversation are Kevin Jahns, the founder of Yjs, which is an open source framework that enables collaboration in any application, including CodeMirror and ProseMirror and Fabian Franz - our VP of technology at Tag1, who is the core maintainer and framework manager for Drupal 7, which powers around 3% of the top 1 million sites and has around 10,000 open source contributors. Be sure to check out part one which was a brief background and a lot of talk about growing your community of users and contributors, or we're going to focus on in part two is funding your open source project, which I think is something that everyone in open source really struggled with and it's a huge challenge. Marjin are you working on these projects full time? You know, is, is your work funded?

[00:01:47] Marijn Haverbeke: Yeah, I'm working on this on my various projects together altogether. They're full-time for me or almost, I occasionally do some consulting, just mostly to get some like, direct experience with what people are doing with it and possibly some new inspiration, but mostly it's just the open work. And at this point I'm funded properly. Like it took a long time and yeah, it wasn't something that happened overnight, but now I can comfortably live off the open source work.

[00:02:27] Michael Meyers: That's awesome. Congratulations. There's so many amazing developers out there like yourself that could be making a lot of money in the commercial marketplace without a passion and dedication.

[00:02:37] You know, make a fraction of what they can and should be making in open source, so it's, it's super exciting to see folks like yourself that are, that are able to do that. I'm really curious, you know, where does this funding come from? Is it from individuals? Is it from corporations? How does that break down?

[00:02:58] Marijn Haverbeke: It's mostly corporations. I've - like I'm actively shying away from like individual enthusiasts contributions because A) They're usually need their money themselves. B) They don't set up big contributions and a C) I had some bad experiences with people who donated five euros to a Crowdfunder at some point, and then believed I should do exactly what they expected of me.

[00:03:27] And that's just not something I'm interested in managing . It's for me, it's been much more rewarding to deal with companies who are - who have my projects. My software has some essential part of their systems and are interested enough to keep it healthy that they, uh,pay me some money.

[00:03:49] It's very different for projects. Acorn is bringing in, I think exactly nothing. But ProseMirror and CodeMirror both have a bunch of serious sponsors, which yeah, help me pay my bills.

[00:04:09] Michael Meyers: You mentioned this a little bit in the first segment. But other sources, government grants, nonprofit institutions.

[00:04:16] Is there anything available on that front that you've been able to leverage?

[00:04:20] Marijn Haverbeke: I've done a bunch of successful crowdfunders usually when I start something big or after I started and gotten it to a point where it can be demoed properly, I try and Crowdfunder and they've worked out pretty well so far. It's also a bit of a stressful endeavor when you set the deadline and then you just have to hope that actually money is going to come in.

[00:04:45] But yeah, so far I've been lucky with those. And also I'm selling paper copies of my book. Like the book itself is helping, but it's also available as paperback and that also brings in quite a bit of money.

[00:05:00]Michael Meyers: Awesome. Is there a trick to getting people or other organizations to fund you? Have you found that something in particular works, is there an ask or is this largely companies coming to you and saying, you know, Hey, I'm at Atlassian and I use this product for a major, you know, you know revenue driver, you know, I want your help and support.

[00:05:23] Here's some money.

[00:05:26] **Marijn Haverbeke:**What's working really well for me is to very clearly state on the websites. “This is legally open source, but if you're using this commercially, there's a social expectation that you help fund me” to kind of immediately sets the expectations at the right level. I've started doing that with ProseMirror and it really made a difference at least like this is all anecdotal of course, because I didn't launch two projects and see which formulation work best, but I think that's contributed lots.

[00:05:58] And then I've I've set up a website where people can just set up monthly contributions using credit cards through Stripe to make that really easy. There's a bunch of companies that prefer that way. And there's others that want like an actual formal maintenance contracts, which I also do.

[00:06:20] And then yeah, but some companies, I set stuff up in that way.

[00:06:26]Michael Meyers: Have you ever thought of exploring like a dual licensing model? You talked about that social expectations. What about enforcing it?

[00:06:36]Marijn Haverbeke: I seriously thought about this. I have a blog post about this very theme but there has some really nasty side effects.

[00:06:45] Like I need to maintain copyrights on the entire thing. And if I drop off a cliff tomorrow and vanish, that's a really nasty situation for people using my software to be in, because then it's like, yeah, people can't just continue where I left off because it's locked behind a license that doesn't allow that.

[00:07:05] Everyone would have to assign copyright to me. I don't really want to be in that position. So yeah, I decided against that. That's a model that works for some people as well, but I think MIT licenses are just, or like similar styles of licenses are just so attractive and that's, they make it extremely flexible where people can do with the code and I think that's a big driver of adoption as well.

[00:07:33] If you just can be confident that at least this code, if available to use always as I see fit I would personally be very hesitant to adopt something that's GPL two with some dual licensing scheme because yeah, it's legally a lot more tricky.

[00:07:56]Michael Meyers: You know, again, in segment one, we talked a lot about, you know, your love of plugins. What about an open core approach with, you know, paid add-ons? Has that ever been something that you've thought about or

[00:08:10] Marijn Haverbeke: yeah, I’ve considered, but I think that's quickly puts your like your what is like perverse incentives where you are like, pushed to put as much stuff in the close side, because it helps people like it helps convince people to pay for your stuff.

[00:08:30] And then it becomes less and less attractive for people who are just using it in some hobby project or something. And I also a big motivation for me is that people can just use myself very, even if they don't have a sense. And yeah, if they just get some crippled or minimal version of it, Then that whole point is is pretty much broke.

[00:08:54] Fabian Franz: The other part is also often needs to fork and that you create essentially your own competition with it. And then you have two, two competing solutions on the market, et cetera. And yes, it can be a nice money-making model, obviously. But I also believe that given the choice between something that is pure open-source, for example, ProseMirror versus Yjs Fest versus something that is more close source, even though some part of it is free.

I prefer the, the, the free as in and free, soft, and free as beer..

[00:09:32] Right.

[00:09:33]Michael Meyers: do you think that I don't know what the right, I don't want to say open source is broken. But you know, there's this funding challenge, you know, do you think that this is sort of the Achilles heel of open source and you know, if you could wave a magic wand, is there some way that, that you could fix it or an ideal way that it would work for you?

[00:09:56] Marijn Haverbeke: No. I mean I would like to see more software maintenance being funded. There's a public good, but I don't think we are anywhere close to the social structures that would support such a thing. And it's a really tricky way, like, especially at early stages of projects, it's really hard to say what would be worth funding.

[00:10:25] And yeah, at that point, something that could become something huge and great. If it was funded from an early time often doesn't get there because people burn out or lose interest. But it's really hard to make that call at that point, like what should be funded and where should the money come from?

[00:10:46] And Yeah. So it's definitely an unsolved problem as far as I know.

[00:10:56] But yeah at least I'm very happy that the awareness of this isn't just something that's exists because these people like to program and they don't need to eat like that. People are aware that if they're using open source, it would be good as they contributed something back.

[00:11:12] That's been a big change in the past years, I think.

Go ahead, Kevin.

[00:11:15]Kevin Jahns: So something really interesting is like most open source projects. Most larger open source projects are funded by companies Google, Facebook, and examples, obvious code for example. And they all built their own silos of software and it's open source and you can use it, but it's actually really theirs.

[00:11:36] And there are a few open source projects like CodeMirror and ProseMirror that are actually created by individuals that just like to create software and that are openly funded. And I think like, Like I feel personally pretty I want to be like you, what you're doing, because you are successful in what you are doing how you receive funding and how we [00:12:00] interact with the community.

[00:12:01] And I think it's like how it should be, but it's really hard to get there where you are. And yeah, I would also like to know or discuss like how, how to get there better and what you would think are the best ways to. Even that path for new comers who want to build their own software.

[00:12:21]Marijn Haverbeke: Yeah. As I said, I think the, the, the position of starting a new project is just really difficult one. And I think at that point, if you're mostly hoping to turn it into a profitable venture, that might yeah.

[00:12:38]I'm not sure if that's like, there are so many projects being started. The most of them never go anywhere. So the chances are, of course, if you can afford to, like, if you have to both the skills and the, the like financial position to just build it out for years and years, and you're actually solving a problem that people wanted.

[00:12:58] I think you'll get an adoption at some points. Definitely. But it's like quite a slog to get there both in terms of. Actually building it. And in terms of people actually knowing that you exist and using it, but that's also definitely an unsolved pro problem. Just finding software in the space. Like if it's not famous and you haven't already heard of it, then it's really hard.

[00:13:21] Like if you search MPM it's 99% garbage. And it's yeah, there might be something good there, but you never find it. If you don't have some other connection to it.

[00:13:35] Kevin Jahns: Oh, you go ahead,

[00:13:36] Fabian Franz: please. It's interesting. Feels a little bit like a startup problem where some startups are funded. Others are not. And, but, you know, by default that most steps just to straight up fail.

[00:13:49] And I think that's pretty, pretty fascinating. This is candidate, exact same dilemma here in the open source space of starting something. And then not knowing if it builds to fit. I think. That's my open source for fun. Don't need to eat. And society is still a viable model too, in that you do something completely different.

[00:14:09] You just do the open source project on site and service. How much the most successful projects kind of started because someone had a problem and they solved it for themselves. And that was good enough. And then they just contributed in the fastest, had the same problem. They, but also solving in that.

[00:14:26] And sure. The other part is obviously marketing. How much, how much audience do you have? How much people use it and how much marketing you can have. And if there's a product market fit, then I think applies to open source software as much as two commercial or startups.

[00:14:45]Michael Meyers: I love that. You mentioned that I've been there this whole time. That's, that's the image I've had in the back of my mind that this is, and that's what my background is. This is essentially getting a company off the ground. But it's harder to raise funding and the return on investment is likely to be lower.

[00:15:01] The failure rate is higher. You know it's, it's extremely challenging, but you know, it, it is very similar. You gotta market it, get it off the ground and get users get paid.

[00:15:12]Marijn Haverbeke: Yeah. Like the amount of investments does it have to be huge compared to what many commercial undertakings would require them? If you're, for example, just adapting something that you're already solved for yourself. And I think it's very important also that you just enjoy that kind of system building so that it's not just like doing something against your will.

[00:15:42] Then like a relatively small amount of work if you're like able to, to, to. Build something the way you want can pay off for a lot of people as well. And kind of like skyrockets before you like put years and years and years into it. But yeah, it depends like it could, and it could also just be ignored forever.

[00:16:05] It's hard to predict this I guess. Yeah. The same problem that startups have.

[00:16:12] Michael Meyers: Have you noticed anything that open source project founders have done? Is, is there a common thread, you know, something that. You know, might make a project more likely to get funding, to get support, you know, like you said, they're, they're putting the X setting social expectations upfront or

[00:16:31]Marijn Haverbeke: not really. Yeah. So just asking is definitely something that people didn't use to do at all. And has now become socially acceptable and definitely helps. But beyond that, I don't really know. Of course it's easy if you have somewhere to channel the money, like for example, Acorn is - there's three official maintainers who are just kind of maintaining this together and there's no real central place where people could sponsor it.

[00:17:00] So obviously no one is sponsoring it. And that makes sense because yeah, I definitely don't want the headache of setting up a foundation or whatever for this.

[00:17:08]Michael Meyers: Why do you think, you know, you said that a lot of your funding comes from companies and you, and you don't want it from individuals, which I love. But there are a lot of companies that use your software. Why do you think some choose to support you and others? Don't

[00:17:25]**Marijn Haverbeke: ** I S so I couldn't hear you very well because the connection was bad, but I think you ask Why some companies contribute and others don't right.

[00:17:37] Michael Meyers: [00:17:37] Yeah, exactly. Why is it that some companies are contributing to support you financially, but other companies are benefiting just as much and not doing it.

[00:17:48]Marijn Haverbeke: It's awareness of like Some people just NPM install and never think about it again. They aren't even aware that it would be a thing to sponsor the software they use. But also, yeah, company policy, some companies don't even talk to developers by official policy and Just would never think about sponsoring and others are really aware of this and like pushing this as an official policies.

[00:18:23] I think it's, it's also very much a question of what's the decision makers yeah. What they believe in how they feel about this.

[00:18:33]Michael Meyers: Kevin, Fabian, any questions from you guys?

[00:18:36]Kevin Jahns: no, I mean, there's a lot to discuss here and this is such an interesting topic. Different ways to explore and just so you know, Marjin We, we were looking at different people, how they fund their projects. And it has been really interesting to know how we get got started. And I think what you did was like getting funding from the government or from organizations.

[00:19:04] And there are a lot of them where you can apply for funding. And another way is to ask companies for regular funding or for specific projects. That's also what you did. And you're right. I'm also really hesitant to just ask people, Hey, could you give me some money? And it, it's just awkward. And I feel with you so yeah, this has been a big motivator personally, for me to do that more.

[00:19:32] Marijn Haverbeke: [00:19:32] I think it's also a question of what kind of projects you're doing. So to get back to Acorn, which is just like infrastructure that's used everywhere and not very. Crucial to anybody's system. Yeah. You could just swap in another parser and continue if you really need to, as the difference, is it much more difficult proposition to get people to pay for that than for example, ProseMirror, which is a very unique system and very like up the top of the dependency chain, like people are directly working with it and they know that if this goes away, they have a problem.

[00:20:12] I think why Yjs is kind of in that space as well. Like it would be, it's going to be a pretty central part of someone's system if people use it. So that, that already makes it easier to ask for money. I think.

[00:20:25] Kevin Jahns: [00:20:25] Right. Yeah. And it, it does, like, I I'm hoping for people to use my software and when they like to communicate a lot, like I like to set up sponsoring contracts.

[00:20:36] So again can get into meetings because I don't want to waste my time without getting paid for that. So they get a lot of value from my software at a really small price and I can continue developing it. And this works best with people getting started with Yjs. It's it's a bit frustrating when companies still use my software and just stop funding me because it works and they don't need my help anymore.

[00:21:03] And like I always, there are these companies that just don't have enough money and there are really rich companies that basically say, Oh no, our organization is so complex. We can't get, give you funding because HR doesn't want to do that. And it's like, you have billions of Euro, like dollar or whatever.

[00:21:23] And You can just spare $500 or something like that. That is my support contracting rate. And it really makes a huge difference for companies asking me and telling me, Hey, I'm using your software. And I think it's the same for you, as you said. And people get a lot of value from you,

[00:21:42] Marijn Haverbeke: [00:21:42] right.

[00:21:43] But I think freeloaders are kind of part of the value proposition of open source. Like my stuff wouldn't have any. Level of reach without being open source. So it's yeah, I just, I, I, I tried not to get like undignified or angry about it. It's it's I gave it for free. I give it away for free it's can expect people to use this for free as well.

[00:22:08] If that's the legal situation.

[00:22:12] Kevin Jahns: [00:22:12] That's like, that's completely fair, but you get, have to get into that mindset. And that's not really easy. Sometimes I feel like just, just last year, I was like for two months, I was pretty frustrated with basically getting little sponsorships and other stuff. And it's really demotivating because you put so much energy in it.

[00:22:31] And get so little out. And I guess if you have the right mindset and you ask people and you communicate with companies you ask for funding from organizations, you can get enough funding if you really want to.

[00:22:46] Marijn Haverbeke: [00:22:46] Yeah, but as I said, it took a long time, like for the longest part of the lifetime of CodeMirror, for example, I was just dependent on consulting work and other stuff.

[00:22:58] And this was just a marginal, extra income.

[00:23:03] Fabian Franz: [00:23:03] How long did it take? Like 10 years.

[00:23:08] Marijn Haverbeke: [00:23:08] That's a good question. I think it's been like four years now where it's actually like my main income is S now probably more so Let's say six years out of a lifetime of 10 years. So the first four years, it was just this site project without much actual financial compensation.

[00:23:35] Fabian Franz: [00:23:35] Do you think cryptographic currency could solve such problems in the future? Like people automatically paying like micropayment license fee for, for downloading from NPM or something like that.

[00:23:50] Marijn Haverbeke: [00:23:50] I'm extremely skeptical of cryptocurrency solutions to social problems. As I said, I don't think at least for me, micropayments by whoever is never been much of an actual game changer.

[00:24:08] What actually produces some money. It's just like companies that actually talked to set up a monthly sponsorship because. My software is part of their products. Yeah, I don't really see a system like that's changing much there.

[00:24:29]Michael Meyers: Marjin,. This, this was awesome. I, you know, we, we covered so many things, you know learning to be okay with the fact that majority of users are going to be freeloaders, you know, and, and just making peace with that, learning how to say no to people, you know, and protecting your time. You know, being really good about asking for support you know, and, and, and just setting your own expectations that it's going to take time.

[00:24:53] You know, this, this is really hard to do. But it can be really rewarding and it's been very successful for some you know, Kevin has been amazing to watch you, you know ask for support and interact with people. You know, I, I think you're on the right track and it's exciting to see that grow. I thank you all for joining us.

[00:25:15] This was a really great conversation. For our listeners. Don't forget to check out the first segment, you know, background. Info and growing your community and user base and contributors all the links we mentioned, it's going to be in the footnotes. If you'd like to talk, please remember to subscribe and share.

[00:25:37] You can check out our past team talks at tag1.com/tagteamtalks as always. We would love your feedback on the show and ideas on future talks. You can reach us at tagteamtalks@tag1.com. A huge, thank you to our guests. This was an awesome episode. And thank you to all our listeners for joining us.

[00:25:59] Take care.