Auto Scroll
Select text to annotate, Click play in YouTube to begin
this is my talk about earning money with open source i gave it at the web engineering meetup archen at the end of 2020 the organizers gladly allowed me to share it on my youtube channel i'm basically trying to answer the
question why am i not making 100k on github and then you might not even want to start and really this is a talk about those people
those people that are in that position right now they have the mindset that it's probably not worth it to spend that much effort into open source if it takes so long until you find success
now this talk turned out to be a little grim surprisingly i had this very motivational talk in mind but in reality it's hard and by heart i mean it's
really hard and i just want to get this point across and maybe still motivate you to do it but first why am i entitled to talk about this
well because everyone is and i'm just a normal human being so why not but as a side note i've been doing open source since 10 years over 10 years now and
yeah this is a talk dedicated to my former self maybe 15 years ago um i work at trivago which is a hotel search company based in dusseldorf i have a blog
at endler.dev and like everyone and their mom i also have a youtube channel it's called hello rust i'm extremely active one video every two years so you definitely want to subscribe
to not miss any updates but today i want to talk about open source and i have a very sophisticated outline with two points my journey and revenue models
let's go back all the way to 2010. the word definitely looked a bit different by then this was github and i was a bit late to the game i joined in january
2010 and by then github already was two years old so my username was taken and i usually go by the handle mre on platforms and i noticed that this handle
was not used by anyone so i just sent a mail to support and asked if i could have it and then i got an answer from this guy saying go for it that's uh chris weinstraff who goes by
the handle defunct and he's the former ceo of github and at this point in time i was hooked um i really liked the platform i really
liked how they worked very hands-on with open source and i used it for some projects of mine you can see in the screenshot i for example uploaded my blog
to get up because they host it for free um and this is built with shackle you just push it to their site and then they statically generate it and it's done and it goes without saying that nothing
has changed in the last 10 years because my block more or less still looks like that it's not built with jquery and jekyll anymore but with solar and cloudflare worker sites but it's more or less the same thing
for preparing for this talk i wanted to take a step back and see where i was coming from and where i am right now and probably the best way to do it is to look up some statistics and see yeah maybe the number of
repositories over time would give me some insight and so i queried the github api for my number of repositories that i had and you can see it's pretty much a
linear graph from 2010 all the way to 2020. except for maybe 2018 where i reached peak productivity it seems but oh well in the end it's more or less a linear
thing and you might say you put some work in you get some feedback out or some productivity but in reality it's different there is a
compound effect if we look at my number of stars over time you can see that yeah more or less it started very slowly and now i guess it's sort of an expansion grow exponential growth so
right now we are at 25 000 stars across all projects and this is really a compound effect over time and another way to look at it would be the number of followers
that's kind of a new concept to me but i did look up some statistics from the archive archive org because github doesn't have that information through their api and again it's more or less an exponential growth
more or less what you can say is you put some work in but you get a compound effect of your work plus some interest out and this is not luck it's work and that means
you know what you're doing and it's success over time and that is great but at the same time there's an elephant in the room and that is it's just a pat on the back
we have earned zero dollars until now and one question you might have is where's the money like how do you monetize
this effort first off is it an effort well i don't know about you but i probably spend two or three hours on average per day on open source and
across projects thinking about open source and creating new projects but also maintaining and code review so it is really work and it's a lot of work
and you more or less do that for free there's nothing wrong with doing things for free and doing it as a hobby but then you are supposed to be working on whatever you like open source is sometimes not like that
sometimes you have obligations and you feel responsible for maybe helping people out and this is a big part of it and you do that next to your normal work so it can really be a burden and
if you don't know by now making this somehow valuable is hard it's it's it's really hard and i want to talk about some ways to build a proper revenue model from open
source it goes without saying that probably this should not be your first focus if you saw the graphs before but once you reach a point where you want to get some revenue you have a couple of
options first off i don't want to talk about make doing open source as part of your business like as being an employer and also i don't want to talk about um
bigger companies and and bigger support here i want to focus on a couple things that everyone can do sponsoring is one paid learning materials that means on top of your normal
documentation you might have a video series that you ask for money for merchandising like mozilla does consulting next to your open source
business for some companies and enterprise services and plugins like for example writing adfs plugins or high availability functionality that's a
very common thing that you can build next to open source that is maybe a paid feature for enterprises but let's start with the basics and let's start with point number one sponsoring
there are two kinds of sponsoring the first one is individual donations individual sponsoring this is probably what github sponsors is all about
and it starts a bit like that in any way you want to earn money you have to think about the funnel and you have to think about how you capture people's attention and how you monetize that
it starts with a product can be anything from there you generate interest and this interest more or less creates an audience and that audience eventually might pay for your service
and this is actually the entire secret it's how you earn money with any product and with open source if you want to attract sponsors and that is you build a product people want if you
transfer that to open source then it looks a bit like that building a project is maybe a repository and the stars indicate the interest
of an audience the audience itself gets generated by followers like it's made out of followers personal followers or followers of a company can be anything on also different platforms
and those followers might or might not become sponsors in the end now i know stars are a really bad metric for popularity um because some people use stars differently than
others for example some use it as bookmarks to check out projects later others want to thank the developers for maybe putting in a lot of effort and so on
but it's a good first estimation now think about the following think about the amount of stars i have and the followers and the number of sponsors and think about those numbers
and think about my funnel right now so i told you that i have twenty five thousand stars and roughly one thousand followers and out of those i have three sponsors so the ratio between the stars
and sponsors is 0.01 that looks pretty grim that means you need around 8 000 stars to attract a single supporter
and i was wondering like maybe it's just me maybe like the top 1000 github owners or maintainers they might not have that problem right
well it turns out it's exactly the same schema so if you take the top 1000 github [Music] maintainers and you look at their sponsors
then it's again a pretty grim picture looking at the median for example you look at 3421 followers per person and a median of zero sponsors
that's zero percent if my math is correct and if you look at the average then you even have 5430 followers because linustow vaults pushes up that
number then you have 2.8 sponsors out of that on average and that is 0.5 which is a bit more than me but it's roughly in the same ballpark now
think about this github has 40 million users so that means the top 1000 maintainers make up 0.0025
of the entire community and the median income of those maintainers is basically zero from github obviously
that in and on itself is maybe not the biggest problem but keep in mind that the github revenue of 2019 was 300 million dollars
and people even joke about that now so i read that comment on hacker news yesterday i have sponsors on github and reagan a cool two dollars per month it's obviously less after taxes so i have to have a day job
so this is clearly not working um you have to think of different ways to monetize open source if you want to do that right now or you just wait until github sponsors
becomes more popular whatever happens first and one way i just want to quickly touch on is the notion of sponsorwear it's kind of a new concept and some
people haven't heard of it before but i honestly really like it it has its disadvantages but generally speaking what you do is you create a project and you keep it secret or you keep it
private you talk about it on twitter though or any other platform and you say hey i'm building this but if you want early access you have to become a sponsor and then once you reach a certain
threshold of sponsored sponsors or income or whatever then you make a project public and this initial example that i showed you where someone was earning 100k
on open source this is from someone that is doing something like that and building literally products and services but talking about it and then making it open for everyone in the end
so this is how some advantages first of you get early feedback from people that really believe in your mission and that's great and second you don't have to
work for free all the time and third you might also create an audience and a hype from your projects so there's nothing wrong with that the disadvantage really is
that if you are hardcore open source or even free software um believer then this goes kind of against your ethic because you want software to be open to begin with
without any additional yeah requirements so you really have to make up your own mind about that i tried um i have an early access program
which i only share with sponsors um right now a single sponsor because that's the lowest level you need to have um and yeah basically it's a tool for
getting statistics on github the statistics i initially created were created with that tool and yeah it kind of is interesting i think you need a big audience to pull
that off and the question is if you want to put in this effort uh or you just want to make it open in the first place and think about other revenue models but i think still it's a very
interesting concept and we might see that in the future so you know now how it looks like and you have a name for it another one is corporate sponsoring
now this is a double-edged sword because corporate sponsoring means that a company is giving you money and sometimes they want something from it they might want additional support or they want the bug
to be fixed and more or less it feels like you are somehow beginning to work for them um but nevertheless those companies they put in quite a big
amount of money into open source these days looking at two big companies facebook and google they put in 177k and
845k respectively into open source over their lifetime on open collective which is a platform for collecting those donations and that's really great we need more
companies doing that but also as a little side note and maybe as a little rant i believe that those companies are doing way too little
facebook's revenue last year was 70 billion and google had 160 billion which is nothing to be ashamed of so i wonder really if this is
the most they can do of course google for example also donated to other projects like mozilla and yeah they also organize meetups and so on i can see all that but really do you
think that facebook and google would exist today if there was no python or web server or linux back in the day when two stanford students
tried to build a search engine and yeah it's kind of sometimes i feel that fortune 500 companies really don't understand how much they
depend on open source and how many um people really depend on a few people that maintain critical parts of our infrastructure i don't think that they nearly invest enough into open source
what a lot of people think is that open source works like the panel on the left where you have a full room of engineers trying to figure out the best way to build a project and in reality it's more or less someone
working late at night to fix box and doing it because they believe in it and the public perception is probably um wrong and there's a really small
group of people maintaining critical infrastructure and sometimes that can lead to very tricky situations two of my heroes from my childhood they talked about it openly kenneth wrights
is the core maintainer of requests for python and antares is the creator of redis which is a key value store so one is from more or less front-end development
the other one from end if you like to think like that and they both talk about burnout here because the burden of becoming an open source maintainer on a big scale can
very much and very quickly lead to burnout the internet never sleeps you never go to sleep you always get a ticket a feature request a pull request an issue you always have something to
work on and on top of that you have to do all your other responsibilities so that can lead to burnout really quickly there was one guy which i also respect
deeply his name is mark pilgrim he is the author of dive into python and he once pulled a four one zero i guess that's how it's called
for deleting everything on his internet um there's actually a term for it infosight or something like that for information suicide or something like that anyway he got fed off up with the ecosystem and
if you think about the ruby community you might know why the author of uh the point guy to ruby he did kind of the same thing like focusing on what enter has said
he said once i started to receive money to work at redis it was no longer possible for my ethics to have my past pattern so i started to force myself to work on the normal schedules this for me is a huge struggle for many years
at this point moreover i'm sure i'm doing less than i could because of that but this is how things work so it feels like he feels guilty for maybe
being forced into that work uh schedule and maybe not performing enough there's some signs of burnouts for me somehow and it's that love-hate relationship of
open source and money if you accept money it becomes a job but most of the time you're not writing code you're writing the talks you're reviewing pull requests you're looking at issues you're answering questions on
stack overflow you're discussing on discord you're marketing on youtube or conferences and really when you become popular in open source then it feels like you have a choice
between two options one is depression and the other one is burnout if your project does not become successful then suddenly you think you're the failure you're the mistake he has zero stars nobody likes it
but if it becomes a success then everyone likes it and you get hugged to death so that's really an unfortunate situation to be in and really you want to stop being overwhelmed with those
responsibilities you have to set clear boundaries and yeah really pick your poison you you have to be careful if you accept companies as sponsors and i want to show you maybe one example
how it can work but also some risks so earlier this year i started working on a project for real that i had been putting off for for many years before you see in
december 2015 i started a list of static analysis tools on github static analysis tools are just tools that help you improve your code and it turns out that there's a lot of those tools
and just starting to collect them was the first step i didn't think much about it but over time that was my microphone everyone's awake now that became really popular and you can see that this graph is more or less a
linear increase in stars over time and i guess back in 2018 or so i started really thinking hard about
whether there was more than just a github project here and i talked to many people many people are also in this room now andy knows for sure simon knows
that i had this idea of maybe building something more from that and it really took someone else to maybe push me over the finishing line and convinced me that this was worth it and that is jakub
um i even put an arrow here on the right side so that he don't mix us up i'm not that small really so he's kind of large and he said like why not build a website from it um
why not try and so over the course of maybe two weekends or so we build a website and yeah it's built with gatsby but it really doesn't matter um we just did it and then we
saw what happened with it and we render for 500 tools right now and the initial feedback was really great um people really seem to like that and
we got a cool 720 000 requests on the first day and over the course of the next week or so it more or less hit 1.5 million and that was great because suddenly people started get interest
getting interested in that project and we started finding some sponsors those companies they are special because they believe in your mission but
also they know how open source works they don't really expect you to advertise their tool they want to sell to developers so they want to be in the public mind of
the developers and saying hey you are developer we built this amazing tool you might want to check it out but also they get seen as an open source company and i think it's a win-win i have to say
it doesn't always go as easily sometimes companies expect you to just have a cheap advertising space for them and then they jump off the moment they see you don't get that many clicks
but some others they understand that you invest into something that maybe pays off in a year or two from now so i'm really thankful that some companies understand that mission
but what companies want is different than what individuals want companies want an invoice companies want something tax deductible
companies want someone that is um keeping the lights on and that is responsive via email so you really have those obligations and one platform that helps with that is open collective
on open collective you can maybe put that burden of being a fiscal host to the maintainers of open collective they have a 501c6 program for
open source projects that acts as a fiscal host which means they will hand do all the invoicing and they will officially be the maintainers and if you as just an open source
maintainer often or a contributor of that project you want to get money from your project you have to send an invoice to open collective and i think that's the best of both worlds again
because it's very transparent progress a process companies are in the loop and you don't have to deal with all the financial stuff at least not yeah
with with companies but it also means that you have to really polish your public perception companies really want to know what they can get
out of sponsoring you and you have to make that very clear that's probably the most important site that you have is not your website but it's your sponsors page on github where you describe the different tiers
and what those tiers mean so we have three tiers four companies one is targeted at smaller companies and freelancers and they just get exposure and they get seen as an open source friendly tech company
that is at hundred dollars a month then we have a middle tier a company sponsor that maybe is a bigger company they get the batch too but they also get a blog post about a static analysis tool that they
want to promote but we make it transparent that this is really a sponsored content and then if you want to go all the way then you go to full content creation which might be a video workshop but we
don't really have video workshop sponsors yet so i cannot talk about that yet um i have to say i really would like to try though and it's cheap really for what you get um
anyway those are things that you can do today without really changing how you work on open source you can you can set that up today and you just see how it goes maybe no
one reacts and that's also fine everything else on that list is kind of advanced you already need an audience and so you should start with that if you look at number two
up to five then that is something that you have to get really involved in um paid learning materials yeah maybe this is something that we are more or less doing with analysis tools in the future
with a video course um there are companies like tailwind that do that impressively well so you can learn from them merchandising and you kind of have to have a brand so
it's not something that i could do but some someone like mozilla or like the coding train on youtube they could definitely do something like that consulting that's always an option but it's also a lot more work and
probably takes you away from what you really love so it really becomes a job you have to think about whether you want to do that or not and enterprise services this is something very advanced for
maybe the one percent of projects that can be run in a business and where you have special requirements so this is really hard i have to say
start from the top and work your way down start to create an audience and it's probably easier to create an audience on twitter and then funnel it back to github than the other way around
oh by the way did i tell you it's hard like probably it's it's also really hard but i really don't want to stop here on a on a low note i really want to emphasize
that i would do it again all of that if i started today i think there's no better time to contribute to open source than today and probably tomorrow will even be a better time because suddenly a
way more people are interested it's way easier to set up projects you have all those free tools like vs code like um what github is doing with github actions
um free hosting and it's just amazing how much you can pull off with very little money involved so you can you can try you can experiment one like what's the worst thing that can happen no no one cares well okay
then you're as good as me but i have some tips for for you if you want to start today my first tip do your homework
a lot of people start with learning and then they build things and then they close the circle but there's one key piece missing here and some people hate the word but you
learn to love it eventually it's called marketing and marketing means a lot of things to a lot of people but what it means to me is getting the word out because someone else will if you don't and
you are awesome you just have to realize that maybe not everyone knows right away so you should really talk about it more maybe at conferences see what i did there
um maybe on twitter maybe you can just tell your friends and maybe you can ask people to contribute and to support you like what's wrong with that somehow it's frowned upon in the community that if you do
marketing you're not doing it for real but i think that's not true um i think that if smart people and patient and um passionate people as well
if they did marketing then the world would be a better place because i'm pretty sure the evil guys do marketing so do your homework um but
rest assured that being an open source maintainer means running a business and you are the product so have think about why someone would want to sponsor you and you really have to come up with an
answer for that because if you don't come up with an answer how should they know and also think about the funnel how will people find you for example the best way
for people to find you is probably starting a youtube channel it's the easiest but it's there are easier ways you can always help out in a different project and you don't even have to be a coder
and if you are good with design then i can tell you there's so many open source projects that need designers it's crazy maybe start creating a logo for a small project and start getting some visibility
another one is have fun like if you know that earning money is hard in open source then that can also be liberating because it means you can experiment and you can be creative
and yeah having fun is the most important thing i guess but number two is build things you love because it's in the end your free time the chances that someone will find the project is pretty low and
so it better be something that you're really interested in so if you don't believe in that just move on to the next thing it's it's fine if you drop a project that you don't believe in anymore no one will hold you accountable for
for that unless they are jerks and yeah you don't want to be surrounded by jerks i hope number three is find friendly people because you really grow with your community
you want people that support your project and maybe eventually become maintainers to ease the burden and that takes a lot of time sometimes years until you find one maintainer
and so always be friendly try to put yourself in their perspective like go the extra mile if you can for example reintegrate the master branch into their pull request and just do it for them
and say thanks twice if if you're unsure fourth is grow an audience um and radical marketing is one way but being approachable and being inclusive is another way
you want to be the guy that or the girl that people go to when they have a tough question or they want to know how to get into open source you want to be the person that helps them out on their first pull
request they will pay that will pay off a thousand times i can guarantee you the most exciting people i met so far they are available for questions and that don't really ask for anything in
return and then you hold them very close and dear to your heart and when the time comes you will remember those people and we will say like oh this is an amazing person to work with
i can highly recommend them and yeah that's called a lead and finally be in it for the long run it means good things take time you can see it took 10 years for me
maybe it takes five years for you or maybe even less but probably not an overnight success so it's really a long-term investment but i think um initially in the
introduction john i said that i picked up running i think that's another thing it's a long-term process you have to like every step somehow and if you don't then well that's also fine but at least know
that maybe there's a reward down the line like a compound effect think about work instead of luck that's all i got i'm 35 minutes on time perfect if you wanna yeah chat
um reach out to me on my github you find a link where you can even set up a calendar appointment right away and we can talk about anything you want any project anything you have in mind if you want to start with a pull request
today uh let me know like i can help you out and i'm also on twitter surprise that's it thank you if you like to support my open source work
please head over to my github sponsors page [Music] you
End of transcript