← Back to Show Notes

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