← Back to Show Notes

Transcript: Django Software Foundation - Frank Wiles

Hello, and welcome to another episode of Django Chat. In this episode, we're joined by Frank

Wiles, president of the Django Software Foundation, to talk about how Django is governed and how

people can join and become more involved in the community. I'm Will Vinson. I'm joined

by Carlton Gibson, as always. Hi, Carlton.

Hello.

And Frank is our special guest. Hi, Frank.

Hi, everybody.

Can you give your quick background, how you got into Django and the many hats that you

wear today in the django community so yeah so my uh my involvement with django goes way way way

back um i worked at the same company as adrian and simon and jacob and just in a different department

and they actually took over the web operations of the lawrence journal world from me at the time

and and uh that's a long story that's not very interesting um but uh we do have to ask though

what tech were you using before jane i i know it was pearl i was i was i actually i've written a

book on pearl that's how in the pearl i was good that's the perfect answer i take your php and i

trump you pearl yeah yeah no i worked mostly on mod pearl and so um yeah so i didn't need php but

um back then so they uh decided that they uh wanted to build something in python and i was

like, Oh, white space. That's weird. And so I, but you know, I was like, that's fine. There's

nothing wrong with Python. And so they went and they, and they, they said, we've built something

kind of cool. We kind of want to open source it. And so I helped argue with the suits and the

lawyers for open sourcing Django because I'm an open source guy, not so much that I was a Python

guy or even use Django. It wasn't until years later, I ended up sharing an office with Kaplan

moss that i ended up uh ricky ensley of she used to be at sysadmin magazine linux pro mag she's at

open source.com now um and red hat she uh asked me to interview jacob because she saw that they

were creating the django software foundation and she knew that i shared an office with him

and so she's like could you interview him and maybe do a little intro to django and i was like

yeah sure i can do that i'm like crap that means i gotta i gotta learn python and and i gotta learn

Django to do this intro. And I did. And I'm like, well, this is so much better than all the stuff

that I'm using in the Perl world and just switched. And then Jacob joined me and Rebsys and the rest

is kind of history. So what's the timeline for when that happened? So who had the initial idea

for the Django Software Foundation? Was it the early three? Yeah, it was the early three. And

actually uh the simons that owned the the lawrence journal world um they they all had a discussion

and and realized that you know it would hurt adoption if this was you know seemed to be owned

by a single company that might derail it or try to claw it back in some way um and so from the very

beginning of jango uh it wasn't it was probably a couple of years it was probably three or four

years um after it was open sourced before the dsf was created okay that's still pretty forward

thinking though right i mean yeah i mean now that sort of makes sense but that i don't think was as

common i mean that you guys saw the future issues that now plague i mean like uh you know react had

that whole thing recently with facebook with facebook gonna take it and yeah that's the same

I mean, no, no, no, Jess.

Oh, yeah, yeah.

Well, that was part of the reason why I pushed for the BSD license was because they were

building a commercial content management system that they extracted Django out of called Ellington

that they were worried about.

Well, could something GPL, could we accidentally trigger the viral nature of the GPL?

And I was like, probably not.

You'd have to really, you know, bend over backwards to to to do that.

But BSD means you don't have to worry about it and you can go your own way with Ellington and Django can go its own way and it doesn't matter.

So you're currently the president of the Django Software Foundation.

Were you the president from the beginning?

No.

What's your role in terms of, yeah, give us the history of the Django Software Foundation itself.

When the foundation started, they set three board members and it was Adrian Jacob Kaplan Moss and a guy named Dan Cox, who was in charge of the online interactive department of the Lawrence Journal World.

And that was kind of the company wanting to assert some control, but not a majority control of Django kind of for the for the next few years, at least.

and so after about five years jacob decided that he wanted to step down and that he thought he was

getting too frazzled with too many hats and so they they were like okay well we need to find a

replacement for jacob the three of them talked about it and they're like it should either be

uh russ russell keaton gee or because he's got a a good relationship with the core team or it

should be Frank because we know him and he knows business and, and nonprofits and law and that kind

of stuff. Uh, and so they kind of debated it for a while and they decided it should be Russ

because of the core team aspect of that was much more important. And then Russ decided to step down

after five years and put it up for an election. And then the community elected me. So it was kind

of the original board's will being extended a decade into the future so unofficially we kind

of have a five-year term is what we've decided so i've got like two more years and then i'll you

know i'll probably step aside you know okay and what goals do you have in those two years um my

my big goals are to to help automate more of what goes on right now we for for being a web framework

uh we we don't do enough on the web that we in terms of automation one of the things that's

coming soon here is uh that by the time this gets released it'll it'll be announced uh we put out a

call for proposals to help automate becoming a member on the website right and uh we we only got

one proposal uh but it was a great proposal uh it was from jacob caplan moss and what he wanted to

do was take the money and pay somebody else to do the work

and mentor them.

Oh, that's perfect.

Right?

So find somebody who's interested in maybe helping

contribute to Django, but doesn't feel comfortable

and he'll mentor them into making these changes

for djangoproject.com with the hope that they grow

into perhaps a core contributor.

Yeah, that would be super.

Yeah.

That's one goal, the other is obviously I

think about um i think about the end game probably more than most people would so i worry about what

happens when django declines do we have enough money in the bank to gracefully sunset django

do we have you know when the sponsorships dry up for hosting and if there's some legal fees at the

end do we have 20 30 grand set aside to make sure that we can kind of gracefully sunset things in

the in the waning years whenever that does happen right so you're creating a living will sort of

yeah yeah can you just hit the high points of what the dsf does right i mean because then there's a

number of things but what if you're going to do it in hierarchy beyond you know uh paying carlton

and marius as the two django fellows so i mean in order of uh what i think is the most important

is definitely paying for the fellows

and keeping Django's development marching forward

in a very predictable and well-run way.

I think that's the biggest impact we have.

And then we also are the clearinghouse for the money, right?

We can raise money from companies

who would rather not give $200 to each Django Girls event

because it's logistically hard.

They would rather give us $10,000, and we then distribute it amongst various groups.

We know the community better than them, and they can write one check instead of 100.

What are those groups? I mean, Django Girls?

Django Girls is, yeah, Django Girls is a lot.

We get a lot of requests from regional Python conferences.

So, you know, the PyOhio's, PyTennessee's of the world.

a lot in um non and not in north america actually is where we get a lot of those from

um and then sponsoring a lot of events in africa recently we've been kind of uh getting a lot of

requests and it's been really growing in africa quite a bit those are those are the big jango

con we you know uh jango con is is is self-supporting at this point uh but but yeah we do help uh

support with that and JagerCon Europe. But yeah, those are the big kind of outlays of where money

goes. But then also we technically own the intellectual property and the trademark for

Django. So we defend the trademark if we see somebody using it in a way that they shouldn't

or that's misleading or would be confusing to consumers.

Does that happen a lot?

And not as much as you would think.

I can't think of an example where I've seen that, but I know that's a,

you know something you have to watch out for um the the most recent example is we had somebody

name of uh and they didn't do this in bad faith or anything they named a library in npm they they

called it django and what it did was it shelled out and and and provided a way to use django

templates from javascript which is not a not a bad use and it was just confusing because you could

npm install django and so you know we had to you know go through a legal process and discuss with

npm for a little while how to because it had dependencies and things and so we you know we

had to have a little discussion basically it was nothing nothing bad but and then they eventually

renamed it django template and it's like okay we're cool with that like that's that's a better

name for the library you know and the board the the board is what five six people six right and

what are the roles there because you're the president yeah so the president is that a big

commitment um it's not huge it's probably less than most people think um i would bet i probably

spend 5 to 15 hours a month um kind of depending upon the month certain months are a little busier

than others when it comes to like tax time and um election time and things like that that are a

little a little busier but yeah it's not it's not a huge commitment but you know you need to be

somewhat responsive to email and some issues are more important than others and you know you want

to make sure that like you know like for like carlton if you have an issue with access or

needing something like i want to try and jump on that really quickly because i want to unblock you

so you can be productive right other requests are hey could we get some jango stickers and that can

wait a couple days you know so you kind of you kind of triage things and uh and and deal with

as best you can. Then the vice president position is there if I were to get hit by a bus or in the

event I can't make a board meeting, they preside over the board meeting. And informally, they also

take charge of bringing in new members and onboarding them. The secretary obviously takes

minutes and deals with a lot of the paperwork. The treasurer deals with all the money and taxes

and things like that um and so those are all the all the key positions okay but so i often think

of like the board as having like the final kind of governance role of django you know if we all

fall out on the developers list and you know something goes wrong there and not that we would

but you know it's very consensus based but what is the um sort of the what is the board's position

there is that as the kind of um arbiter of last resort yeah i mean we definitely are we've taken

on that role definitely in terms of like code of conduct and things like that. Um, I, I don't know

how maybe previous presidents would have viewed it, but like right now, the way things are, like

you said, everything runs well by consensus because we own the trademark and the intellectual property.

If the core developers were to go crazy and, you know, just all leave or whatever, we would be able

to claw back control of the development right if we had to right that would be the nuclear last

resort option but i don't ever see that happening but yeah i guess at the end of the day if core

development fractured or stopped in some way we would have to probably step in and we'd be the

logical ones to do it but i don't see that ever really happening no but it's like um as you say

it's like the the the thing of last resort and the board is elected by the dsf yes so can you tell

tell us how people might join the dsf um so that's one of the the big uh confusions is that anybody

can join the dsf we're we're we're loosening things up we had a restriction of you kind of

had to be invited in by an existing member which just slowed things down and it's unnecessary

You know, previous incarnations, I guess, of the board, we're worried that bad actors

might get voted onto the board.

And I just don't think that's practical.

I just don't think that's ever going to happen.

You know, I can't imagine that somebody out there is going to be like, you know what,

I want to join this nonprofit and run it into the ground.

And so I'm going to get 200 of my friends to become DSF members and vote me in and more

ha ha ha like that's just never going to happen right like no so you wouldn't there's not going

to be like a dsf brexit yeah no i just yeah it's just never it's just never going to happen right

so why are we why are we putting this artificial speed bump in to getting people in and getting

people involved uh because as you know we all know in open source the littlest speed bump turns

people away you know uh and and that's just counterproductive to our mission right so

So right now there is a membership form on the site, and you fill that out, and we basically check to make sure that you don't have, like, existing code of conduct violations, and you're in.

And we're going to actually make that process more streamlined and smoother.

You know, it's nice if you get nominated by an existing member, like, hey, you should be a member, because sometimes people don't feel like they're maybe worthy or they should join.

but you know if you're listening to this you should join you're worthy come on in yeah and

like people some a lot of people i found don't know that the dsf exists that the django software

foundation is a thing and that you can join and that you should join and you know that's where

the future of django is going to be built and decided yeah yeah so what so you mentioned frank

the you know at some point there'll be a decline in django but looking forward you know what sort

of upsides do you see because when i look at the landscape i'm always struck by how few great web

frameworks there are out there. I mean, there's, you know, in terms of like a batteries included

approach, there's Rails, there's Django, I guess maybe Laravel. JavaScript doesn't have anything

like that. I mean, there's so few. So I wonder, you know, what's the future of Django, right? I

mean, Python is on the ascendancy, no question. So it seems to me like Django should do nothing but

grow. So I guess if, you know, if things go well, how big could Django get, right? Like,

What are the potential future challenges for the DSF, you know, if it 5, 10Xs in terms of the people using it with, you know, Core Django, with Django REST Framework?

You know, we talked to Tom Dyson last week of Wagtail.

You know, that CMS is incredibly popular.

It seems just to me like upside all over the place.

I'm curious how you view it.

Yeah, I don't think we've reached peak Django by any means.

When I say I worry about the decline, when I first got on the board, I started to think about what are some of the things that more technical people that have less kind of experience in organizations, perhaps, or in businesses, maybe wouldn't plan for or think about.

And so I wanted to make sure that we had a reserve, that we were, you know, taking in more money than we were putting out, but not an egregious amount, right?

Like we don't need a huge safety net, but we need some safety net.

You know, are there some future ways in which Django would morph where the DSF would need quite a bit more money?

That could happen. I don't know.

You know, I don't have an answer. I'm just it's an interesting question.

Yeah, no, absolutely. Yeah, absolutely. It is an interesting question.

I mean, I think that, you know, like most software, you know, an extra copy being out there doesn't add work to the DSF by any means.

And, you know, only a fraction of people who use Django ever report a bug or anything like that.

So I don't know that it would it would drastically change how things work kind of in the in the board and in kind of standard development.

I do think that Django has room to grow. Right.

And I think if it's going to grow anywhere, it's going to grow in terms of REST framework and APIs.

I think that the, you know, the trend in the industry, I think the importance of things

like Django forms and Django templates will continue to kind of diminish over time.

You know, I'm, I'm a consultant is my day job.

It's probably been a year or more since I wrote or worked on a Django form, right?

It's, it's all APIs at this point.

Um, so I, you know, and you're working in teams, right?

Cause this is something Carlton and I have talked about.

If someone, you know, a solo developer, you might not need or want an API, but certainly in a team setting, yeah, if you're a Django developer, you're primarily an API developer at this point.

Yeah, well, and people a lot of times want the really rich front ends, you know, in JavaScript and React and Vue.

And so at a certain point, if 90% of your site is going to be that, it seems silly to do 10% in something else, you know.

even if it's perfectly fine, right? Like there's a lot of times I'm like, why am I not? Why am I

not doing this in a Django template? This would be so easy. But it's like, but then I have part

of my front end and part of my back end mixed. And it's just it seems silly. Yeah. Well, I so one

thing I wanted to also ask about is, so I remember when I was first getting into Django, which not

that many years ago, seeing how Adrian and Jacob are both retiring is retiring as BDFLs. I just

wondering how did that influence things with the dsf you know to have two bdfls you know so that's

the the python benevolent dictator for life that you know because guido van rossum just stepped

down from his role um so they sort of beat him to that um but did that have any practical change

on the dsf and the day-to-day running of of django no i mean the so you know jacob capo

moss is my business partner in revsys and so he talked to me about it before you know he's like

I'm thinking about doing this. What do you think? The thing was, is they weren't doing anything.

Right. They were there as the Supreme Court. Right. And they hadn't had to hear a case

in three years. And so it's like, why are we you know, we're just we're just getting this title.

We're just keeping this title. And and the community doesn't need us. And we don't we

don't need the title. Let's let's put it down and set an example that this can be done. Right. That

you can relinquish control to the community who, you know, at that point probably knew better than

them what should be happening because they, you know, removed themselves further and further away

from kind of the day-to-day. So practically, yeah, I mean, you know, they still have logins

to some things because they're part of the core team and they're trusted members of the community.

So, you know, if I get hit by a bus that, you know, the Google domain still still, you know, can be recovered and somebody still has access.

But, you know, they don't have a day to day role.

Got it. And that seems similar to the to the proposal about dissolving Django core itself.

Right. And, you know, that doesn't seem to be that active now and it doesn't necessarily in the same sort of way.

And so to send a signal saying that's not needed kind of sort of parallel.

I kind of see it as, so back to my pearl roots, many, many years ago,

years ago when they first started development on Pearl six, uh, Audrey Tang, um, started a project

to build the compiler essentially the, and, uh, she did it in a way that was revolutionary in that

if you asked for a commit bit, you got to commit it and just opened it up and, you know, the wheels

didn't fall off. Right. Like that, that wasn't the reason Pearl six took a decade to finish.

Right. Like, but it actually, the development worked fairly well because if somebody is like, Hey, I'd like to help, they're probably capable and, you know, they're probably not going to cause more trouble than they're worth. And if they do cause more trouble than they're worth, you coach them or ask them to leave or ask them to stop. And they probably would. Right. Like it's not, you know, so I think that we're heading, I'm not saying that we should do that, that we should just give commit to anybody, but we're heading more in that direction of becoming, making it much more open and much easier to contribute.

And I think that helps the project.

Yeah, no, I mean, you know, I've talked about this a couple of Django cons that we have a small group who really do contribute and contribute a lot, but we've got a massive community.

And if we can get more people involved, that just brings the issue count down, it gets things done faster, it, you know, makes the ecosystem healthier and more for that.

So one question that I think would be really interesting to hear you talk about, Frank, is when, since you run a Django consultancy, and you have clients coming in who don't necessarily care what the technology is, they need a solution. You know, when is Django not a good solution? How do you advise clients on that?

So you actually asked me about that a while back on Twitter as a prompt for a blog post.

I've actually been thinking about that one because I think that's probably the most interesting one I got.

And I don't have a good answer because there are very, very few scenarios I can think of where Django is a bad decision.

I mean, if you have the world's highest traffic site and it only changes three times a year and it's got four pages, I would use some sort of static generator, right?

Like, you know, if it's not dynamic at all, get Jekyll or Hugo or something like Django would be kind of overkill.

But if it's anything more dynamic than that, Django is a fine decision.

That's not to say that Flask, Bottle, Falcon, you know, Sanic, any others aren't good choices, too.

It's just that I think sometimes people get a little hung up on, well, if I'm not going to use Django templates and I'm not going to use Django forms.

And I'm, I'm, you know, then, then I'm somehow bloating my app with this megabyte or two of code

in my Docker container somewhere. Right. Like it just doesn't matter. Like I don't use,

I don't use all the Python standard library on a regular basis. It doesn't hurt that it's there.

You know, we, we have my, my new laptop has two terabytes of storage in it. Like it doesn't

matter if the project has a couple extra megs of source in there. So, so yeah, I, I, the only

things i can come up with are like when you have really really small requirements super super small

microservices you want to do it in an entirely async manner and you want to do it in python you

you don't want to do it in go right like so make you know something it's something like that like

it's it's it really comes down to i have a very small service it's got two endpoints and very

little logic and i needed to be blazing fast and it's internal only and i don't need to worry about

future proofing it for things and and security as much you know that's i think one of the things

you get with django this you get this confidence that there's been lots of smart people who've

looked at the security over the years and continue to look at it um and you know that you get a lot

of safety out of the box yeah that can that continue to look at it thing is you know it's

because it's so active because it you know we have a release every night months and all the rest of

it it's like you know i can build something with django now and it'll still be there in a year

it'll still be there in two years to be there in three years you know without me having to do it

all myself yeah i mean i think and the question of when not to use django because i think of

beginners since i i do a lot of teaching and i mean there is there is a learning curve to django

um i mean as i've talked about there's just a bigger learning curve of web development

which I think is, you know, whatever framework you start with, you associate the pain of that

with the framework. But I, yeah, I think, I mean, Django can be, you can build hello world sites

in Django quite quickly, actually, you know, flask isn't necessarily a faster thing. I wonder

if maybe with the async stuff, you know, way down the line, it seems like maybe there'll just be a

revolution in how websites are done that Django just can't keep up with async or otherwise that

would unseat it. But for a traditional website, the more I get into my career, and again, I'm the

most junior of the three of us in terms of going along. I sort of don't care as long as it's

decided. I'd rather use tools that have a robust community and also tools that I know. It's fun to

build side things, but boring technology is a positive thing. And the fact that for me, Django

is a little bit boring at this point is great. It's not a differentiator. It doesn't get in the

way of stuff. Well, I think too that people discount the human side of this equation quite

bit. Came for the technology, I stayed for the community is a quote you'll hear a lot of people

talk about in the Python and Django communities. And it's true. Everybody's nice. Everybody's easy

to work with. You don't run into problem people anywhere on the level that you do in a lot of

other projects. And I think that that means that we get to work together better, which means we

produce better software and faster and more of it right i think that's probably i mean that's

set by example that's the example you know you know you set and you've talked about the decisions

that the dsf has made i mean carlton you know obviously the example you set in speaking and

interacting with people i mean the top django people are all really nice generous people

without exception um so that really trickles down i think to the the community as well whereas if

you have a I don't know a Linus type of person at the top that also filters down yeah that filters

in the mirror and I you know I think it's telling that we have one award and it's for being nice and

welcoming new people right we don't have a who pounded out the most code award or who won the

most technical arguments award we have the who was the nicest and and and helped new new users the

most award yeah yeah yes well any any last things we want to mention on this uh talk because i'm

really excited to to share the you know dsf because again i i wasn't aware that it existed

a couple years ago and um you know you've answered some questions i had even though i've read the

docs on what it is and how it works yeah i just just reiterate you know join the dsf join the dsf

you know we'll provide a link so everyone can do that great all right well thanks frank so much

for joining us. And Carlton, I'll talk to you next week. All right. Thank you. Thank you, Frank.

Take care. Thanks a lot.