← Back to Show Notes

Transcript: Django Software Foundation - Frank Wiles

Will Vincent

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 Vincent.

I'm joined by Carlton Gibson as always.

Hi, Carlton.

Carlton Gibson

Hello.

Will Vincent

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?

Frank Wiles

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 uh it just in a different department.

And um they actually took over the web operations of the Lawrence Journal World from me at the time.

Um and and uh uh that's a long story that's not very interesting.

Um but uh

Carlton Gibson

we do have to ask though, what tech were you using for James?

Frank Wiles

I uh no, it was Pearl.

I was I was I was I I actually I I've written a book on Pearl.

That's how Pearl I was.

Carlton Gibson

That's the perfect answer.

I take your PHP and I trump you Pearl.

Frank Wiles

Yeah, yeah.

No, I 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 um so I but you know I was like that's fine.

It there's 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 used 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 and Linux ProMag, she's at opensource.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 I gotta learn Django to do this intro.

And I did, and I'm like, wow, this is so much better than all the stuff that I'm using on in the Pearl world, and just switched, and then Jacob joined me and Revsys, and the rest is kind of history.

Will Vincent

So, what's the timeline for when that happened?

When so who had the initial idea for the Django Software Foundation?

Was it the the the early early three?

Frank Wiles

It was it was 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 uh seemed to be owned by a single company that might derail it or try to claw it back in some way.

Um and so

Will Vincent

from the very beginning of Django.

Frank Wiles

Uh it wasn't uh it was probably a a couple of years, it was probably three or four years um after it was open sourced before the DSF was created.

Will Vincent

Okay.

That's still pretty forward thinking though, right?

I mean, not yeah, I mean net 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 is Facebook gonna take it?

Carlton Gibson

And yeah, that's

saying with Node, no, Node.js.

Oh, yeah.

Frank Wiles

Well, and that was part of the reason why I pushed for the BSD license, um, was because they were building a commercial content management system that they extracted Django out of called Ellington.

Um, that they were worried about well, could something GPL could we accidentally trigger the viral nature of the GPL?

And I was like, uh 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 you, you know, Django can go its own way and it doesn't matter.

Will Vincent

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

Was that were you the president from the beginning, or how what's your what's what's your role in terms of yeah, give us the history of the Django Software Foundation itself?

Frank Wiles

When the when the when the when the foundation started, they they set three board members.

Um, and it was Adrian, Jacob Kaplan Moss, and a guy named Dan Cox, who was in charge of the uh 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 felt 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 Key, or because he's got 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 uh the core team aspect of that was much more important.

Uh 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.

Carlton Gibson

Okay.

And what goals do you have in those two years?

Frank Wiles

Um, my my big goals are 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 Kaplan Moss.

And what he wanted to do was take the money and pay somebody else to do the work and mentor them.

Carlton Gibson

Oh, that's perfect.

Right.

Frank Wiles

That's so find somebody who's interested in maybe helping contribute to Django, but doesn't feel comfortable, and let and he'll mentor them into making these changes for Django Project.com with the hope that that it they grow into perhaps a you know a core contributor.

Carlton Gibson

Yeah, that would be super wet.

Yeah.

Frank Wiles

That's one goal.

The other is obviously I 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 the waning years whenever that does happen, right?

Carlton Gibson

So you're creating a living will.

Frank Wiles

Sort of, yeah, yeah.

Will Vincent

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 gonna do it in hierarchy beyond, you know, uh paying Carlton and and Marius as the two Django fellows.

Frank Wiles

So, I mean, in in order of uh what I think is the most important is definitely paying for the fellows and and keeping Django's development, you know, marching forward in in a in a very uh predictable and and well-run way.

I think that's the most the biggest impact we have.

Um and then we also are the clearinghouse for the money, right?

We can raise money uh 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.

Um we know the community better than them, and they can write one check instead of a hundred.

What are those groups?

Will Vincent

I mean, Django Girls Django

Frank Wiles

Girls is yeah, Django Girls is a a lot.

We we get a lot of uh requests from regional Python conferences.

So, you know, the Pi Ohios, Pi Tennessees of the world, uh a lot in um non not in North America, actually, is where we get a lot of those from.

Um, and then sponsoring uh 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 the those are the big Django Dangers.

Frank Wiles

And Django Khan, we you know, uh Django Khan is is is self-supporting at this point.

Uh, but but yeah, we do help uh support with that in DjangoCon Europe.

But yeah, those are the those are the big kind of outlays of 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 or would be confusing to consumers.

Will Vincent

Um does that happen a lot?

Frank Wiles

And and not as much as you would think.

Will Vincent

Um 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.

Frank Wiles

The most recent example is we had somebody name a uh, and and they didn't do this in bad faith or anything.

They named a library an 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 in anything.

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 MPM 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 we 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.

Carlton Gibson

And the board, the the board is what, five five, six people?

Six.

Right.

And what what are the roles there?

Because is you're the president.

Yeah, so the the

Carlton Gibson

president Is that a big commitment?

Frank Wiles

Um it's not huge, uh, it's probably less than most people think.

Um, I would bet I probably spend five to fifteen 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 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 Django stickers and that can wait a couple days, you know?

Uh so you kind of you kind of triage things and uh and and deal with it as best you can.

Then uh 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.

Um, and informally they also take charge of bringing in new members and onboarding them.

Um, 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 and so those are all the all the key positions.

Carlton Gibson

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've we all fall out on the developer's list and you know something goes wrong there, and not that we would, but you know, it was very consensus-based.

But what is the um sort of the what is the board's position there as it as the kind of um arbiter of last resort or

Frank Wiles

yeah, I mean we definitely are we've taken on a ro 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.

Carlton Gibson

No, but it's like um, as you say, it's like the the the the thing of last resort, and but and the board is elected by the DSF members.

So can you tell tell us how people might join the DSF?

Frank Wiles

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.

Um, you know, previous incarnations, I guess, of the board were we're worried that bad actors might get voted onto the board.

Um and I just don't think that's practical.

I just don't think that's ever gonna happen.

You know, I can't imagine that somebody out there is gonna be like, you know what, I want to join this nonprofit and run it into the ground, and so I'm gonna get 200 of my friends to become DSF members and vote me in and that's just never gonna happen, right?

Like, no,

Carlton Gibson

you wouldn't there's not gonna be like a DSF Brexit.

Yeah, no,

Frank Wiles

like I just yeah, it's just never, it's just never gonna happen, right?

So why are we why are we putting this artificial speed bump into 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.

Um and and that's just counterproductive to our mission, right?

So part of uh so right now there is a membership form on the site, and uh 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 gonna 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.

Um, but you know, if you're listening to this, you should join, you're worthy, come on in.

Carlton Gibson

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 fut future of Django is going to be built and decided.

Will Vincent

Yeah.

Well, so what so you mentioned, Frank, the you know, at some point there will 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 include approach, there's Rails, there's Django, I guess maybe Laravel.

Um JavaScript doesn't have anything like that.

I mean, there's so few.

Um so I'm 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 five, 10x is in terms of the people using it with, you know, core Django, with Django Rest framework.

Um, yeah, we had we talked to Tom Dyson last week of uh Wagtail, you know, that CMS is incredibly popular.

Uh it seems just to me like upside all over the place.

Uh I'm curious how you view it.

Frank Wiles

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

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

Um 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.

Will Vincent

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

Frank Wiles

Um I

that could happen.

Frank Wiles

I I I don't know, you know.

Will Vincent

I don't have an answer.

I'm just it's an interesting question.

Yeah, no, absolutely.

Frank Wiles

Yeah, absolutely.

It is 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.

Um, and you know, only a fraction of people who use Django ever report a bug or 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 and in kind of standard development.

I do think that Django has room to to grow, right?

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

I I think that the you know the trend in the industry, I 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, it 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

Will Vincent

you're working in teams, right?

Because this is something Carlton and I have talked about.

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

Frank Wiles

Yeah, well, and people a lot of times want the really rich front ends, yeah.

Uh, you know, in JavaScript and React and and View, and and so if at a certain point, if you're if your 90% of your site is gonna 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 like have part of my front end and part of my back end mixed, and it's just it seems silly.

Will Vincent

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 as retiring as BDFLs.

Um I just wonder 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 Rossom just stepped down from his role.

Um so they sort of beat him to that.

Um, but I did that have any practical change on the DSF and the day-to-day running of of Django?

Frank Wiles

No, I mean, the so you know, Jacob Capo Moss is 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, what 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.

Um let's let's put it down and and set an example that this can be done, right?

That you can 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.

Um, so practically, yeah, I mean, you know, they still have logins to some things um because they're part of the core team and they're trusted members of the community.

Um, 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.

Um, but you know, they they don't have a day-to-day role.

Carlton Gibson

Got it.

And that that seems similar to the um to the proposal about dissolving Django core itself, right?

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

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

Frank Wiles

I I kind of see it as uh so uh back to my Perl roots.

Many, many years ago when they first started development on Pearl 6, uh Audrey Tang um started a project to build the compiler, essentially, though.

And uh she did it in a way that was revolutionary in that if you asked for a commit bit, you got a commit bit and just opened it up.

And you know, the wheels didn't fall off, right?

Like that that wasn't the reason Pearl 6 took a decade to to finish, right?

Like, but it it actually the development worked fairly well because if somebody's like, hey, I'd like to help, they're probably capable and you know, they're probably not gonna 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 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.

Carlton Gibson

Yeah, no, I mean you know, I've talked to about this a couple of Django cons that you we 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 the ecosystem healthier, and more for that.

Will Vincent

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?

Frank Wiles

So you actually asked me about that uh uh a while back on Twitter uh as a as a 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's 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, it's if it's not dynamic at all, get Jekyll or Hugo or something like Django would be kind of overkill.

Um, but if it's anything more dynamic than that, Django's 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 gonna 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 all 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 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 can you don't want to do it in Go.

Right?

Like, so make you know, something something like that.

Like it's it's it really comes down to uh I have a very small service, it's got two endpoints and and very little logic, and I need it 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.

Carlton Gibson

Yeah, could 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, still be there in three years, you know, without me having to do it all myself.

Will Vincent

Yeah, I mean I think uh and uh 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, I as I've talked about, there's just a a bigger learning curve of web development, um, 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 um hello world sites in Django quite quickly, actually.

You know, Flask isn't necessarily a faster thing.

I mean, 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 unseed it.

But for a traditional website, the more I get into my career, and again, I'm the most junior of of the three of us in terms of going along, I sort of don't care as long as it's decided.

Like I'd rather use proved, you know, tools that have a robust community and also tools that I know um it's fun to build side things, but you know, boring technology is a positive thing.

And the fact that, you know, for me, Django is a little bit boring at this point is great.

Like it's not a differentiator, it's doesn't get in the way of stuff.

Frank Wiles

Well, and I think too that you know people discount the human side of this equation quite a bit.

Came for the technology, I stayed for the community is a is a quote um you'll hear a lot of people talk about in the Python and Django communities.

And and it's true.

Everybody's nice, everybody's easy to work with.

You know, you don't run into to problem people anywhere on the level that you do in a lot of other projects.

There are um, 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.

Yeah.

Right.

Will Vincent

I think that's partly, I mean, that's set by example.

That's the example you know, you 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.

Frank Wiles

Yeah, that filters into the community.

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 uh 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.

Will Vincent

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 you know you've answered some questions I had, even though I've read the docs on what it is and how it works.

Carlton Gibson

Yeah, I'd I just just reiterate you know, join the DSF.

Join the DSF, you know.

Will Vincent

We'll provide a link so everyone can do that.

Great.

All right.

Well, thanks, Frank, so much for joining us.

Um and Carlton, I'll talk to you next week.

Carlton Gibson

All right, thank you.

Thank you, Frank.

Take care.

Thanks a lot.