Django Chat

Django Software Foundation - Frank Wiles

Episode Summary

The Django Software Foundation is the non-profit in charge of Django. Its president, Frank Wiles, joins us to discuss how Django is run and how anyone in the community can become more involved.

Episode Notes

SHAMELESS PLUGS

Episode Transcription

Will Vincent  0:06  

Hello, and welcome to another episode of Django chat. 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 become more involved in the community. I'm Will Vincent I'm joined by Carlton Gibson as always. Hi, Carlton. Hello. And Frank is our special guest. Hi, Frank. Hi, everybody. Can you give you a quick background, how you got into Django and the many hats that you wear today in the Django community?

 

Frank Wiles  0:30  

So yeah, so my, my involvement with Django goes way, way, way back, I worked at the same company as Adrian and Simon and Jacob 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

 

that's a long story. That's not very interesting. But

 

Carlton Gibson  0:56  

we do have to ask, what tech are you using?

 

Frank Wiles  1:00  

Nose pearl. I was I was actually I've written a book on Pearl. That's how pearl I was.

 

Carlton Gibson  1:08  

That's the perfect answer. I take your PHP and I Trump you pearl.

 

Frank Wiles  1:11  

Yeah, yeah. No, I worked mostly on mod pearl. And so yeah, so I didn't need PHP, but back then. So they decided that they wanted to build something in Python. And I was like, oh, whitespace That's weird. So I but you know, I was like, that's fine. It, 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 source in 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 Ricky Hensley. She used to be assistant And magazine, Linux pro mag, she's an open source, calm now. And Red Hat. She 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. I was like, yeah, sure, I can do that. I'm like, crap. That means I gotta, I gotta learn Python. And I got to learn Django to do this intro. And I did. And I'm like, well, this is so much better than all this stuff that I've used in the Perl world, and just switched. And then Jacob joined me and racists and the rest is kind of history.

 

Will Vincent  2:36  

So what's the timeline for when that happened? When who had the initial idea for the Django Software Foundation? Was it the the early early three, it was

 

Frank Wiles  2:44  

it was Yeah, it was here we three and actually, the Simon's that owned the Lawrence journal world. They, they all had a discussion and realized that, you know, it would hurt adoption, if this was you know, seemed to be owned by us. single company that might derail it or try to claw back in some way. And so

 

Will Vincent  3:07  

from the very beginning of Genco,

 

Frank Wiles  3:09  

it wasn't it was probably a couple of years. It's probably three or four years after it was open source before the DSF was created.

 

Will Vincent  3:18  

Okay. That's still pretty forward thinking though, right? I mean, yeah, I mean that now that sort of makes sense, but I don't think was as common. I mean, that you guys saw the future issues that now plague. I mean, like, you know, React had that whole thing recently. Facebook with Facebook gonna take it and

 

Carlton Gibson  3:36  

yeah, that's a no, no, no, Jess. Oh, yeah. Yeah,

 

Frank Wiles  3:39  

Jonathan? Well, I 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, Yeah, probably not, you'd have to really, you know, bend over backwards 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 know, Django can go its own way, and it doesn't matter.

 

Will Vincent  4:16  

So you're currently the president of the Django Software Foundation. Was that really the president from the beginning? Or what's what's your role in terms of, yeah, give us the history of the Jenga simulation.

 

Frank Wiles  4:27  

So it's all in that when, when 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 Jango 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 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 Russ Russell Keating D, 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. 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's kind of the original boards 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,

 

Carlton Gibson  6:01  

and what goals do you have in those two?

 

Frank Wiles  6:03  

My big goals are to to help automate more of what goes on right now we for being a web framework. We don't do enough on the web that we in terms of automation. One of the things that's coming soon here is that by the time this gets released, it'll it'll be announced. We put out a call for proposals to help automate becoming a member on the website. Right. And we only got one proposal. But it was a great proposal. 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. Oh, that's perfect, right. But 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 calm. Wow, the hope that that they grow into perhaps a have, you know a core contributor? Yeah, that would be super. Yeah, that's one goal. The other is obviously, I think about 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 2030 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.

 

Carlton Gibson  7:39  

So you creating a living will sort of

 

Will Vincent  7:41  

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 you're gonna do it in hierarchy, beyond you know, paying Carlton and in Mario's as the two Django fellows,

 

Frank Wiles  7:55  

so I mean, in order of what I think is the Most important is definitely paying for the fellows and, and keeping changose development, you know, marching forward and in a very predictable and well run way. I think that's the most 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 distributed amongst various groups. We know the community better than them, and they can write one check instead of 100. What are those groups and 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 PI, Ohio's pi Tennessee's of the world a lot in non and not not in North America actually is where we get a lot of those from And then sponsoring a lot of events in Africa recently, we've been kind of getting a lot of requests, and it's been really growing in Africa quite a bit. those are those are the Django Django con we you know, Django con is is self supporting at this point. But But yeah, we do help support that in Tiger con Europe. But yeah, those are the 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, or would be confusing to consumers. Does that happen a lot and

 

Will Vincent  9:42  

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

 

Frank Wiles  9:48  

for. The the most recent example is we had somebody's name and they didn't do this in bad faith or anything. They named a library in NPM They called it Jane Doe. 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 I think 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.

 

Carlton Gibson  10:36  

And the boards. The board is, what, five, six people six. Right, and what are the roles there? Because you're the president? Yeah.

 

Frank Wiles  10:43  

So the President

 

Carlton Gibson  10:44  

is a big commitment

 

Frank Wiles  10:46  

army. It's not huge. It's probably less than most people think. I would bet I probably spend five to 15 hours a month, kind of depending upon the month, certain months are a little busier than others when it comes to like tax time. And election time and things like that, that are a little, 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 Django stickers and that can wait a couple days, you know, so you kind of you kind of triage things and, and deal with it 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 taxes and things like that. And so those are all the all key positions.

 

Carlton Gibson  12:06  

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'll fall out on the developers 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 sort of the what is the board's position? There is that is the kind of arbiter of last resort.

 

Frank Wiles  12:26  

Yeah, I mean, we definitely are, we've taken on that role, definitely, in terms of like code of conduct and things like that. 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 call back control of the development right. If we had to do that. Wouldn't 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  13:18  

No, but it's like, as you say, it's like the thing of last resort and the board is elected by the DSM. Yes. So can you tell tell us how people might join the DSM.

 

Frank Wiles  13:27  

So that's one of the big confusions is that anybody can join the DSM, 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. People, you know, previous incarnations, I guess, of the board, were worried that bad actors might get voted on to the board. And I just don't think that's practical. I just don't think that's ever gonna happen. You know, I can 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 haha. Like, that's just never gonna happen.

 

Carlton Gibson  14:16  

So you would think there's not gonna be like a DSF Brexit? Yeah,

 

Frank Wiles  14:20  

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? Because as you know, we all know an open source, the littlest speed bump, turns people away, you know, as and that's just counterproductive to our mission. Right? So part of 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 shouldn't 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.

 

Carlton Gibson  15:13  

Yeah. And like people, some a lot of people I've 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,

 

Will Vincent  15:25  

yeah, so like, So you mentioned, Frank, the, you know, at some point, there'll be a decline in Django. But looking forward, 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'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 510 xs 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, and seems just to me, like upside all over the place. I'm curious how you view it.

 

Frank Wiles  16:26  

Yeah, I don't I don't think we've reached peak Django by any means. 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 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 occurrence. Reach out somehow, right? Like, we don't need a huge safety net. But we need some safety net.

 

Will Vincent  17:05  

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

 

Frank Wiles  17:10  

If that could happen?

 

Will Vincent  17:12  

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

 

Frank Wiles  17:16  

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 DSS 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 API's, I think that you know, the trend in the industry, I think I think the importance of things like Django forms and Django templates will continue to kind of diminish over time. You know, I'm a consultant is my day job. It's probably been a year or more since I wrote or work on a Django form. Right. It's it's all API's at this point. So I, you know, and you're working in teams, right, because this is something Carleton, I have talked about if someone, you know, 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. Yeah. Well, and people a lot of times want the really rich front ends. Yeah. You know, in JavaScript and react and view and, and so if, at a certain point, if you're, if you're 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. 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  19:06  

Yeah. Well, I was one thing I wanted to also ask about is, so I remember when I was first getting into Django that many years ago, seeing how Adrian and Jacob are both retiring is retiring as PDF files. I just wonder how did that influence things with the DSF? You know, to have two PDF files, you know, that's the, the Python benevolent dictator for life that, you know, because Guido van Rossum just stepped down from his role. So they sort of beat him to that. But I did not have any practical change on the DSF in the day to day running of Django.

 

Frank Wiles  19:39  

No, I mean, the So, you know, Jacob Kaplan moss is my business partner in renesis. 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. Let's let's put it down 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. 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 domains still still you know, can be recovered and somebody still has access. But you know, they don't have a day to day role

 

Carlton Gibson  20:56  

got it in it that seems similar to the to the problem. Without dissolving Django core itself right in the, you know, the, 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 it's sort of parallel.

 

Frank Wiles  21:13  

I kind of see it as. So, back to my pearl roots. Many years ago when they first started development on Perl six, Audrey Tang started a project to build the compiler, essentially the and she did it in a way that was revolutionary and that if you asked for a commitment, you got to commit it and just opened it up. And, you know, the wheels didn't fall off. Right? Like That wasn't the reason Perl six took a decade to finish right like, but it actually the development works fairly well. Because if somebody's 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. coaching 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 we should just 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  22:16  

Yeah, no, I mean, you know, I've talked 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 ecosystem healthier and move forward.

 

Will Vincent  22:35  

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. When is Django not a good solution? How do you advise clients on that?

 

Frank Wiles  22:52  

So you actually asked me about that? A while back on Twitter as a as a as a prompt for a blog post. I've actually been thinking about that when 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, it's 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, sit, you know, sanik 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, you know, then then I'm somehow bloating my app with this megabyte or two of code in my Docker container somewhere, right like 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 have my new laptop has two terabytes of storage in it. Like it doesn't matter if the project has a couple extra Meg's 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, and you don't want to do it in go. Right, like so maybe, you know, something, 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 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 There's, 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. And you know that you get a lot of safety out of the box.

 

Carlton Gibson  25:11  

Yeah, get that can that continue to look at it thing is, you know, it's because it's elective, because, you know, we have a release every nine 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 still be there in two years to be there in three years, you know, without me having to do it all myself.

 

Will Vincent  25:26  

Yeah. I mean, I think in the question of when not to use Django, because I think of beginners since I do a lot of teaching. And I mean, there is there is a learning curve to Django. 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 yeah, I think I mean, Django can be you can build hello world sites and 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 it'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, like, I'd rather use proof, you know, tools that have a robust community and also tools that I know, it's fun to build side things but you know, boring technology is a positive thing. In 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  26:32  

Well, 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, 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 know, you don't run into problem people anywhere on the level that you do and a lot of other projects there. And I think That means that we get to work together better, which means we produce better software and faster and more of it.

 

Will Vincent  27:06  

Yeah. I think that's probably I mean, that's set by example. That's the example you set. And you've talked about the decisions that the DSF has made. I mean, Carlton, you know, obviously, the example you said in speaking and interacting with people, I mean, the top Django people are all really nice, generous people, without exception. 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  27:33  

yeah, filters. 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 helped new new users the most award. Yeah, yeah.

 

Will Vincent  27:54  

Yes. Well, any any last things we want to mention on this talk because I'm really excited to Share the you know, DSF because again, I wasn't aware that it existed a couple years ago. And you've answered some questions I had even though I've read the docs on what it is and how it works.

 

Carlton Gibson  28:09  

Yeah. Just just reiterate, you know, join the DSF. Join the DSF. You know,

 

Will Vincent  28:15  

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

 

Carlton Gibson  28:22  

you. Thank you for taking Thanks a lot.