← Back to Show Notes

Transcript: Python Core Developer - Mariatta Wijaya

Carlton Gibson

This episode of Django Chat is brought to you by the Stack Report, a monthly longer form piece on the application development, operations, and the process and business of making software.

You can support the show and subscribe at buttondown.com forward slash Carlton or follow the link in the show notes now.

Hi, welcome to another episode of Django Chat, podcast on the Django Red Framework.

I'm Carlton Gibson, joined us everybody by Will Vinson.

Hello, Will.

Will Vincent

Hi, Carlton.

Carlton Gibson

Hello, Will.

Um, today we've got with us, amongst other things, a PyLady Python core team member, F-String Lover, and fellow Python podcaster, Mariata Ouija.

Hiya, Mariata.

Carlton Gibson

Thank you for coming on.

Mariatta Wijaya

Thank you.

Hi, everybody.

Hi, Carlton and Will.

Carlton Gibson

Mariata, and I want to kick off.

The big impressive one there is Python Core Team Member.

What is what on earth is a Python core team?

And how do you get to be a member of that?

Mariatta Wijaya

All right.

It's actually not that scary, but really what it means is that Python Core team member, you get if you go to the GitHub for C Python repository, the Python programming language, I get the merge button there.

Um basically, you're considered a maintainer of Python programming language.

Carlton Gibson

So you're the person to talk to if we want to sneak our PR in, right?

Mariatta Wijaya

Yeah.

Well, how do I say this?

Carlton Gibson

No.

Mariatta Wijaya

You yes, a Python core team member as a maintainer, we get to review pull requests and actually decide to merge merge it for you.

But that's that's actually just one of the things we can do.

Um to me personally, I've been more involved in the workflow uh and documentation of CPython.

So I think I'm actually one of the few people who rarely commit to Python code.

Most other Python core developers they do write a lot of code inside CPython codebase, but my interest area is documentation as well as community outreach.

For me, as a maintainer and as a core developer, there is an in addition to actually writing code to Python, which we have a lot of other people doing that.

I don't need to be another coder to myself.

I feel what we lacking is community outreach.

Like I like to use my position in the community to like try to advocate for the wider user community and especially for the underrepresented group members in the community.

How can I give them voice?

Because a lot of people don't have direct access to other Python core developers.

I try at least, I I don't know if I've been successful.

I try to pay attention to what's happening in the wider world and see how I can help bring people's concerns and voices closer to the core team.

So that's that's a little bit of what I've I'm trying to do.

I don't think I've been successful.

Carlton Gibson

That you what you're not successful in in bridging the gap, do you think?

Mariatta Wijaya

I don't think we've been I don't know.

I I don't think it's it's a done process yet, and I don't think we'll be finished um anytime soon.

Yeah.

But I'm still trying.

Carlton Gibson

Oh, okay.

I mean we have similar in Jang in the Django community.

There's the sort of the framework bit itself, but it's sometimes quite removed from the user base and it's what removed from the the the wider community sometimes.

And it's something we struggle with too.

Yeah.

Will Vincent

Can I ask just a maybe basic question, which is how many like how many core team members are there?

And what is do you how do you communicate?

Is it all online?

Do you ever meet in person?

Is it like a monthly thing?

I mean, so for Django, the the nonprofit board that runs Django monthly meets online and then has other duties.

So I'm just curious, how does Python core do it?

Mariatta Wijaya

Oh, okay.

Yes.

We have maybe right now about 100.

Let me look it up just to be certain.

I I just had the number the other.

Will Vincent

I tried to look it up and it was I wasn't sure exactly where to see it.

Oh, okay.

Mariatta Wijaya

It's about 130, 140 core developers today.

And the way we communicate is actually most of them are public through we used to communicate through mailing lists, but in the last maybe five, six years, we started using this course.

So discuss.python.org is an open like open discussion forum.

It's completely public actually.

Everybody, if you're interested in engaging, that is the place to go, discuss.python.org.

We will be discussing a lot of things.

Actually, we discuss about PEPs.

New features are discussed through this course.

Um, so as a member of community, if you're interested in participating in Python core development, a lot of people think it's just about you go to the repo, you pick an issue, you create a PR.

But that's just a small aspect of it.

A lot of the activities you do is actually discussing the issue, talking instead of writing code.

Not talking, I guess, writing your thoughts into comments on issues and pull requests and discourse.

So it's not enough to just I'm going to pick an issue.

If I couldn't find an issue, I'm not contributing.

You gotta engage and participate in all of these discussions.

Um, so this course is where most of us are communicating.

We also have a private Discord Discord, the chatting platform Discord.

We also have a private uh Discord server that is open only for core developers, though we also invite um we also invite a few like people who are being mentored more closely, like who are already on the path of becoming a core developer.

We also have our triaders there.

Um, so it's it's more of a chatting platform, but it's private.

The the idea is just sometimes you just want to get quick answer, right?

We chat, any decisions we made there will be reposted first publicly on this cast, this course.

This course.

Will Vincent

I know I get them confused all the time too, so don't don't worry.

Mariatta Wijaya

Yeah, yeah.

So we we chat privately, but then we always bring it to public space so that even uh the wider community members can still participate and share their input before it becomes final.

So I was gonna say about the discuss.

Carlton Gibson

I some like so we have the same software for the Django Forum, and it and I but every time I'm you know comfortable in the Django forum, every time I step over to the Python forum, it always feels like um Nemo looking over the the edge of the reef, you know, it's like into the big blue, it always feels quite scary on the

it's not discussions.

Mariatta Wijaya

Yeah, I think that that might be the scary part because this the peps are basically most of the time it's brand new things you never heard before in Python.

These are, I think even for me, when I first joined, I had no idea what a PEP is.

I thought a PEP is PEP 8.

That's the only PEP I ever know for maybe a decade.

The style guides of you know Python code.

So I thought when I first started participating, and I thought people are talking about PEP3, whatever.

And I thought, what are you?

Are you creating another style guide documentation?

Um that was one of the big aspects of me learning about core Python, like understanding what the PEP process is, and it's mostly new features you haven't seen.

Um, it's it's a process of how the Python community decides which big new feature we want to accept so that it's not just based on you know whims, it's not based on well, Guido just wants to add something, you know, it's actually discussed with the whole community.

Um people would write up a proposal like let's add let's add afstring or whatever, saying these are the pros of it, or there are some cons, but the the benefits outweighs the cost.

Like you have to really um really explain why this feature is needed, and the whole community needs to be really convinced that yes, we want this feature, and so so that's the process, and that's that's the majority of what Python core team members are participating and doing.

Um yeah, is is that too rambling?

Carlton Gibson

We have a similar no no no, that's perfect.

We have a similar thing in Django, the Django enhancement perpetual deaths, and the the trouble is no one ever wants to write one.

And so it's understandable because it's hard to write, and it's and then you have to you get people nitpicking on every line and you get criticisms, and it it's a hard process to go through.

Um, but it seems at least from my perspective, it seems like it it's a necessary thing, right?

If you want to add a new feature, you have to explain the new feature.

So, from your perspective, how depth pep peps are a good thing, right?

Mariatta Wijaya

Yeah, uh well, so that's um now I'm interested.

Can I ask why if you don't go through depth, then how do people get these big features in?

Carlton Gibson

Well, that's the there's the there's the rubbish.

So things don't happen.

So so small features happen, and then then people are like, but we haven't had big features.

There's a lot, you know, Django rolls every release.

There's there's some nice new features coming each time, but for a while now it's been um like kind of stable.

Um and so that the there was recently a depth passed to add background task worker in, and that's progressing, and that needed a depth, and that was a big feature, but we haven't had many of those since say the async depth, which was you know half a dozen years ago, probably.

Um, and so we we really face at the moment this this this difficulty between like the need to explain the features and then the difficult, the sort of perceived barrier to entry of doing that.

And as someone who's in the Python world very closely, I was wondering on your take and like

Mariatta Wijaya

I think you just have to start doing it and make it a habit.

And I I really do think the PEP process is really useful.

If not, it really helps you articulate your thoughts, and you it helps, and additionally, it helps things to be decided more objectively because people, you know, the the steering council will make decisions based on this big documentation you prepare, the PEP, the proposal, where you outline everything.

Like they will not be reading through every single nitpicky discussion forum that's happened.

But if you you will have to summarize you know your thoughts into this documentation, this technical documentation, and because the steering council will be deciding just on this, I felt it's an objective way to really, first of all, document your work and an objective way to make decisions instead of randomly reading docs and just say, Well, yes, I think I gu

ess let's let's do this.

Like, why you do this?

There is no reasoning, or you can't pinpoint to a specific documentation saying we we are including this feature because Marietta says so.

Like, I don't know.

Yeah, yeah.

Mariatta Wijaya

With the PEP process, with the PEP documentation, you get to really review your ideas, your proposal, I feel more objectively.

Carlton Gibson

Okay, that's great.

Thanks.

Will Vincent

So there so there's 140 or so core members, and then there's the steering council of five people who are the deciders, right?

Is that that's the hierarchy of how decisions are made?

Mariatta Wijaya

Yes, so I think core core team members that we can decide on pull requests on our own, like just like before, even before the steering council um existed.

So the the steering council really decides most on the the final decider of the PEP, the the major major features.

Um we also, as I I think I mentioned before, we have triagers, triage members.

They also have like ability in the in the repo to label things, close things even.

Um and we have a lot of triagers as well.

And since the introduction of the triage team members, you know, GitHub gave it have this new feature recent on only recently, I think, maybe in the five years also.

Um we have a lot of new core developers who went through being a triager first and then eventually they got promoted to Python Core team members.

So that's that's a path to become core developer.

Carlton Gibson

I wanted to ask you, Marias, because I saw you um toot on um Master On a while back that that that you talked about um uh triager being promoted there, and you said something like that it there have been 20 men promoted since the last woman was promoted, and I think so.

I wanted to ask you about that and about diversity in the core team, and and how we might how what can we do to improve it?

Because as great as the Python community is and as great as the Django community is with shared values that we have there, like we still struggle to get women into those key technical roles, I think.

Mariatta Wijaya

Yeah, I think now we since I posted that to we probably have two more men promoted to Python core teams.

So it's the number is even bigger.

Um you're asking what we can do.

I don't know.

I've I've been I've been thinking I've been thinking about it for years.

I I think it's I think I know what needs to happen.

I don't know how to make it happen.

Like I I think it's it's going to need like an a more coordinated effort instead of just one or two persons trying, you know.

Um and it it's it's the same issue in the workplace as well, right?

It I think it's not just about why are why are there no women applying for jobs, but it's also the same question is why are women leaving the job, um, the tech industry?

Why aren't women staying enough?

And like why are women starting to contribute and then they don't stay long enough to become a Python core team?

I think that's the big question.

It's it's not that there are no women, it's not that there are no women in the world, it's that there are no women who can write Python code.

It's also not that women are not interested in writing and contributing to Python or open source.

I think there are other things like why can't why can't they continue to contribute?

Because contributing to open source and specifically to Python takes a lot of commitment.

It's not 30 minutes a day, it's not even an hour a day.

Okay, it's it takes a lot of free time because right now open source contribution is all is associated with volunteer work.

I think very few people most open source contributions are volunteer and free.

Um so why can't why are there a lot of more men who have the ability and privilege to be contributing to open source to the point that they get to be promoted, whereas women aren't doing the same?

Like what other barriers are there?

And how can we how can we break these barriers?

How can we make it we make it easier?

Um and I I don't know, and I I think it's not just about the external barriers, like some barriers maybe maybe if if women can get paid the same as men, maybe if we don't have maybe if we don't have to work twice as hard in order to be treated the same, we'll have the free time.

Maybe if we don't have to be caring for our children, I mean, not caring, like I think that came out wrong.

Maybe if we are not burdened, we don't have to be burdened with figuring out child care arrangement.

We will have that free time.

Um maybe if if the community isn't too toxic, like if if it's actually welcoming, um, if people aren't sharing inappropriate jokes in front of women, we will stay longer.

Like I I think it's not just like it's it's it's the those external barriers like workplace, life, but also us as a community.

How can we make this group more welcoming to everyone, not just to a certain group of people?

And there's just a lot of things that cost women not wanting or not being able to contribute for a long term to get to that stage.

And I I just don't know how to fix it.

I've been trying, I I tried at least by showing, at least I thought.

If I show, you know, present myself out there, if people can see that hey, these are if people say you're so inspiring, I want to be like you, that's I thought maybe that's good enough.

People will actually start trying, but maybe that's not actually good enough.

Carlton Gibson

Right, but you need that, you need the ins you need the inspiration, that's one thing.

That's the but you also need the community to be welcoming.

You talked about the internal to the community, so that's where things like the code of conduct are so important, and you

Mariatta Wijaya

know, yeah,

Carlton Gibson

it's still somehow not given.

And then the economics, right?

Mariatta Wijaya

Yeah, yeah, and I guess maybe as as the community, you know, you think of what you can do.

I know no one person can do all of this.

Maybe I can I can be the one from within the core team to try to see ways how the core team can be more welcoming.

Um, but I can't be the one giving women job, I can't be raising salary.

So maybe whoever has that power will do it.

Will Vincent

One thing I've noticed in the Django community, and I I'm curious if this aligns in Python is that many, if not most, of the contributors are are either or have a high degree of independence.

So they run their own consultancy or they work at a small startup.

It's not not very many, if any, people at big tech who are doing contributions to Django.

I mean, there's a number of people at places like Zapier or or something, you know, so that's a bigger company, but it's a little more consulting.

Um, I'm curious if that aligns in Python, because one of the things, as you said, is it it takes a lot of time to do this.

So you either need to have somehow the privilege to do it or your employer needs to be on board with it.

And I think even if you're at pick a Fang corporation, they're not really gonna want you to spend a couple hours a week on open source.

Um so I guess that's a that's a two-parter.

Is is is that mix similar in Python?

And um how do yeah, how do we overcome that, right?

Because the big salaries are at these companies, but they're the companies that don't um pay their employees to work on stuff.

So you end up at conferences, it's again, it's mainly from what I see, a lot of consultancies are small business owners who are doing the boatload of the work on Django.

Mariatta Wijaya

Yeah, well, that's an interesting perspective.

I I I use Django, but I haven't contributed much.

I think I have one tiny documentation PR to Django.

Um, but I feel it's a little bit different um demographic, if if I can even say demographic.

Um I now let me think.

Well, so first of all, I am also self-employed consulting, so I don't it's it's a tricky thing.

Like I don't get I can't build my clients for my time spent at open source in open source.

Um but I know there are actually quite a number of python core developers who are employed at larger corporations and they do like just like they do just python.

Um I think some of the people who work in Red Hat and Microsoft and Meta, um, I think they have a few full-time employees, like the whole Faster C Python team.

I think they are all core team members employed by Microsoft.

So I see a few actually we have a few people who are still in college or in school who became Python core developers recently in the last few years.

So you you really so that's another part, I guess, being a student.

You um you have the time.

So don't so maybe I'll say this don't think you need to be a CEO or CTO or whatever to become a Python core developer.

Okay, as long as you are willing and you're willing to spend time, you can you can get there.

Um but yeah, I think most of the people I interacted with in the core team, most of them are employed at larger corporations.

There are a few who have their own consulting, like myself.

I know there are a few others like that.

Carlton Gibson

This episode of Django Chat is brought to you by the Stack Report, my monthly longer form piece on application development operations and the process and business of making software.

It's my chance to go deeper on the topics that let you build a successful career in software.

I'm telling you what I think after two decades in the business.

Maybe there's some hot takes.

You can support the show and subscribe at buttondow.com forward slash Carlton or follow the link in the show notes now.

Will Vincent

Well, I think part of it is that um Django's not or a big company wants to, you know, if they're using Python, they want to have a say in what's happening, right?

Whereas Django, I mean, for example, uh Meta uses Django for Instagram, a version of it.

They used Django for threads.

There is no one that I'm aware of from Meta involved in Django.

Meta does not contribute to Django.

Um, and that, you know, is also the case in most of the other large corporations, even though we know they're using Django.

So they're just not there or contributing financially or in employee time in any way.

And so it's an interesting thing, right?

It I guess, you know, if they want to a lot of a lot of places might think that Python is Django, it's one and the same, and they want to just put put their money and resources in one place.

I think maybe it's that large companies often have their own fork of Django when they get to a certain size, and so feel like I don't know, they don't have to support it, but they're still probably using core Python.

Yeah.

Um that's interesting.

Will Vincent

But it's a very different dynamic.

And I I I asked that question in part because uh um Jeff Triplett, who we all know, was on the PSF for a long time, and you know, he's a small business owner, very involved with Django, and then for him seeing the Python dynamics, it's felt like a different world in that you have a lot of people who work at large corporations who the corporations are you know supporting them spending time on open source that in a way that I don't know anyone in Django has that.

Mariatta Wijaya

That's very interesting, and I I would trust you.

I don't know about for sure.

I would trust you if you say they probably have their own fork and they maintain it internally because

Will Vincent

well, I mean, I know they do.

We've we've had I mean I know I know Instagram does.

I know Instagram does for sure, and threads I believe use use their their version of it.

Um I feel pretty confident saying that many super large companies that that's what they end up doing.

Mariatta Wijaya

That's interesting that they rather spend those energy or whatever resources for their own private um, yeah.

Will Vincent

We had Carl Mayer, who I think is a Python core developer.

Yeah, yeah, yeah.

Will Vincent

He you know, he's talked about it.

He came on the podcast and talked about it.

And um anyway, so it just it's just an interesting dynamic, you know, because Django, right, we sit, we're like the little kid brother at the the big Python adult table.

Yes.

Right?

And and there's so many similarities on the one hand, and yet there are these cultural things like like this one, for example, of who's doing the work that are very, very different.

Mariatta Wijaya

I mean, this reminds me of when uh Meta was they have a fork of Python like for Cinder, and they they came to Python Language Summit wanting to merge it to to CPython, I think.

Um, but at least they they take that step to talk to core team members about their fork.

So it's it's interesting they don't do that for Django.

Like, why aren't they trying to merge that to Django?

Um I don't know, but I know, yeah, I mean recently Meta hosted us for Python Core Sprint, which is an annual event where Python Core developers get to meet and and sprint for the entire week.

So they hosted us.

They I know yeah, there are

Will Vincent

Yeah, if anyone's listening and wants to host Django, we'll take it.

We've talked about Django Sprints.

Mariatta Wijaya

Yeah, I that's that's yeah, I'm I'm also interested.

Will Vincent

I mean, and part of it is because when you're on the when you're on the inside of of the PSF in Python, right, there's all these budget constraints, and yet someone on the outside may think, oh, Django, you know, is equal, right?

Whereas Python has an executive director, it has a dozen or so team members, it has millions of dollars of donations, and Django has a budget of about $200,000 total and volunteers that run everything.

Um so there's uh you know, so I you know Carlton was a fellow for five years, I was on the board, neither of us are in those roles now, but so it can speak a little more freely, but it makes sense, but it's frustrating when people assume that there's these similarities when it's quite different.

Mariatta Wijaya

Yeah, I don't I don't know what to say about it.

Thank you for sharing this now that I know I feel I don't know what to feel.

Like it's good to know about this different dynamics.

And are they just okay, maybe just gossiping?

Like, is it because

Will Vincent

oh gossiping's fine, I like gossiping.

I mean, I so specifically like like so PyCon, right?

You so PyCon, so we've had previous executive directors of the PSF on the show.

You know, PyCon is a big moneymaker.

You've were just recently chair and you've done many things.

So we just came from DjangoCon US.

So there's DjangoCon US, DjangoCon Europe, there's now DjangoCon Africa.

They are entirely volunteer run, like 100%, which is kind of crazy.

You know, not the size of a PyCon, but still hundreds and hundreds of people and all these things.

Um so all of that is a way to ask you what was your experience like as a PyCon chair?

Because I've been to PyCon.

I think I went to the 2019 one in Cleveland, and it was you know, just orders of magnitude bigger than a DjangoCon, right?

So I can't even imagine organizing that, let alone sharing it.

Uh so I guess the specific question would be what's involved in sharing a PyCon.

Mariatta Wijaya

So PyCon US, so the PSF hires a few full-time employees.

So PSF has paid staff to organize PyCon US, people like Olivia Salls.

Um like she she does a lot behind the scene, and as the conference chair, I really more of more of the liaison, if I can say, like be the face between the PSF and the wider community.

So and my role was not paid, although I do want to share for transparency.

I did receive some kind of um gift donation.

I don't know what it's called, but I

stipend or something.

Mariatta Wijaya

I received for my three years serving as so one year as PyCon US chair, coach one year as PyCon US co-chair.

So as the co-chair I learned from the previous conference chair, and then as and then I ran, I did the sharing for two years, and for that whole time I received $20,000 USD from the PSF.

So I I I think people think everything is volunteer.

I want to share this for transparency, and this is something you will be able to check maybe when PSF files their taxes, you get to see a line, probably.

So that's that's what I get.

Um, but what it involved is just planning the whole thing, helping to help plan the conference alongside the PSF stuff, but I also give a lot of oversee the the design of it, like the the website, um, the graphic designs.

Um I actually try to review every comment or every um every page that goes out before they get approved.

Um every page on pycon.us.org.

I read it, proof, read it, click the links, just making sure it's good.

Um also give suggestions of improving the conference, like as as you know, the insider of it, I have that privilege.

Like I get to say, I want PyCon US to do this, I want to see this at PyCon US.

I actually get to not just wish it, but execute it.

So made made some changes to PyCon US.

Maybe I don't know if if people notice, but it is different.

It's different.

Yeah, yes, yeah.

Not yeah, everything's my head, but then I I I said I wanna do this.

They said, okay, just start doing it.

Um I also write blog posts for PyCon US, and I one of the things that I care a lot about is just doing outreach, I think, for me.

I don't think I don't know if if the other if they do a lot of effort on that before, maybe they did, but it when I sign up for conference here, it's definitely not one of the you know must-do or requirements, but the outreach effort was something I I do a lot, that I try to make sure people know about all of these travel grants, um about travel grants to attend

PyCon US because I know it's it's a really valuable experience and I don't want people to miss out on it.

So I talk a lot to people say there is a travel grant, don't miss out the deadline.

There are speaking opportunities.

Um, I encourage a lot of people to just apply and speak because it can elevate your career.

Um, like do a lot of yeah, all of this outreach effort was something that I just decided I wanted to do.

And I think in some ways maybe somewhat successful.

I don't know.

All I know is that this year we received um almost 1,000 proposals to PyCon US, like talk proposals, like 900 something, 980 or something like that.

That's never happened before, even before the pandemic.

Like we probably received 500 max.

So I think last year was 700 or something.

Carlton Gibson

You can ask how many accepted talks are there?

Mariatta Wijaya

I think only 120.

Um petitive, right?

Mariatta Wijaya

It is, but the the if you talk to any other program chairs, you might know, we love it when we have lots of good talks to select from.

So it's a good problem for conference organizers.

So it means you really get to build a really strong program.

Will Vincent

Well, I I wonder if I can ask.

So this is a Django podcast, talk about Django.

So you're as a Python representative, how do you see Django and the web fitting into what Python is doing and focused on these days, right?

Because obviously data science was huge, now it's all machine learning, AI, however you term it.

Like how would you describe sort of the mind share of the Python community right now?

Mariatta Wijaya

I don't know.

But I, you know, I think from the core team perspective, you might be right that Django is not as it's it's it's a third party to Python.

It's not even um connected well enough.

How do I say this?

But I use Django for work, and actually I've I've used I've been using Django since Django 1.4.

So that's my earliest Django.

So I I actually

Will Vincent

before before custom user models.

Yes.

Mariatta Wijaya

Did we even have migration back then?

Carlton Gibson

No no migrations open stuff.

Mariatta Wijaya

I I remember that I remember that pain.

Yeah yeah I I used Django for a long time so I I use Django to make a living so that I can contribute to

Will Vincent

the well let me ask you about that then so what uh how I don't know what to how what do you what do you think Django is doing right what do you think Django's doing wrong you know as someone who's using it professionally but isn't as embedded on the internal stuff as maybe Carlton and I have been

Mariatta Wijaya

I I think there are actually a few things that Python took is inspiration

from Django um the actually the steering council model that we have the Python steering council governance model was largely inspired by the Django community governance model.

If you read PAP 8015 I think that when when a 10 year old J Smith proposed this proposal like one of the things he said like this was inspired by Django community and we want to make um take the learnings and incorporate to Python so that's that is how Django has helped the steering council we helped the formation of the steering council

nowadays and which is the a model that we actually I think it's still working um we have six steering council terms already I think um yeah so we are paying attention and I think the the python developer in the residence model which is a paid staff role in the PSF to be cut as a core developer that

was also inspired by Django Fellows program.

Like I know they probably talked to you Carlton before they they have this role set up earlier so yeah we take inspiration um the other thing I wish we could take inspiration from and I don't know how to yet I really love what the Django not program is doing like onboarding having the captains um having people contributing through

this you know three months program I think it's such a great way to to mentor and onboard new contributors I wish we have it for python but I don't I don't know how so I I'm I'm watching I'm watching the Django Not space and see like how we can one day incorporate it to Python.

Will Vincent

So yeah I well I I I think it's been revolutionary for Django I mean in terms of just a new wave of of people and enthusiasm and and shining a light on what Django core people and fellows are doing because I don't I assume it's a little bit similar with Python, but I'm biased because I talk to Carlton all the time but most people I guess I would w wager that m I don't I'll put a number on it.

Like ninety five ninety nine percent of Django users have no idea that the fellows exist.

And then of those one percent that know about them, I bet it's even smaller subset could actually tell you what they do in terms of day to day.

So there's this information problem, right?

I mean and so one of the things the Django Knots have done is um there's double digit PRs merged into Django every week.

Right?

There's this idea that Django is boring and stale and nothing happens and yet stuff is happening all the time but some of the Django Knots are now putting that into the Django news newsletter.

Um you know I think in these technical communities we spend so much time doing the doing and you know talking and implementing code that when it comes time to marketing and showing appreciation for people who've done the work that gets kind of left behind.

And so I think one of the one of the many great things with the Django Not program is bringing in new people who are shining lights and doing the work and helping some of us who are still you know kind of like like Atlas holding up our little sections of of of the area um you know help us do more, right?

So some volunteers from Django Knots now have this whole section on the Django news newsletter on updates to Django, which is there in track or it's there on GitHub but nobody's looking at it.

Right?

So just someone taking the time and committing to putting it into a more um consumable form is such a great thing.

And and yet you know that kind of thing should happen more across the board.

This is something the fellows in the community is talking about how do we have more public attribution for our contributors.

Mariatta Wijaya

Yeah yeah I absolutely

Will Vincent

so yeah I get fired up say about Django Not it's like Django Not it's um yeah we just had a core group of people who came together and made it happen and I think in I think importantly some of them have you know one Sarah Boyce tur turned into a Django fellow like this idea like you said the commitment of open source I think this is one of the problems and Carlton has has talks on this the commitment is too much.

It's too much to expect hours and hours a week if it's not part of your day job at you know Microsoft.

And then also it it should be built in that you do it for a couple years and then you go to something else where you can contribute but you're not just like off the reservation right because that's also how it's kind of have been it's all all or nothing and yet I mean look at Carlton and me neither of us technically has a role in Django and yet we're still doing peripheral things.

Yeah.

Will Vincent

So I don't know where the question is on that but I just got fired up with you mentioning that program.

I think that's good.

Mariatta Wijaya

I and I I agree with you like there needs to be more feasibility of of the work we all do and and I I think it's the same issue with the C Python I think we all like assume at least the core team might be they assume that well everything is open everything's on GitHub if you want to know then just go

Carlton Gibson

just on GitHub just on GitHub yeah

Mariatta Wijaya

no it's not enough you need to make sure information reach people and they don't go to Git

Hub so we need to spread news I so I really like the newsletters that you all have the Django news is is really a good way because people people read blogs they don't read GitHub issues they read blogs they have RSS they have podcasts right that's that's the format that people consume and we need to just provide all of this to the community so ye

ah I I I like what you all are doing in Django so

Carlton Gibson

speaking of podcasts and things we like you doing I want to talk about your podcast Maria because you've started a new one um it's the Pycats right Pycats

Mariatta Wijaya

Pie Podcats so we have a new pod we have a card it's actually almost a year old um and it's not just myself it's actually initially started by a few people like um Chuck Chuck Ting and Georgie Kerr and

Teresa like I think they started having this vision of like let's let's have this podcast to to have more diverse voices just to make sure you know the Python community hear more about all of these great people because maybe they are maybe they're shy maybe they are not on social media or whatever but doesn't mean they don't do great work and what can we do to

make sure we all learn about all of these great things they are doing their contribution impactful contribution to the Python community and and I'm actually the last member of the team like they they ask if I want to help out I said yeah okay let's I care I do care a lot about it and I've been helping out as well so now it's four of us it's called PyPodcats Hidden Figures of Python um where

we interviewed lots of people um in the community so far we interviewed mostly women but we have plans to include even more people in the next season so in this season we interviewed people from as far as um Ireland Dublin we have Mona from the Philippines um who like M

ona is a high school teenager who who does python and she teaches other teenagers, other high schoolers python.

Like it's it's um incredible.

I was playing video games when I was of age, so like it's really inspiring to learn about Python.

Um that's these are the kind of people like most I don't know if you talk to Python core team, they don't know about this, and that's what I'm trying we are trying to do, like just making sure you know about the diverse community members who are doing great work.

So this anyway, um we have lots of episodes out already.

Um you can visit pypodcasts.

And we are available on we have RSS feed, so you can listen to Spotify, Apple, Podcast, YouTube podcast.

I don't know.

All of them, all of them, wherever you get your podcast.

Mariatta Wijaya

Yes, it's it's RSS feed, so yeah, just put the URL there.

Carlton Gibson

Super, you talked about highlighting things, like the same with the um the jango knots that we were just talking about.

That it strikes me that the what there's two aspects of one is showing that like you being you know in the core in the Python core team and being a visible member of the community, to highlight members of the community, it helps bring others in.

It's not oh, it's not just a load of white men, it's it's it's more diverse than than it otherwise would look.

But as well, it gives you know, particularly with the Jenga Nauts, they get out of it, they get something concrete that they can point to and said, I did this, and then it perhaps gives them a chance to get that that opportunity or that job or that thing that that gives them the chance to earn the salary that then gives them the time to contribute back, and you know it's it's it's priming the pump from that from that perspective.

Mariatta Wijaya

Absolutely, and that's that's also one of the reasons I I continue to contribute to open source and python.

Just I know as a woman, as um, you know, person of color in in America, you know, as someone who looks foreign and have foreign name, has foreign accent.

Like I know I am when my resume comes, it's probably not going to be the first one people see.

Right?

Let's let's admit it, it's true.

But being able to say, hey, I spoke at conferences, I contribute to open source, blah blah blah, that adds up, making me having a higher chance of getting hired.

And I I do find that you know my career really have improved a lot after, you know, after becoming a Python core dev.

So and I want for more people to have this this same opportunity.

And it so yeah, I I'm continuing to do it because I know it benefits me, but it also can benefit lots of people.

Carlton Gibson

Um yeah, and it's not it's not just about diversity hiring as uh as well.

It's like I've given talks on um why you contribute, why contribute to open source, and it was exactly the same for me, you know, white man, etc.

Like when I started contributing to REST Framework, the the the the hiring dynamic with companies just radically shifted overnight.

Instead of it was oh, oh, can you do this?

Are you any good?

It was like oh yeah, you're maintaining the package we're using, and the conversation is radically different, and that that's available to everybody.

Now, I obviously you know I perhaps have advantages that aren't to that everybody doesn't have, but if you can find the time, if you can do it, then it does open doors.

Mariatta Wijaya

Exactly, and I I yeah, I totally can relate to your experience.

Totally agree.

Will Vincent

Yeah, well, I know we're coming up a little on time, but I I have to ask you a Django question that's a near and dear to Carlton in my heart, which is so um uh user authentication, user models.

Do you how do you like to do it, right?

Because there's do I just gave a talk on this.

I don't mean to put you on the spot, but I know you must have an answer, right?

So there's one camp of people who uses the user model as is uses and maybe uses a user profile model.

There's another camp that likes to use a custom user model and put all the attributes on there.

And then I would say there's a third camp that just goes abstract base user and just writes it all from scratch because they're hardcore and they have a a way that works.

So my question to you is what is your what is your preferred method of handling a user uh if you have like a Greenfield Django application?

Mariatta Wijaya

Okay, I think now and this might be because I I just went through this recently.

For now, I might want to have a custom user, which is option two that you mentioned.

Custom user and extended and have like additional things, but still like related to the user, uh the built-in user.

I regarding I need to learn more about this idea of abstract user.

Typically, I'm a big fan of the the ABC module of Python.

There were times that I wished instead of mixing, we used the ABC abstract based class module.

So I the reason I didn't say I'm going to use abstract user model is because I haven't seen it.

At least in my code bases, I haven't seen people do it.

So maybe if I see a good pattern of it, I will be open.

But that's I think it's less common.

Will Vincent

But maybe it's just people, maybe it's just people at Django Cons and that I talk to who are like, oh yeah, I just do it that way.

Mariatta Wijaya

Yeah, just just from normally I'm a fan of ABCing things.

So maybe if I see more of this example that you all are doing, I will be learning and and trying.

For now, yeah, I I'm I'm using the custom user model path.

Carlton Gibson

Okay.

Will Vincent

I think most people are.

Yeah.

Go ahead, Carlton.

Carlton Gibson

So the Python 3.13 has just been released like yesterday or today as we're recording this now.

What's your favorite feature in recent Python's?

Will Vincent

I'll I'll take that to start.

I I'm excited about the fact that gitignore files are now uh now automatically.

What is it?

Oh, I gotta look it up.

Will Vincent

They they they get rid of the environment variables, the.m file, right?

Uh I gotta look it up.

Br Brett Brett Brett Cannon did this, but it's it saves me a step teaching people

Carlton Gibson

virtual environment folders will now be git ignored by automatically.

So you get a little.getignore file inside them.

Will Vincent

Yeah.

Well, because I know Brett was asking a while, I guess a couple years ago now, you know, how do is there a standard on what people call their virtual environment folder, right?

Because there's some people like to do dot vemv, some people like to do vem, some people like to do, you know, myenv.

It seems like one of these things that does do you do do we need to be do we need to express our in individuality through the name of our virtual environment folder?

Like it seems like it could be like a standard.

I I don't think it's fully decided, but you know, Carlton's laughing.

This is one of those things, right?

It's frustrating, right?

Because especially for me, like dealing with beginners, they ask me these questions and there's like buckets of like, oh, this really is important, like how you handle your user model.

But like, what do I name my virtual environment thing?

It's like, it really doesn't matter.

Like, what do I name my Django project, right?

You know, start project, what do I call it?

Like it's hard to.

I wish I could just like put a flag on things and be like, this doesn't matter, you just have to make a decision, and this really matters, don't mess this up, right?

Because yeah, naming your virtual environment or naming your your project really don't matter, but it all seems like one big mass of confusion when you see open source packages doing it all differently.

Um I don't know.

Mariatta Wijaya

Well, so I'm a weird person.

When I see new features, new releases, I look at what's getting deprecated.

Carlton Gibson

Right, okay.

What's your favorite deprecation mean?

Well what you're glad to see the back of.

Will Vincent

I like that, yeah.

Mariatta Wijaya

No, uh well, because new new features means because of the reason you know Python maintains you know backward compatibility for like two two years at least, right?

New features don't affect me in you know at work as much, but things get removed that will break my code.

So that's why I look at deprecation first.

Um there is an interesting new thing called um, I think PEP 702, it adds warnings.deprecated, in which can be used by static type checker to denote that it is being deprecated.

So it's it's interesting.

But I think there are there are quite a number of things being removed or new the new deprecation warnings being raised, and I think people should know for now when Python starts to say we're deprecating, we we when we start raising deprecation warning in Python 313, it means in 315 it could be removed in two years.

So if you are using certain things that starts emitting these warnings, don't wait two years to remove it.

Start now and start upgrading your code, start changing so that when it's really, really gone in 315, in two years, you're not scrambling.

So my advice is go look at what's new in Python 13, look at all the new features, lots of great new features.

Like um, I think the JIT flag is there now, the free threading.

I know lots of people are super excited about it, but also look at the new deprecations and start adjusting your code and upgrade.

Please upgrade your Python.

Will Vincent

That's my that's my favorite like Jedi answer to that question I've ever heard.

I need to steal that.

Like when someone's like, What did you like that's new in Django?

I'll be like, let's talk about what was taken out.

Carlton Gibson

I've just scrolled down on the page now, and just it makes me feel old.

HTTP server, deprecate the CGI request handler.

So this code was outdated, unmaintained, and rarely used.

It has a high potential for both security and functionality bugs.

I do,

Will Vincent

I do.

Carlton Gibson

I CGI was like, you know, yeah, my bread and butter.

It was I feel I I'm gonna let a tear shit drop for that one, but it's probably good.

Will Vincent

Well, we could keep talking and talking.

Is there anything we haven't mentioned that you wanted to bring up?

I know you have your consultancy, CMD Limes, or over to you.

Is there anything you want to mention or discuss before we head out?

Mariatta Wijaya

Yeah, CMD Limes is pronounced Command Limes is a new consulting command lime.

Will Vincent

That makes more sense.

Mariatta Wijaya

It's a new consulting company that is actually founded by three women in Python and Django, who you might know, uh myself.

Uh so CMD stands for Chuck, Marietta, and Dawn.

So CMD.

And we like this name because when pronounced like command, it's it's it's to show that we are leaders in the Python community.

Um to show like this is the branding of us.

But we just we just created it.

We haven't had the time to actually like have a coming out party.

You know, we haven't formally launched, have a big announcement saying, hey everybody, here's our company.

Um we haven't done that yet, but maybe this is it.

Um yeah.

Um but you can check us out.

Basically, what we do is we're Python and Django Consulting Company.

We have, as you might have known, we have people experience a lot in Python and Django and infrastructure and DevOps kind of thing.

We are open for work.

Will Vincent

All right, and there's a website that we're gonna link to down below.

Yeah, CMD Limes.

The next time we have you on, there's a whole discussion about consultancy that you know Carlton will get fired up about.

Um, but you can let us know in a you know a year or two down the line how it's all going.

Because Carlton cut his teeth as a consultant for

Mariatta Wijaya

many, many years.

I feel like I need to learn from you all because I'm I'm new at this, and that's why like we haven't we haven't successfully launched it.

Feels like there's a lot to learn.

So that's why

Will Vincent

But you're doing it the right way.

You're starting with a reputation, right?

Carlton was just a phil philosop you know, philosophy PhD who was doing it, and then he got involved with open source, and then he became you know the Carlton Gibson that we all know and love.

Carlton Gibson

I don't know.

I'm not sure I'd describe it all like that, but yeah.

I s I started with my suit, I started with my suitcase under my arm and went round and knocked on doors.

Mariatta Wijaya

I I think reputation is one thing for sure.

I I know I know we have that, you know, that bit, but I think we need to do more marketing and you know more marketing probably, advertising.

Will Vincent

Well, this can't this counts.

This counts, right?

It's a it's an excuse for the rest of the fun discussions, right?

We'll just put that in there.

Will Vincent

You'll people find out about it.

Mariatta Wijaya

Well, thank you for letting me talk about it.

Carlton Gibson

It's been really good.

Thank you.

Mariatta Wijaya

Yeah, thank you for having me.

Yeah, really appreciate this opportunity to appear in Django chat.

Will Vincent

Yeah, well, and we we said at the beginning, I don't I think we weren't recording yet, that although both of us know of you, certainly, this is the first time we've had a conversation.

So that's one of the wonderful things about the podcast is you know, people we look up to and admire, we get to to meet and have a discussion with and and share that discussion with other people.

So yeah, thank you for taking the time.

Mariatta Wijaya

Thank you, thank you.

Will Vincent

So we are at DjangoChat.com and we'll have show notes with links to everything and new episodes coming soon.

Bye bye, everyone.

Bye bye.

Carlton Gibson

This episode of Django Chat is brought to you by the Stack Report, a monthly longer form piece on the application development, operations, and the process and business of making software.

You can support the show and subscribe at buttonow.com forward slash Carlton or follow the link in the show notes now.