Transcript: Read The Docs - Eric Holscher
hi welcome to another episode of jango chat podcast on the jango web framework i'm carl
gibson joined us over by will vincent hello will hi carlton hello will and this week we've got
with us eric holscher who's um re well most famously of read the docs eric thank you for
coming on the show yeah thanks thanks so much for inviting me it's a real real honor you've got we
always ask we always start with the sort of backstory and how people got into django and
that's kind of the birth story of read the docs as well so perhaps you could you know run through
the you know the backstory or what's it what's your you know what's your origin story sure yeah
i feel like i used to have this pretty pretty well tuned but it's it's like fading into the past
each year it's like it's only on a django podcast it'll get pulled up well no no yeah it's just uh
time time has a funny way of uh of making the past a little fuzzier um but yeah no i i kind of
learned django in college uh so i was doing a cs degree uh and they didn't really teach uh python
or django i kind of actually knew pearl uh going into school and then just was like oh i want to do
some web stuff maybe be on cgi and so kind of learned django i actually kind of downloaded the
the documentation as a pdf and took it on like a a family vacation or whatever so i had something
to read on the plane so you must have printed that no no it was just like on on a laptop or
whatever that weighed probably like eight pounds but um but yeah yeah and kind of that's you know
the documentation of django is probably the thing that got me involved you know being able to have
that resource that i could just kind of download the pdf for free um and then yeah i just kind of
learned it used it for my senior project in college and then kind of out of university
applied at the Lawrence Journal World there in Lawrence, Kansas for a job. And so then really
kind of got deep into the Django world out there where it was created in Kansas. So yeah, I was
there for a couple of years, went to the first DjangoCon, did all that kind of stuff. So it was
really kind of learned it in school, but then kind of really kind of got deeper into the community
there in university and moved on into my first job. Okay. So there's two things you mentioned
knows um docs and communities let's let's go with read the docs let's get let's get the headline out
the way so what how did read the docs come up what tell people what read the docs just in case they
don't know but then how did that come up and what was what's the origin of that sure yeah so and
those are both pretty pretty similar in in the narrative so i mean read the docs really what it
does is makes documentation hosting easier so i was starting to write some open source projects
starting to put some docs together and i think i had like a cron job running on my server that
like pulled down the git repo every hour and ran make html or whatever you know like that that was
like deployment is like this this cron job and so we're like hey this is like a piece of technology
like webhooks have been a thing for a few years now like we we've kind of built the the plumbing
to make the web a little more programmable and that was really the core insight and still the
core kind of concept right is that you know docs should rebuild automatically on push that should
all be kind of tied together i mean obviously now we have you know pull request notifications you
know preview builds all that kind of stuff but back then it was really just that whole concept of
building immediately on commit rather than some background process and so that's what read the
docs does and then the the core of that concept was really you know the django dash was a 48 hour
coding competition and we were just able to kind of take that that core insight and build it in 48
hours right it's like build a webhook receiver from github you know pull down the git repo like
the the core of that's pretty simple and so that was what was so attractive for a coding competition
is we were able to kind of put together that you know very basic proof of concept in in a weekend
so that was kind of the origin of the project as well but that's kind of amazing to like because
you know a code sprint to the django just 48 hours to put together what is kind of like a
cornerstone of the the python you know community so in the if you know if you read if you read a
blog post about how to build a python package it's like well do docs and you know read the docs
that's kind of cool no yeah no and i i believe um i think you i saw you a jeff triplet on a
A few weeks ago, he's someone I know from Lawrence, but then I know he's one of the
maintainers of Django Packages and I actually think Django Packages was created, uh, Danny
and Audrey, um, were actually in, yeah, they lived in Lawrence at that time.
And we actually were both, we worked in the same room on that Django dash, like in the
Lawrence journal world basement where Django was created.
Like it was a pretty cool kind of, you know, confluence of, of events.
Okay.
So can you tell us about how, like, what's the scale now of read the docs?
Because it's everything, right?
Yeah, so, I mean, scale is a fun thing.
There's a couple different metrics.
I think we're doing, what is it, half a billion page views a year now?
Something in that benchmark.
Is that internet scale, Carlton?
Is that internet scale?
That'll do.
Oh, no, sorry.
Three quarters of a billion.
So 2021, we did 700 million.
and that number kind of keeps that's up from 580 the year before so 2022 will definitely probably
be doing over 750 million page views um and that is that is actual page views that's not like
requests because each you know each page view has lots of requests associated with it i believe
that's actually a google analytics number and so that's undercounted as well because everybody
blocks yeah it's people block it we you know we respect do not track and don't inject it if you
have that in your browser all that good stuff um so yeah i mean probably closer to a to a billion
page views um and it's it's not just serving it though it's like the building it because you
mentioned so okay every time i push to my main branch you you build my docs but also if i so
want you'll build x branch y branch z branch and every pull request and like how is that doable
it doesn't seem sustainable so how how is that how's that managed yeah no i i mean we do uh
kind of for the past year we've had about eight people on the team we're we're down to six at the
moment because we did staff up a little bit we got a chan zuckerberg grant uh for the last couple
years um and so we were able to have have a little bit more more staffing uh from from the money
there but yeah so the the business itself uh like i said there's six people working on it full-time
at the moment, and that's all self-funded. And so about half of that money comes from advertising
with ethical ads, which I know you talked to David about a little bit a couple of years ago.
And then the other half is we do have kind of a private hosted version. So companies or people
with kind of public SaaS docs that don't want ads and want better support and some off features,
that kind of stuff, they're able to pay kind of for our private hosting as well. So similar to
github and all these other things right the kind of free for open source paid for
paid for private so so but while i've got you so i'm a i'm a company director and i'm using github
and i could i see they've got github pages what's the what's the usp for read the docs for me why
should i why should i use i mean definitely the the big thing is just kind of the core features
that we're able to provide you know redirects versioning uh all that kind of stuff and that
kind of build and deploy step right github pages doesn't do build previews doesn't do all that
kind of stuff and you can do you know if you want to maintain like hundreds of lines of yaml and
python scripts and whatever you can kind of hack it all together but the nice thing with read the
docs right it's all integrated it's all supported you have somebody that will actually respond to
your email um and then yeah the big thing is that kind of integration with building and deploying
and so we have a lot more hosting features right with github pages you you basically are just here
some html on the internet uh you don't have any of the stuff we do we do search indexing we do all
that kind of stuff so it's a much more kind of fully integrated solution but there's definitely
people out there that if you want full control over it right you can hack hack it all together
a million different ways uh yourself so there's a wide range of of deployment uh realities in the
world but but that that cost of tacking it all together yourself is much more than the hosting
cost of read the docs right on a monthly basis oh of course yeah and i mean it it's gonna be more
likely to break and then when it breaks you have nobody to call right that's that's the big thing
you know i do think our support really sets us apart you know you you send an email and almost
always within you know four to six hours you're getting a reply with people who actually know
what they're talking about yeah right okay so i'm sure you've you've spoken of this elsewhere but
you know, Read the Docs didn't have ads initially, you've had this growth. So looking back on it now,
because how many years has it been? It's been it's been quite a few years since you
12, I believe. Yeah, yeah. 2010, I believe is when we started at summer 2010.
So I just curious how you look at, you know, the cost rising, you're not trying to profit
maximize per se. So deciding to add ads, and then that gets to ethical ads, which I think would be
good to talk about again, because that was two years ago. And to me, that's really cool. Like
Jeff and I have talked about Django packages. If he does ads, he wants to do ethical ads.
So I guess a loaded question of like, what was that journey like where you've got growth,
but then you go, Ooh, but costs are going up and we don't want to just spam up this thing that we,
that we have. Totally. Yeah. No, I mean, I've, I've talked a little bit about this over the years,
but definitely, you know, I viewed advertising as kind of the, the last option we tried, you know,
there's all these things on, on open source, how to fund it. You know, you can do these donation
drives, you can do these support contracts that don't actually get anything, but like, it's a way
to back channel money from corporations or, you know, we can do contracting training, all this
kind of stuff. And, and I, I have a blog post, which we can probably put in the show notes,
but really like we tried a lot of these other models and at the end of the day, they, they all
distract. They either, you know, bring in almost no money. So like donations, lots of people have
tried donations and it's the you know you look at people's github sponsors and it's like 32 a month
or whatever it's like yeah that's that's not going to sustain someone for you know a full-time team
working on this um and so yeah really advertising we kind of came to after trying other things and
what i really love about it is it the incentives are aligned to working on the product right you
get more users you get more people using the product and you get more revenue and it's not
of distraction, right? You make the product better and that leads to more revenue directly. Whereas
so many other ways of monetizing open source, it's kind of this distraction where you're like,
oh, we're going to do this like side business, but not actually work on the core product.
And so I do, that's one of the big things that I love about advertising. And then to your point,
right? Like we are providing a service to the open source community, to our users. And if we
start just putting incredibly intrusive ads, people are going to leave, right? So there's
this tension where we feel that we need to kind of not add tracking not kind of add to the the
data detritus in in the universe um and so that was kind of the the concept behind ethical ads
was kind of this you know no tracking we only base uh the ads the ad targeting is all done based on
the content of the pages so we actually you know parse the html that we're you're looking at uh and
actually kind of are able to target ads right if you're looking at a django documentation page we
can put a Postgres database ad on it or whoever else wants to target Django developers. We don't
have to follow you around the internet and see that you're reading Django content for months on
end. Well, it's impressive to do that. I mean, because it's so easy at any company at a startup
I was at would start growing. Once you put an ad on, you're never taking it off. You're just
going to be addicted to that revenue. And if you talk to Google or whomever, their only advice is
bigger ads more highly placed so it really takes not just restraint but yeah discipline to say i'm
valuing this product because in the short term yeah the money's going to go up but you can't
always like put a dollar amount on the experience of users right but if over time they say oh it's
just filled with ads you've lost it so anyways i i'm very in admiration that you've pulled that
off because i know as much as people say they want to do that the realities of running a business
it's very difficult to do and requires thinking in 12 year plus terms to pull that off you know
and no investors too or not investors who aren't pushing you on that totally yeah no if we were
venture-backed right there would be someone who would definitely be like you know just put another
ad in there and you get more revenue right it's a real it's a real easy solution it's a it's a
very slippery slope and and similarly like running the business as well right like we there are
certain advertisers that will not advertise with us because they can't inject tracking
and and that's not all nefarious right some of that is fraud some of i mean the ad ecosystem
is a mess like i don't i don't fault advertisers for wanting to know where their ads are running
right like once you like put your ad into the ad tech machine i would be terrified personally
whereas like i i have no idea where this is going to show up am i going to be on some
news expose because my ad is running next to some alt-right content like who knows
um and so you know the the ability to run a network that's invite only that's you know like
we know where all the ads are going and you know where they're going right we're not it's not this
algorithm where it's just could go show up on any page and then similarly as a as a publisher right
you don't have random ads like if somebody was just browsing shoe ads and they come to your site
they're not going to see a shoe ad with ethical ads right they're going to see something tech
related based on the content and so that's the other big win right is not having that kind of
cross cross-pollination cross-contamination of of the kind of rest of the world into our ecosystem
right like it's really scary but on both sides as an advertiser where your ads are going and
as a publisher what is showing up on your site yeah well that's we'll link to oh sorry carlton
i was just going to say um our discussion with david we got into that a bit so i'll link to that
totally folks go ahead i just have one question listening to you though just from a sort of um
advertisers performing point of view is how can i measure um return on investment if you don't
do any tracking and don't do all these you know so how does it come up that all this cross-site
horribleness occurs it's because i want to know that when you click my you know i want to be able
to allocate my money to that click or to that to that view how how can i measure that without any
of the tracking yeah so i mean the big thing is right is once you click on an ad we're out of the
picture like like you can do whatever you want on your landing page uh and and we do allow people
to put utm codes and all that kind of stuff right so to the sound actually right right i mean it's
not it's not tracking it's just like a url parameter that's like this was you know the
this click is attributable to this ad image and this ad copy for example but there's nothing you
know personally attributable about that about the user but it does allow people to actually
you know
they understand like where the traffic is coming from and what is performing effectively. Um, but
they don't have any information about the publisher site basically. Right. So they,
they don't kind of have that. Yeah. That the data doesn't cross from the publisher to the
advertiser. It's just basically the advertisers data that they're able to track on the backend
of the click, if that makes sense. Okay, cool. And so you've got, you've obviously got like,
um, a current setup, but it must've evolved over time. So what's your kind of, um,
guiding principle like how do you know when a new suggestion comes up
what do you just run that through the how it tastes check or you
that's a technical term carlton yeah
yeah things have a taste now i mean how do you decide oh no actually we're not going to do that
versus yes we are i did i guess what's your moral compass so do you mean on on kind of the
advertising ecosystem yeah i don't know just in general so you know the the fruit company bring
out a new device it has this new ability to do x do we do we use that as part of our ad platform
i mean that i'm trying to think of a particular example maybe maybe the the place this comes up
the most is in the kind of like publisher or uh kind of advertisers that we get on the network
right there are some you know i have i have personal feelings about crypto for example
and there's a lot of people who will come with things that are obviously scams and we'll be like
okay like we are not going to put red ads for your scam even if you pay us lots of money because
like that's not okay but then we do we don't have like a no crypto policy right we do kind of
exercise judgment where it's like okay if you're building like a thing that looks like a real
product like we're happy to take ads for that but like we do and similarly for for publishers as
well right there's definitely some publishers who are like definitely not like that is whatever
you're doing over there like we don't want to be a part of it um and so i guess that's that's where
that kind of comes in the most most frequently um and then in in read the docs land as well
there's definitely a little bit of that um but not not quite as much but around you know censorship
and uh you know the question of like hosting russian content all that kind of stuff uh has
been has been very relevant uh recently and so i do think there's a lot of interesting questions
there that are that are becoming more and more relevant to people in open source so yeah it just
out quick quick is russian content sanctioned at the moment i mean as an american um nope no but
basically russian i think the main issue we've actually hit is that russian companies can't pay
us right okay because i do think we lost a couple customers because the kind of all the the payment
rails have all been uh been removed but yeah we're we're not to kind of answer that question we're
not doing anything beyond what is what is legally required right we don't we don't need to get too
deep into the politics of it no i was just wondering if it was from a legal perspective
whether it was sanctioned but yeah it's the payment rails as you say so um perhaps to change
um just aspects slightly sure can we can ask about sphinx because you're still very much involved in
the sphinx world and i you know i love i love sphinx i use use it um you've given a talk on
integrating it with django i believe carl yeah well yeah okay so like um i have a little sphinx
django sphinx view package which just helps you um serve your sphinx rendered content in the django
in via the django template language so you can integrate it into your site um which may or may
not be what you need but that's what i needed um what i was going to ask is like um sphinx is quite
old and mature and so it's both got the superpower but also the cruft and it's very a lot like django
yeah well you know exactly so how do we keep how's it keeping fresh and what's the what the
exciting technical um developments in the sphinx world totally yeah no i i think the the biggest
kind of exciting thing is definitely kind of the quality of the markdown support uh that has been
built for it um so this is actually also czi money this is the executable books project uh and they're
the ones who built jupiter book and they also built mist which is like we we originally tried
to do RecommonMark, which is basically pulling Markdown content and generating a DocuTools
AST.
So basically just that first step where you actually take the source from disk and turn
it into something in memory, basically being able to have Markdown and RST both get turned
into the same in-memory AST.
And so we did a version of that originally, but they didn't have any funding and it kind
of started to get a little cruft and it was a lot of work to maintain.
um and so it was really awesome that czi was able to kind of fund that work so they actually had
some full-time people working on it for multiple years and so the markdown support within the
sphinx ego system has gotten really really good um and so i think that's probably the most you
know that's the the biggest impediment that i think a lot of people have in terms of adoption
or selling it with inside their or within their company well you say to people they've got to use
rst they're like ah different link syntax right and but then you show them what our markdown looks
like once it has all the features of rst and it's like oh yeah this is really ugly too but it's like
yes that was i like to say that about 50 of the complexity in rst is not needed and 50 is there
because there is just like a lot it's doing a lot more than your like basic markdown right once you
add directives, once you add these things that have a lot more complexity to them, like the
syntax gets less pretty, but I do think there is some like unnecessary design decisions in RST.
And so I really love kind of that, that mist is able to kind of bridge that gap, right? Where
you're able to take markdown, you're able to introduce the complexity so people can still use
Sphinx features. You can have a talk tree, you can have all that kind of stuff in your markdown
and have it all kind of be pretty, pretty native. But then, yeah, it's all, it's all just markdown
at the end of the day is there more that we should ask you about sphinx because i want we
want to ask about that but then there's a whole host of other things to ask you about um yeah i
mean i i think the the big thing within the sphinx ecosystem is definitely is funding right like we
actually applied for a czi grant to because i think one of one of the questions i saw in the
notes was kind of what's our relationship with sphinx right and that came from jeff by the way
Like I asked Jeff, I was like, Jeff, what should I ask Eric?
And he's like, um, but one of the, one of the cool things about our, our CZI grant is
that we did write some money in for helping with the Sphinx ecosystem around documentation
specifically.
So we actually contributed the Sphinx tutorial, uh, for the longest time Sphinx didn't actually
have a tutorial.
Uh, and so that was one of the things we were able to do with our grant, say with read the
docs, actually, we didn't have our own tutorial for the longest time.
And so, so with that money, we were able to kind of contribute that to the Sphinx ecosystem.
I mean, we're really able to kind of dig a lot deeper into that relationship.
Historically, we've helped, you know, we put a PR in here and there, but we're not super
involved with the development.
And so that grant money really did allow us to delve a little deeper into that.
Then unfortunately, we applied for a kind of a more, a larger Sphinx specific grant.
And that actually wasn't accepted by CZI.
So that was, we were really hoping to be able to kind of start to build a little bit more
in the ecosystem.
one of the big there there's a lot of really wonderful extensions for sphinx that nobody
knows about and that kind of like that ecosystem management i think is a huge missing piece uh
testing those across releases you know uh prodion who's done some wonderful work with the furo theme
i think that's one of the other really exciting uh things lately is the furo theme has become a
really really wonderful version of a sphinx theme that's pretty modern uh and so that's probably the
other exciting thing but he's also worked on sphinxthemes.org which actually gives you like
a fully rendered list of all the themes with a mobile view and a dark mode and all that kind
of stuff as well so yeah he's done a super job there we link to that i was just gonna say i it
sounds like you have a really good relationship over the years with czi i'm just thinking you
know django has no relationship with them and yet these things you've mentioned funding for docs you
know all these other things um you know we're so django itself i mean listeners know we go on
about this we're about to have the jet brains promotion tomorrow um june 1st so this will come
out i think a week after but django is sort of uh makes enough to do what it needs to but in terms
of having a docs fellow having more tutorials having accessibility all these things um we
haven't been able to sort of tee that up and identify sources of funding outside of kickstarters
or putting ads on the site which we don't want to do you know we had like carbon ads to speak of
one you know they're for you know folk uh vertical focused on tech and like view js just redesigned
their docs and it's in the sidebar and you know carbon helpfully sent us a thing saying hey your
sidebar would look great with carbon ads and you know we could do that um but anyway just just just
as a it's interesting to think of the ecosystem of funding out there i mean django has gotten
grants from frankly random um foundations i believe well not just mozilla but just some
place somewhere in the midwest we have no connection with they'll just send us
sometimes 10 15 20 000 to help um but we're not as you know we're not able to we're so small we
can't be proactive about that. And so I guess to lead into a specific question, you've been
involved with the PSF, the Python Software Foundation, just, I believe, as a director,
and then also a working group around funding. So I send that over to you as, you know, what can
Django take from your experience at the larger organization dealing with these issues?
Sure. So just a quick note on the differentiation between us and Carbon, which I know you wanted to
ask, but, uh, Oh, sorry. No, we should, we should, no, we should, we should say that it's important
to tell the listeners. Yeah, please go ahead. No, I mean, the big thing is privacy, right? Like
carbon carbon is able to have larger advertisers because they are perfectly happy to inject Google
JavaScript into your website. So that, that is the big difference between us is, is we're actually
saying no to those advertisers and losing that revenue. Uh, and so that's, that's definitely,
you know, I, I highly respect carbon. I think they do a wonderful job. Like they do a lot of
really great work in the ecosystem bsa is i believe bootstrapped uh by cell ads which is
their parent company so a lot of respect i i respect them a lot as a competitor because they
have a wonderful product that we're trying to compete with um but yeah i do just want to note
i think everybody a lot of people have the understanding that carbon has the same approach
to privacy that we do and that is that is not the case so um but to to move on from that well
i think it's good to bring out the differentiator i think that's you know important well i think a
lot of people don't they they look the same right and and people think they are the same and i i
think that's one of the big things we've had trouble with is trying to really kind of convey
the privacy aspects that we're you know we're basically losing money over you know preserving
the fact that your website should not send data to google unless you agree to send that data to
google well do you do you see i mean so duck duck go right that would be an obvious comparison in
terms of how they've managed things is there what do you take away from there from that experience
right i mean i remember back when i was in san francisco even they had the budget for billboards
and you know actually i think they just got some flack because they're they have a native not
blocking uh microsoft trackers yeah um but anyways i imagine you look closely at the duck duck go and
other relationship um because it's sort of the same thing except now they're it seems from the
outside they've grown enough that they're maybe having and they have funding outside funding
for a while so um yeah maybe like down the line you get to that scale and it's like oh okay it's
the same issues but how do i how do i handle it and be different
yeah well i must say if we were just competing against google i would be it would be much easier
like google is very easy to compete against however carbon actually is a great product and
so i do think that i i envy the uh the competition with google because uh yeah so i don't know if
that answers your question, but I, I do think that, you know, we have a harder time differentiating
because there are other people providing a similar user experience, uh, for advertising.
And so, and carbon does a great job with that. Like I do as a, as a competitor, they are a hard
one to compete with because they do a great job. So I do think that duck, duck, go. Yeah. Maybe
had it's, it's easier to compare and contrast with Google. Right. Well, I guess, cause it's
not just it's not just that the the privacy thing it's that you know google you have to scroll down
a full page to see an organic result whereas duck duck go isn't there yet whereas i guess you know
a sidebar thing could look the same for carbon versus ethical ads even though under the hood
it's quite different yeah but i i do i didn't didn't want to sidebar too much on on ad stuff
again um but i i'll kind of pivot back towards towards grant stuff because i do think that's
super interesting as well well the this was the um the the sort of thing it's like what can Django
take I mean you've you've been very active in you know I've followed you for ages talking about
open source funding and you you half talked about it before I mean what you know is that it seems
like it's the it's the Gordian knot like how do we how do we resolve this is it resolvable like
yeah so i mean that i i can only say positive things about czi like i i in particular love
that they're funding nuts and bolts so much grant funding is is like kickstarter right it's like hey
we're going to build a new shiny thing we want we want the shiny thing you want to fund the shiny
thing and you're going to put the shiny thing on your website and so like and then it's like oh
we're just spent all our time building the shiny thing and like our like ci has been broken for
three months, but like, look at this new feature or whatever, you know, and I love that CI has,
or CZI has really kind of embraced that, you know, this money needs to go into maintenance,
it needs to go into the stuff that's not sexy. And I really love that aspect of the program. And I
really respect that. The hard thing with Django is read the docs is heavily used in the scientific
ecosystem. And CZI, that's really their mission, they're funding scientific research, right? So
we were able to basically say, Hey, look, Jupiter, NumPy, X-ray, you know, like these core scientific
mile, like ecosystem projects are using read the docs, they're using Sphinx. So this money is going
to be infrastructure funding for science. Um, and so that was really how we were able to get that
grant money. And so there is a lot, a lot of money in that ecosystem, scientific stuff. There's the
Ford Foundation. There's the Sloan Foundation. There's a lot of money around grants in the
tens to hundreds of millions of dollars. NASA just announced a big program. I know Europe,
the US government is doing a lot more work around this funding, but a lot of it is focused on that
science work. And so that was kind of how we were able to kind of sneak in that funding mechanism
is because our tooling is heavily used in the scientific ecosystem. I think Django probably
It has a little bit of a harder sell there, but yeah, I think that's one of
the goals with our working group, right? When I joined the PSF board, kind of my big goal was
funding. And I actually worked to kind of, I kind of got that original Moss grant from Mozilla over
the line with the PSF. And that was really the first big grant that we were able to get and show
success from. And that really kind of snowballed, right? It's once you have success, you can sell
more success, right? You're like, hey, look at this money and look what it got us. And that's
the core thing, right? Is being able to kind of tell that story. So you go to the next funder,
which is CZI, for example, with some of the PIP improvements, you're like, look what we did with
this Mozilla money. Now we can get the CZI money. And then actually with the CZI money, they've been
able to then actually go towards private corporations and say, Hey, Facebook, you worry,
you're worried about, you know, like supply chain. Hey, Google, you're worried about supply
chain, like, give us money. And so then they're able to, you know, then bring in, you know,
hundreds of hundreds of thousands of dollars of private money to work on that kind of core
infrastructure. But it really is kind of the snowball. And that was kind of the theory that
we were working on back when we first started applying for grants. But that's really kind of
what's been able to be executed there. And so the goal, you know, we kind of put that together and
then I stepped down from the board. And then I did actually start working on the project funding
working group, which was to try and kind of bring that knowledge of funding into the ecosystem a
little bit more widely um and i'd say we're medium successful at that um but it is really like there
there is a lot of money out there and you but grant grant funding is a whole different thing
but i do think having that longer term vision of like you know you can't just rely on grant funding
like there needs to be some kind of longer runway yeah and in some ways because the money is so big
i mean i think it's easier for mike you know microsoft or some of these places it's much
easier to write a million dollar check than a hundred thousand dollar one because just the
logistics of it and in terms of or as i see the ecosystem on the one hand you have the psf and
all this work that's been done so you can point to all these things and say yeah we had we did a
follow-up report and the other and then there's django and then kind of the bottom end maybe it's
django rest framework where tom christie can say hey it's just me this might go away unless you do
something and django is kind of in the middle where we don't have the resources to fully fund
what grant payers need right they need someone to write the grants and do the follow-up and
we don't really have that yet and at the same time we're not going away anytime soon
so it sort of has us treading water uh financially which maybe is fine because we're you know
keep pumping out releases but there's things we're not doing yeah i mean i i must say i think
the tom christie kind of drf model is super fascinating because really really what tom is
selling is a developer that works on your core product dependency for like pennies on the dollar
because that's basically the pitch right it's like hey your like whole back end of your website is
built on drf your mobile app is all api driven by drf like you want to see that continue to improve
you want that dependency to get better and better and by giving us 500 a month if you know 50 other
companies give us $500 a month, you all get the same product. You get a full-time developer
working on this release for, you know, not even that much. I mean, $50 a month, a hundred. I did
the math wrong on that, but yeah, like that, that's really the narrative that, that I think
DRF is, is working within. And I think that's super compelling, uh, personally, cause I,
I find that kind of that business case, right. I do think with grant funding, uh, with any kind
of private corporate funding, right? The PSF is getting money because supply chain security is a
big deal. And it's still a fraction of the money they should be getting, but it's still, they're
solving that core business need. And I think that's really the big thing, right? It's grant
funding, private donations. It's still sales. You still have to kind of be solving a problem
um that that organization needs to be needs solved um and i do think that's somewhere where
django struggles a little bit right is your and read the doc struggles in this way sometimes as
well as like you're almost too foundational yeah you're too stable too mature like yeah like like
people don't don't yeah they don't feel the pain or sense the sense the pain of it going away um
but then it's also yeah you you're not at the project life cycle where the new shiny thing
is like a super obvious like django migration kickstarter obvious shady thing yeah but i think
you mentioned it before is that you do um you do um something to raise money which is a distraction
from the core project so i'm 100 convinced that if we go you know if we say hey do you use django
do you use django do you use django you do oh brilliant let's why don't you fund to you know
we go out and do that fundraising effort we could double or triple the number of corporate sponsors
of the DSF, small agencies around, bigger, bigger companies that are using it, um, of the DSF,
but who in the, in the Django community has got that time and, um, skill set to go out there and
make those, those fundraising calls? Nobody, you know, there's people contributing to the framework,
there's people, you know, working on it, but that sales job is entirely distinct. It's,
it's a totally different skill set um well i think it's also i mean sort of like you carlton and i
are a bit of a broken record on this topic i mean the fact that read the docs now has full-time
employees no one outside of the a very small number of people knows how django is actually
structured and why should they but it's it makes it hard to you know drf you can say oh it's it's
tom i mean of course it's tom and carlton and others but it's made you know it's that's easier
to think about like django does seems it's like a morpheus thing it doesn't seem like it's going
away and it seems harder to just to know and care why things are happening this um so yeah it's
almost a branding problem i almost think if we on the website described how it's like on the
home page or something more prominent and said hey this is the entire budget for django is basically
200 000 a year like um there's there's a lot like that's less than a django dev makes in most major
cities yeah developers are scared to like promote things yeah like the fact that i can go to the
django project website and not see a logo of a sponsor is a is a failure because the big thing
i've also learned like with ethical ads the biggest revenue generation the biggest awareness we have
is the ads right so by highlighting your sponsors you're showing that you have a sponsorship program
and like there's the thing on the sidebar right that's like some random django developer gave us
like two dollars and it's like okay great like i can give django two dollars that's what you're
telling me but if i went to the django project website and there was like a huge google logo
at the bottom and it was like top tier sponsors i'd be like oh like that's a thing i i want my
company logo there maybe i'll email my manager or whatever but i i do believe increasing the
visibility it's it's very like it's antithetical to a lot of what developers think about in the
world but like increasing the visibility of sponsorship actually leads to more sponsorship
which i mean once you think about it makes sense yes like yeah nobody in the developer community
is like i'm going to put a pr together to put the sponsor logos on the web page well this is i mean
you're you're on the DRF members list where I sent something around recently I mean Carlton I've
had many discussions I mean that is the obvious easy thing to do is to like Vue.js you know have
have the sponsors instead of buried on some page no one can see somewhere on the home page and then
just put you know instead of a random person have some prominence for a certain tier put to the
sidebar but getting you know as you know communicating a financial need when it's not
like you're going to run out of money tomorrow, but you kind of do need it. Like as treasurer
of Django the last three years, like I would like us to have more than less than a one year runway.
If something happened, you know, that's not great actually. Um, and I mean, I, we've actually been
working with the PSF, like the PSF is using our hosted ad platform with ethical ads to put
sponsor logos on every pipe by a sidebar or pipe. Yeah. Like every time you go to this pipe,
project in the sidebar there is a logo for a sponsor and if you click on that it goes to the
page with sponsorship yeah and that is really them them they're working with us and work with
them to promote the visibility of their sponsors to get more sponsorship and to provide value right
i do think the the idea of having your logo on the pi pi package index is a is valuable to sponsors
yeah yeah or if you're a django um a django uh shop if you're a django using company to be on
the django website is a great way of drawing yeah potential hires i mean it's it's a huge
value add to sponsors and then you put that in your prospectus right like that is the thing when
i go to my boss and they're like wait why should we give django money it's like well because we
use it obviously because we're good people but like the good people argument like does not sell
like people don't people love being good people and so they'll give 10 bucks to like some charity
you know once a year but like if you actually want to get companies to engage with you know
five six figures like you need to give them that visibility and you need to give them something
they can sell right they they need to be able to justify it when they go to their their boss right
it's like what's the cool screenshot i can send to my boss in an email that's like hey i'm so glad
we did this deal look at all the value we're getting right and all the traffic that yeah well
Well, that's, I mean, that's literally, I mean, the issue for Django is we have Carlton three days a week, Marius five days a week, and then the board who are volunteers, and that's it.
So, for example, Carlton, I have, it's documented, said, okay, once 4.1 is out, which Carlton is the release manager for, hopefully we can find some time so Carlton and I can work on this, you know, and Carlton can do it.
There isn't someone else to rejigger the homepage.
There isn't someone to rejigger the sidebar experience.
so it comes out of you know it'd be nice to have a grant and have someone else do it but
carlton what do you think i mean right that's just we're just so constrained well what i think yeah
exactly that is we've got eric on this week confirming that this is exactly what we need
to do so if we can just get someone from a design agency on anyone want to come on and then they can
like step up and redo the site and then you know hey presto it's done um but the bottom line is it
shouldn't be me redesigning i'm not i'm you know i can tweet i can do little tweaks i can put a
page together but i'm not redesigning the site i'm not re-information architecting it like i just
yeah i haven't got the time and the skill set to do that like and and maybe there's maybe you've
caught me into doing the work myself because i do i i'm on the dsf members list and i do very
little to jim for jago but no it's like we don't ask that we don't ask people to do that though
that's the thing like as a board member like our whole last couple meetings is hey people aren't
doing stuff it's like well we don't ask them to right there's 200 members they're not asking too
much i sent an email kind of raising a flag and you know i think we're really hurting without
from the lack of in-person meetings personally yeah no covid covid is really kind of changed the
the dynamics the the the reward you get from going to a sprint or something is a lot less
the dopamine hits are not as strong even even you know like okay so like let's let's redesign
django project site okay so how does that actually happen right like i'm on the board i guess we
could just decide um but i would rather have discussions with like prominent django people
at django con i talk about in the members you know there's this because it's not a dictatorship
you sort of like well i could start on it but i kind of know the pushback i'm going to get
and since it's all volunteer work it's a lot of work to do on maybe instead of somehow getting
everyone to say yeah we need to redesign it and here's these finalists and who's going to pm it
and all the rest it's you know in the absence of in-person meetings it just becomes harder to push
that through well it's it's impossible to push through even with in-person i mean i i saw some
of the background of the python website redesign yes and that was a huge amount of work and i i
think within open source like governance authority like who who actually feels empowered that they
could actually change the website is a huge question right like it's it's one of the the
hardest things about open source is like who is who feels they have the authority to add say you
put ads on the django project website like who feels that they could actually make that decision
right and i don't think anybody does in some way i mean there's like a legal person there is a person
who has that legal authority but do they feel empowered well you're talking you're talking to
them i think so you know but i but that is that is a a classic thing right it's like who feels
empowered to to make that that process and then executing doing a web design or redesign is super
hard like even for people with infinite funding it's a nightmare yeah so it's it is a don't don't
feel bad because it is a hard problem but i do want to also want to like step back in scope and
like i know there's a thread in in the website or in the dsf chat about like redesigning the
website but like i'm not talking about redesigning the website i'm talking about like putting the
logos on the current website yeah it's the home page in the sidebar yeah changing the link at the
top that says donate to sponsor because donate is donate is not like donation is is a no do not
use that word that word is is bad that that means i am a corporation and i get no value
what you want is you want sponsors and and your members can be sponsors it doesn't mean they have
to give you know you can be a five dollar a month sponsor or whatever but i i do believe that like
donation as a concept is something that like corporations equate with like a different budget
than sponsorship like sponsorships marketing money donation is like we do a matching fund
for our employees budget sponsorship is how you actually give value to people like
is there a prospectus like if i'm a company what do i get when i give you money like is there
something i can then send to my boss to be like hey i think we should be a bronze level i mean
it's the exact same thing as a conference sponsorship right you need the prospectus you
need sponsorship you need value um and the psf has been doing a lot of work kind of adding
like selling sponsorships and merging conference and community benefits which is really kind of
interesting we've done some of that with write the docs as well where we actually sell you know
job postings as part of a conference sponsorship that shows up on our community job board to try
and kind of spur the usage of that job board. And so much of this is super basic, but it's
it's really hard, right? If you're just a bunch of developers and you're like, how do I,
how do I build a sponsorship program? Like it's, it's, it's also not that, you know,
it's why do we have fellows? It's all this stuff that needs to get done. That isn't as fun to do,
right? Like, um, all those, you know, and for me, like, I would really like to see these things
happen, but I like personally don't have the time to do it on top of being the treasurer and all the
things I'm doing. So one thing, which I, you know, I saw you did one path I might take is to step
down from the board and to try to work specifically on some of these things so that i have the time
to do it and i'm not doing all the other things i need to do um so it's yeah but we need the
prospectus we need the the sidebar um i think also at this point something you know it's also
as a volunteer it is i think we would get more people if we had bigger audacious public goals
it's less enticing to keep something going as a volunteer than it is to you know redesign the site
improve the corporate thing you know do a new feature carlton's shaking his finger at me but
well it's what it's kind of what eric just uh sort of intimated out before is that if as soon
as it becomes um redesign the site then that's a massive job whereas put the sponsor logo on the
front page that's an addressable well this is what kind of small thing and we we have this thing with
feature issues right so a feature issue comes on so let me just say this point because it is exactly
like adding a new feature it's like can we i don't know add this little tweak thing to the to the to
the admin yeah we can add that little tweak thing but can we add this whole news of major feature
no we can't so it's much more addressable to do the one little tweak than it is the big you know
oh let's boil the ocean well the plan currently is carlton for you and me and others to
look at something different for the home page and correct the sidebar not a redesign
and ask for forgiveness not permission or ask people to comment which they probably won't
and then see what happens but i know it's gonna help us just just ship it and then you'll get
all the comments we're like yeah yeah yeah well now you commented i mean we already did it put it
put it on a feature flag so you can you can just ship it for a day and be like all right
we'll address the wave of criticism and yeah okay yeah i mean we are though i compared to
the python software foundation as you noted there was there has been this big shift from generally
all most of the funding came from the conferences and then a that's a weakness in general and then
with covid that's a real problem django has never made much money from the conferences
so in a way that's more stable for us um even though that is you know that's something we could
and should do right like we could have part-time paid hourly staff and make the conferences more
of a job fair for businesses um it's just a question of who's going to do that but in any
event well yeah there there's a lot of really interesting questions here and i i will note this
This is one of the reasons why Read the Docs is a for-profit and not a non-profit, because I actually have some probably unpopular opinions around the incentive structures and kind of public perception around non-profits.
But I actually do think being a non-profit constrains the way you can make revenue and changes people's perception of when you actually try to generate revenue, along with the tax implications and legal things and whatnot.
but like when people hear you're a nonprofit, that it's just a different conversation. I mean,
you can hire people, you can do all the work. Um, but I do think that makes things
a little bit harder, at least at the small scale. Um, but anyway, that's a separate sidebar.
No, I, I 1000% agree. I mean, even coming, I'm in, I just came from a business school reunion
in business school. I took a class on nonprofits and my takeaway was it's twice the work because
you have to do all the things that were for profit, plus all the extra requirements of a
nonprofit plus people don't want you to make too much money so it's just you know like for me like
i like i do books and education and i've thought well maybe i should do a non-profit right maybe
it should be like free code camp but just the logistics of that cost you know you're replacing
people who pay you with sponsors and donors who are less reliable and you know again you get these
big spikes but then you get these troughs and um i personally if i ever did like a free code camp
kind of site i would make it a for-profit and charge for like five percent of it or something
or have sponsors you know ads right it's just an actual non-profit is just so much work um yeah
but i do think that's one of the things right it's it that's part of why it's also hard to define i
mean it's still just a legal entity just like a poor for-profit it just has a board that controls
it but i think it's just a lot harder for people to understand that it's like it also has its own
needs it needs fundraising it needs revenue like i mean for the dsf in particular what is overhead
i'm sure is a fraught question well no i mean well you're you're on the members list i mean and and
this is partly i guess my fault or just you know we don't you know the psf has an annual report
that says here's who got paid what and here's the budget and we have that now since i've i've been
there and working with um working on that but i haven't done a blog post to share it publicly
right i probably should you know it's it's not a mystery it's two-thirds fellows and then a third
everything else but because people don't know that and see that even the dsf members why why
would they know that right so it's i guess on me a little bit and like who's i i'm i'm also the
like one of the like five people on that list probably even knows what a 990 is and like well
yeah exactly i now have to file that and you know you know so it's just an invisible pain for the
past treasures yeah we're we're getting a little a little deep in the weeds here but i do think
that in some ways yeah like that that amorphousness is really hard because it does make it a little
harder to figure out where you fit in and how you're going to generate funding and there there
are a lot of funding opportunities especially with grants that are only available to non-profits
and so there there are some benefits there as well of course but yeah i don't want to don't
want to go too far down the the non-profit rabbit hole because it it's pretty arcade well but i mean
is uh it's interesting it's the only there's this um katherine holmes who's the dsf assistant so
she's paid hourly that was added since i joined that's basically the only way i can do the job
or anyone could do the job before me there was people came in and out because it is even for me
it's hours a week and she's doing you know she's physically filing the 990 i'm reviewing it you
know so i'm sort of even though i i've long said i never want to manage anyone i'm managing her
a little bit but yeah that's why it happens so um so yeah anyways yes all these all these things
that that matter and that you know regular users don't need to know but dsf members i think should
know more about and so that's really probably on the board to communicate the needs um and i i
think that's one of the the back benefits of of having people on the board is they actually have
to learn about nonprofits yeah and at the same time having this year we have the same people
as last year we're we're most likely going to institute a change where it's two-year terms
because if you're just on for a year it basically takes a year to learn how to do anything and then
you can finally do something so this year has been great in that we've been able to just do stuff
instead of bring people up to speed on what in our surely it should surely be three-year terms
then one year to learn in two years to do something otherwise yeah that's i think psf is
three-year yeah well there you are that makes it i just wanted to this i mean you know all the
non-profit stuff there it's kind of interesting but what one thing it does tie into that i think
you know is more open and perhaps a you know way to segue out of there is that part of the jango
sort of feel is the community and and how i don't know what's your take on on it on that eric in
in terms of I kind of feel that the non-profit and the way Jacob and Adrian would have stepped
away from the BSDF role and all of that kind of thing um BSDFP yeah yeah benevolent BDSF
BDFL yeah BDFL that was it there's other things similar to that these days we won't say
ah anyway uh oh I don't know how to turn that into a question for life yeah yeah yeah but like
how that how that said the way like aren't the two don't the two go hand in hand like you can't
really have the sort of django community without the sort of the foundation and the non-profit
status and it being the way it is i mean there's there's nothing like write the docs which is the
conference i work on in the community as a for-profit organization there's there's nothing
about the governance or the legal entity like like for-profit companies actually have more
flexibility in terms of being charitable right okay like if we choose however we want to spend
the money even if the irs doesn't think it's okay like we pay taxes and we do whatever we want like
cool um and so i do think that like this is part of what i'm talking about right people
conflate the legal status with the mission with a bunch of other things that are all wrapped up
in how they think about it and it just makes it a little harder to communicate clearly with people
the need for we're going to pay somebody to raise money as a non-profit is like probably a little
harder than saying as a business we're going to do a salesperson or whatever and i do think there
are people in the community that have this skill set um but yeah it's just like it's not a skill
set people do for free generally right no why why you know even like i'm gonna raise money for your
for your organization and then you're gonna give me none of it wait is that is that it's like even
weirder and more awkward with with money you're like oh so my job is to generate revenue and
get paid nothing oh great this this makes a ton of sense um but yeah no i i think that there's a
lot of small things that that the dsf could do to better convey the value it provides um and and i
think the donate page does a great job but like it just needs to be more pervasive throughout
all of the the content all of the kind of marketing all the communication um and so yeah
but these are things every organization struggles with right like i don't want to make it sound like
it's easy well it's not it sounds like you volunteered to review our draft this fall is
what it sounds like to me could i ask you to do a brain dump when you get off you know when you get
off and brain dump it to to the dsf list so at least we got an action it's for you know you don't
have to but if you did that would be amazing i'm i'm definitely i've there's there's lots of ideas
here and and obviously they i've i've been failing at blogging for a long time so maybe
maybe that's the proper proper avenue for these thoughts uh they finally get a blog post out this
year well whatever we're coming up on time what haven't we asked you right i mean what do you want
to tell people about that we haven't teed up i'm a little a little sad that we had the the pct on
the uh on the notes and making stuff let's talk about it okay so so i i saw that and i'm so that
so you've done the pacific crest trail runs on the west coast and well jacob did the whole thing
and you did 800 miles of it um no hang on hang on that just sounds like an awful long way so
go back to it what is this it's a hiking trail yeah the pct runs 2600 miles from mexico to canada
along the fantastic basically um but yeah and i i did 800 miles and ended up breaking my foot
by walking too much i got a stress fracture so that was did not did not choose to stop but uh
Which, which section did you do the north, south or south, north, south, north.
So basically I did the worst part.
Yeah.
Cause I've, cause I've done the, um, uh, the John Muir trail, which is like the best part,
which is only 220 miles from Yosemite to Mount Whitney.
Um, so you didn't get to Mount Whitney then.
I got to Whitney.
So I went out at Keir search paths.
So yeah, I got it.
So that's like the next one basically.
Yeah.
The PCT is like 700 miles of desert, like in the south.
And then you finally get to the high Sierra and that's like the best part and you're in
good shape and you're like ready or do it 20 miles a day and then my like foot just like stopped
working and i was like so i i did some at whitney and got to do that that kind of saw the beginning
of the guitar lake and then to to cure science but yeah unfortunately just yeah can you just put
a marker in the ground and go back a few years later and pick it up and say this is where i was
i'm carrying on yeah totally i'd go right back in the same pass if i wanted to um but yeah it's hard
to hard to find the time to to take five months off to hike across the country but people do this
carlton so on the east coast there's the appalachian trail from maine to georgia which literally i i
just was just home at my parents house it literally goes in front of my parents house in vermont
and my wife hiked the entire thing after college um i only did a bit of it with her and people
though many people can't take the time to do the whole thing so they'll section hike it and they
will like, you know, go to, it becomes very, um, specific, right? Like you can't skip a section,
right? If you're going to do it, you're going to do it. So it may take 10 years, but you, you know,
you want to do the whole thing. Totally. But yeah, just a fun, fun little, uh, lots of, lots of
hikers, I think in the, in the open source community. But yeah, that is definitely something
I still, still do all almost every weekend and enjoy. So that's, that's how I'm able to, to kind
of do so much work is to you know get the endorphins on the weekend i guess well if you're
gonna sit still you have to move around on the you know it's like everything's yin yang yeah exactly
right carlton that you would agree mr philosophy i that's i did western philosophy yeah no i mean
i do i know you have a quote of someone from 2000 years ago i do alpine philosophy
all sense very sensible yeah well so we're gonna have links to everything um thank you for taking
the time thank you for just not just the ideas but just inspiring me carlton others to do the
work on django because especially around funding like there's so much opportunity it's just a
question of seeing role models like read the docs um and trying to tackle the easy things to you
know keep it secure which is what we all want going forward yeah no thank you for coming on
security is a great sales pitch a plus yes don't be yeah all right well we are uh yeah go ahead
no no i was just gonna say no security like the security team who you know don't get much daylight
they do a massive job we get reports every single week and you know there's experienced developers
giving time there like that if we were to put that work more front and center there's a thing
that you know we can have like we can have like an unsecure version right like the free version
of dango versus the premium version right no i know that's you can't pay for security it's not
a feature i feel like this is a whole a whole another thread that we're going to jump on to
that we don't have time for but yeah i do think i do think it's a great it's a great kind of avenue
though right to kind of highlight that that was to highlight it and put it forward yeah yeah well
i was gonna say we are at jango chat.com chat jango on twitter this is actually our last live
episode of the spring we'll be back in the fall um so we'll put out replay episodes but eric thank
you so much for taking the time totally i appreciate it all right we'll see everyone next time bye