Transcript: Django Software Foundation
Hello and welcome to another episode of Django Chat, a weekly podcast on the Django web framework.
My name is Will Vincent.
I'm here with Carlton Gibson.
Hi, Carlton.
Hello, Will.
And this week we're going to talk about the Django Software Foundation, which runs Django and more broadly talk about what that does and how the code is uh managed.
And yeah, hopefully s shed some light on all the behind-the-scenes work that makes Django what it is.
Let's start off.
Carlton, what is the Django Software Foundation?
Well, okay, so it's the the the body which has responsibility for the governance of the Django software project, right?
The Django, the thing you use to build your web apps.
And we the we talked in some previous uh episodes with like Frank and others about the history of the DSF, but one of the early decisions was when it was decided to open source it was to make it kind of a community run and community-based thing and to do it in, for one of a better phrase, the right way.
And so the Django Self-Fire Foundation was the organization created to do that.
Yeah, so it's the nonprofit that has the legal and financial responsibility for Django.
And I think it might be an interesting point to make about how open source is organized and governed, because at the end of the day, all open source needs some degree of money for various things.
And usually there's sort of three buckets.
One would be a corporate sponsor, so like Google with Angular, Facebook with React, where it's engineers within the company build something that they need, and then they have permission to open source it.
And uh those engineers are paid by those companies and can work on the framework project.
There's a solo uh case, so this would be like Vue.js with Evan U or Lairavel with Taylor, what's his name?
Um, where you have sort of a figure who created it who monetize, or Linus Torveld with Linux who you know monetizes it through consulting or other ways, but there's sort of one solo person, or there is the nonprofit, and I actually don't know of that many other open source places that are set up as a nonprofit, but this is what Django did right from the beginning with the idea that we don't want it to be um limited by one or two individuals.
Um Django actually did have uh took a page out of the Python book with Benevolent Dictators for Life.
So Python programming language, Gita Van Rossum, who created it, was the sort of last arbiter if there was a dispute that couldn't be settled, though he just stepped down from that.
But he was that for many years.
And uh for Django, Adrian and Jacob had that role for a number of years, but they stepped away three years ago.
We'll put the link.
Um but again, but it was always you know, the Django trademark and the legal financial stuff was put into this nonprofit basically, yeah, when it was launched, which is very, very forward-thinking.
And so the DSF, you know, is where your money goes if you contribute to Django, which you should.
It pays the fellows, Carlton and Marius, it contributes to conferences, does a number of community things, um, but is separate from the technical side.
So the DSF does not tell, you know, Carlton or or core members what to do.
Instead, it protects and promotes Django itself.
Yeah, I mean, so Marius and I, we we have a brief.
Our job is to triage tickets, handle security releases, handle the releases of the the project, uh work with the on the community side, so you know, be be active in the forums and the mailing list to the extent that we have time.
But you know, these are kind of order priorities, like you know, the the we can't we don't spend all our time on the mailing list because we're spending all our time on the issue tracker.
You know, it's but we'll pop in on the mailing list where we can.
Um, but we're not, you know, it's not like the DSF is so you're on the DSF board, it's not like you're ringing me up and saying, hey Colin, you need to work on this or work on that.
It's like we're very much self- No, self-managed.
I think we have to be.
I think from a legal perspective, we have to be.
Well, and even uh, you know, this is a little bit into the weeds, but so I'm the treasurer of Django Software Foundation, but I'm not allowed to be paid as a board member, um, even though there's all this work that's done.
So there's there's a woman, Catherine Holmes, who's fantastic, who does a lot of the actual execution of you know sending a Western Union check to XYZ place.
Um so there are sort of these rules set up.
But but yeah, the Django Software Foundation, a lot of it is thinking about you know, there's corporate sponsors.
Um there's a couple of them that provide majority of the budget, actually.
So having conversations with them to make sure they're getting something from it.
It's a lot of it is taking requests for various um outreach.
So Django Girls or the DSF helps with um conferences or different events.
But a lot of it is, but you know, it's an interesting thing because like all nonprofits, it sort of needs to exist, but it it's not trying to make money, right?
Like the DSF could snap its fingers and do any number of things to make more money, but that's not really what it's around for.
It's around to you know to pay the fellows, to to do a bit of stuff, but really just to protect Django itself.
Right.
And the idea, the the important thing is that Django is sustainable not just this year, but you know, five years hence, right?
We want to do it.
Yeah, and that's one thing that uh Frank, who's the president, um talks about is that you know, one of his longer-term goals is to have some degree of of so the overall budget is like around $200,000, by the way.
So it's basically nothing in the scheme of things.
Um that he wants to have a little you know, fifty thousand dollars or some amount that can be used for the day when Django goes away and that will happen, that someone can turn out the lights, right?
That it's not just like whoop, Django's gone because some new hotness came in.
So that's one of his goals.
That's one of the examples, but also things like protecting the Django trademark.
Um, who's gonna do that?
Well, the DSF steps in in those cases.
Um, if there's so yeah, so these are some of the examples, and I, you know, as I learn more on the board, I'll share them.
But but basically it's it's the main point is it's separate from the code itself, which is currently the Django core team, the fellows, the security team.
Um two different realms, a lot of overlap, same people on the same places, like James Bennett is the treasurer on the DSF and um obviously core member, but separate realms in terms of responsibilities.
Yeah, I mean, and that it's just little well, I say little things, but they're not little things.
It's like the servers to run the Django Project.com website and docs.bango the docs.djangoproject.com site.
Well, those need funding, those need, you know, resourcing.
So there's an ops team, but there's also an ops budget that has to come out of the you know DSF funds.
The official Twitter account um for Django, uh you know, I have access to that now in the context of being the treasurer.
So, you know, historically there hasn't been much effort around fundraising.
And again, that's some of the things we're we're talking about is you know, if if the budget doubled, are there things that we could do that we're not currently doing?
Maybe, maybe not, right?
But the discussion needs to be had.
Uh, because one of my goals is to add, for example, a merchandise site to Django, which I'm
yeah, I really want that.
I want to I wanna I want to buy Django um Django pony pin.
I want, you know,
yeah, we have all the resources.
I mean, the these these have been set up.
We have we have all that stuff.
I I'm gonna make that happen, but it's you know, it's i I could just do it, but I'm doing it within the DSF.
I mean, I could just like do it and collect money and give it to the DSF, but I'm doing it within the construct of the DSF, so it's a little bit more work to do.
But like that's an example of something that we will have that will help the community.
All the money will go right into the DSF.
Um, and you know, and there's any number of other things.
Like, for you know, Django does not do you know, corporate sponsors, there's no job board.
There, you know, there's all these levers that could be pulled if they need to be, but you know, it's a question of whether they need to be pulled.
Though, for example, I think the fellows certainly should be paid well and enticed to stay on since the knowledge that you and Marius have built up, you know, can't be can't be paid enough, um, though that's not why you do it.
But anyways, there's all these concerns.
But uh well, there's two things you said there.
One is about doing the shop within the um the merchandise shop within the contract of the DSF.
And I think that's really important because it's about sustainability.
So you could set up a merchandise shop and you could run it for a year, and then you could be like, Oh, I haven't got time for this for whatever, any any number of totally legitimate reasons, like I haven't got time to keep giving time away for nothing because I've got family, I've got work, I've got you know pressures of life.
Absolutely valid.
But if you were doing it as a sort of solo project, that would then die and it would go away.
Whereas if it can be set up within the auspices of the DSS, it can continue.
And this is where Django has succeeded, where so many open source projects have failed, is that Django now, there yes, there are some old hands who are still around, but they are not the people doing the majority of the work on Django now.
They they're very knowledgeable, they're available, they've still got time to give.
But the the new stuff is new contributors.
And Django has made this move from the original cohort to a fresh cohort, and it's still going and it's still vibrant, and it's there's still more people coming in, and there's still old hands around, and there's a massive, you know, that that that even longevity of the project is directly responsible to that.
And I I suspect it wouldn't have happened if it weren't for the DSF and the DSF structure.
Yeah, no, exactly.
And and you know, and honestly, I'm so impressed by you know, Frank, Anna, the other board members, and the work, James, that they have been doing and continue to do, just again, with that that goal in mind, because um you know it's great to work on something where everyone's passionate.
Most people aren't being paid.
You know, it's just like we're all like, yeah, well, like we, and people understand that life gets in the way, right?
Like people can't always do the same level of contribution.
But but again, the key distinction is there is a DSF, it's a nonprofit that manages uh the legal financial side.
It is separate from the code side, though it funds a lot of this work.
And this is all set up with the idea of making Django bigger than any one or two people so that you know it will exist and hopefully perpetuate for some time to come until some other greatness comes out.
Or as is happening now, like things are being moved into into Django itself, right?
Like all this async work that you're dealing with, that um uh that Andrew Godwin's working on, that Tom Christie and others are working on, you know, it is being put into Django itself, largely.
Yeah, but there's but like you know, a lot of the talk thus far has been about how you know what about the end of Django?
No, Django's not ending.
This is the thing.
It's Adam Johnson, who's one of the co-contributors.
We came on the show, he talked about MySQL and you know why we might use that instead of Postgres or whatever.
Um, but he he used this great phrase we want to maintain Django till the heat death of the universe.
Um yeah, why not?
Like so we've let's talk about bringing in a content negotiation framework.
It's you know, it's all kind of new new features that are coming in and will uh bubble in and will appear.
Django is fresh and lively, and it's it's you know, it's still vibrant.
And you so you come along as a new contributor and you can give your, you know, you've got one evening a week where you can give an hour and a half, one evening a week.
If you can give that time to super, you give that for three, six months, and then you think, oh, do you know what?
I haven't actually got the time to continue this at the moment.
That's great too, because you know, you'll still be around, you're still in the community, and then a year's time you come back and you say, Yeah, do you know what?
That that hour a week that I used to really enjoy going, I've got time to do that again, and I'm back, and I'm gonna give some more.
And that's how Django works.
And because it's a non-profit and because it's a community-run thing, like it's not like you're lining the pocket of someone else.
You you contribute to AN open source project that's run by Megacorp.
You are lining Megacorp's shareholders' pockets with free labor.
You contribute to Django, yeah, there are companies using Django to make money, and those companies should be contributing back to the DSF financially, and probably they're not doing that to the extent they are.
But when you contribute to Django, you're contributing to a community project, not Megacorp's private tool, even though it's open to Dangerous.
Exactly.
And I would just, you know, we've said this in a lot of podcasts, but the community is really fantastic in Django, and contributing knowledge different ways is a great way to see that.
Right.
So how do you get involved?
Well, okay, you can contribute to Django and all of the rest, but you can also join the DSF.
So there's an applicant online web form you've got to fill in.
And you know, all you have to do is say, look, I use Django in my work and I love it.
And you can you can join the DSF and then you can be on the DSF mailing list and you can find out you know about what's going on and you can vote in the elections for the board members, and you can you can help have a say in the the future of Django.
Well, you need to apply to be uh a member.
Yeah, but I don't think the the applying to a member, it's not like um I don't think it's like uh you know you have to have crawled over broken glass to to join.
I think it's just
see if we keep this in or not.
I mean there's around 180 people.
Like, for example, the most recent board meeting, we had a couple people were submitted, and it was basically like, do we know who these people are?
If we do, they're in.
If we don't, they're not.
Yeah, so okay, so be part of the community and then you can join the DSF, right?
So if you're known, if you're so you what did we say in another episode?
We said, you know, write a blog post.
Write, you know, contribute to the website.
Yeah, write a blog post,
third party package.
Go to a conference.
Anything anything.
I mean, they let me on as a member, you know.
I haven't done a third-party package.
No, but you write a package.
But then they uh then you can vote.
Yeah, that that is who votes on the board, for example, every year.
Um yeah, so get and get involved.
It's not it doesn't cost you anything.
And and we and Django needs this.
Django needs people who are using it to to speak up and say, I'm in, you know, XYZ country, I'm using this this use case, and it's may be something that we're not, you know, Django, the DSF is not thinking about, um, but we should.
So you gotta you know, raise the flag and let us know.
I mean, the whole point of the DSF and our meetings is to try to understand what the community is doing and help Django represent the community.
Like that's the whole point of it.
So yeah.
And thing, and you know, we talk we talked about uh in another episode about some of the resources we talked about Django snippets, which it has got some great content in it and it's very interesting to read through the content, but it needs an update.
But if people were, you know, people are listening to this thinking, you know, I could do a bit of contributing, not necessarily on Django.
It said, well, you know, could you help run Django snippets and to put some pull requests in there to make update that?
Or you know, there's a Django people website which has kind of needs a work in love.
There's Django Packages that always needs activity.
There's all the jazz band pro um projects which all need yeah manpower.
You know,
yeah, and it and if you take you can take a selfish approach, this is the best way to get a job now or in the future is to be involved, to be out there, to be public, you know.
I mean, honestly, I started writing the books because I was out jobbing, uh, you know, was with a startup and it got acquired.
And as I was interviewing, I was like, you know, I've always wanted to write these books, like even if they don't sell, I think that would be a good thing to do.
And, you know, they helped me so to the point where I could have, you know, gotten the jobs I wanted, but the books were doing well enough, I could just do that.
So it's I don't know, it's a more productive use to to give back than to send, you know, an extra 50 resumes out into the to the nether, I would say.
Yeah, I mean what's the trick?
That there is a in the marketplace, there is a massive shortage of developer skills if we're gonna get into jobs and hiring, right?
And it's a land problem.
Right, but and yet you can't get hired, right?
Or it's difficult to find the job.
Well, the number one way beyond you know developing your skills and all those things which you do at your keyboard that you're very comfortable with, is getting out there and being sociable and going to a meetup or go or doing a blog post and putting it out there, or whatever it is that is your thing that enables you to put yourself out there.
But doing that will get you hired much quicker than you know reading another book on you know Redis or whatever.
It is, it is, it is networking, and you know, for for me, I mean you've been doing this for forever, Carlton, but I'm still I don't know, however many years into Django.
I mean, I've made peace with the fact that I will my skills are improving hopefully every day in a marginal way, but I am by no means the most qualified person to host a podcast on Django, and yet here I am because I'm just doing it.
And so that's provides value.
And you know, and I think also it's I've thought more and more about this to get philosophical for a second about you know, if I'm not coding hardcore Python or Django things every day, part of me feels like my skills are atrophying.
But I think it's really more that, you know, we all have that in the back of our head, right?
Um it's not imposter syndrome.
I've been doing this long enough to be like, you know, I could go and figure that out.
I've done it before.
It's more just thinking about there's different types of work and knowledge, right?
So when I spend when you and I talk about community members, that contributes.
When we when I talk with people about architecture questions, like more and more I'm talking more high-level stuff, you know, that that counts, right?
I should, I shouldn't have this idea in the back of my head that like, oh, I'm like, you know, my foundation is being degraded.
It's more like I have spent a lot of time and I have that foundation, and I do, I will spend time to, you know, get back to that, but it all fits together, right?
So the conversation you have at a a meetup with someone, writing a blog post, talking about architecture with this and that, being the stupidest person in the room, you know, that makes you better.
And then you turn around and you go, Oh, actually I know something, right?
Like people look to you and say, What do you know?
And you or you go, well, actually I I do have an answer, I do have an opinion on here, because I've been doing all these things that are community related, and it's not, again, just bring it back, it's not just only staring at your keyboard and you know doing project Euler, which is great and fun, right?
But it's not it, it's not all that kind of stuff.
And that's not what gets you hired, right?
It's it's no no no blog posts, speaking, all the rest.
Because because people don't work with code, they work with human beings.
And they can't, and the problem with coding is they it's hard to tell, it's not like a doctor, people can't tell if you're any good unless you show them something.
So, how do you show them something?
Probably you can't show the code you wrote at your job.
So maybe you have an open source project, or maybe you just gave a talk, just something.
Maybe you didn't pull requests on Django filter.
Yes, that's the best thing to do.
Like do a documentation ticket.
If you've again, if you've contributed to Django in any capacity and you're applying for a job with job with Django, top of the queue.
Like I hired people, top of the queue.
Right, but you you've said, yeah, and you but you've said write a blog post, do a conference talk or whatever.
Maybe maybe not even that, like maybe that's actually setting the bar too high.
In that if you've gone to the YouTube channel and watched the videos from the conferences, and then you've it pinged the author, the the person of a talk that you gave and said, Oh wow, I watched your you know 2017 talk on so-and-so, so-and-so.
It was amazing, and I did this, and they'll be like, wow, great.
And then you've made a connection in the world, and then you go to a job interview, and they say, Oh, what's your you know, favorite aspect of Django?
And you're like, Well, that you can use indexes in this way from the ORM, you know, just declare, uh and you're talking about something, and they see your liveliness and they see that you know this stuff.
Yeah.
Uh and all you did was watch a video.
Yeah, well, and I mean, I watched a video that you gave Carlton and I sent you an email, and you know, that was just a nice here there.
But then when I met you at DjangoCon, uh, it was like, oh, there's we've we've discussed before.
Yeah.
In the same way, there's, you know, probably for me, there's several dozen people who've read, you know, commented on something I've done, a book, a post, a video, you know, said something, and maybe they followed up with a question, and and we have a dialogue.
And I'm I'm happy to help these people, right?
Because they they inform my ability as a teacher.
But also, if you think about, you know, purely transactionally, like they're getting a lot of value out of me, right?
And it's but I'm getting something out of them too.
So again, uh the community wants wants you, whatever your level.
Yeah, I I I'm deeply uncomfortable about uh treating human relationships transactionally all the time, right?
You know I think there's some
I don't I don't go into them as a psychopath, but I try to, you know, sometimes you you have these moments, you're like, well, why am I doing this?
I think there's some Aristotelian point to be made that these things are incommensurate, like they shouldn't be, you know, they shouldn't be measured on the same scale.
I don't know, I don't know.
We'll come back to that.
Anyhow, so how so how have we got from the DSF to this talk about community?
It's because that's what the DSF is, right?
It's community-based and all the rest.
Yes, and the DSF and a lot of the the Django bigwigs are they want to hear from you wherever you are.
So take the time to send them an email, tweet, write to the Django Software Foundation, come to a conference.
It can only help, right?
Either we'll if you have a question and that's technical, we'll set you on the right course, or maybe it's a really deep question that it's probably something with that if it seems like it hasn't been solved, you know, it's probably an ongoing debate within the Django community, too.
Because that's the thing, too, that I I realize more and more.
There are some things that are great, you know, new ideas, like, yeah, we should have a merchandise shop.
Well, there's actually a a bunch of people have had that idea and have gotten 80% of the way there.
It just needs someone to take it over the line, right?
There's a whole bunch of those things that can happen.
What's the best way to get in touch?
You can send emails.
If you go in the Django forum, um, we mentioned that in a previous episode on resources.
That's maybe the best place to go because everyone can see it and chime in and I would say go there.
It's a good place to go.
Because it's designed for these non, it doesn't have to be a narrow technical thing.
It can be, but it can be a broader, more subjective thing around using Django in interesting ways.
Um so yeah, go there.
And then people get to know you, right?
And who knows where that'll go.
That was the Django Software Foundation, right?
So it's the the the body that helps maintain the framework, and we do that with the the fellows and the other contributors, and you know, long live Django.
And if you use it, you really should contribute, even if it's a small amount.
We'll put the link.
It goes to the sustainability of Django, which doesn't come from nothing, um, and it's not being run to make money at all.
It's being run to exist and um perpetuate Django till the what the the heat end of the universe?
What's the heat death, the heat death of the universe was Adam's phrase.
But yeah, if you come so no, but okay, so let's stop now.
But if your company uses Django, then your company should sponsor the DSF.
Like talk to your boss.
Yeah, think about it like what what is the value Django's providing for you for you and your company?
What is that worth?
I mean, we had we have an episode that has come out with Tom Christie, who runs Django Rest Framework.
You know, he went to companies and said, let me work for you full time for $100 a month, um, which is was the cost of a small number of companies to let him focus on Django Rest Framework.
Like, what is Django worth to you?
Um, or if you're an engineer within these companies, there's probably a way that you can, you know, I don't know if it c contributes under charity, it's a nonprofit, but a way that you can have access to directing the company's giving.
Django's a great place to do that, especially if you're using Django.
Okay.
Thanks very much.
And join us next time.
Bye bye.
All right, bye-bye, everyone.