← Back to Show Notes

Transcript: Breaking Django

Will Vincent

hello and welcome to another episode of django chat i'm will vincent joined by carlton hi carlton

hello hi i will hi and we were just talking about the fact that carlton broke django the other day

oh well that's and we thought we might share how one does that and give a peek at the insides of

django so carlton how did you break django and how come i didn't notice it until you told me

Carlton Gibson

oh well that well you know because they recover quickly it's the main it's the main point so i was

releasing some builds django uh 2.2 beta 1 django 2.1.6 maybe 2.0.11 maybe 2.1.11.17 maybe um and

something went wrong with the packaging so we run um we use uh setup tools and run setup.py

which is get to build the

source distribution which we then upload to the python package injects pypi and for

three of those four releases all but the 2.2 beta the the files that went into the package

weren't correct there was some files from master or from the 2.2 branch which just shouldn't have

been there and so when people downloaded those tried to install them and run their unit tests

Will Vincent

they just they weren't so people trying to download the latest version right after you

Carlton Gibson

would have yeah right after so they

they see the release announcement

Will Vincent

they automatically yeah i saw it i didn't well yeah i saw the release announcement but i didn't

Carlton Gibson

go ahead and download it right yeah and so within about half an hour of the releases being released

there's two three tickets opened on the django issue tracker okay this is a duplicate the first

one this is a duplicate the first one whoa i'm on it fix it um i then spent i don't know an hour or

two hours trying to reproduce the packaging error i couldn't do that i have no idea what went wrong

there's some git weirdness is all i can um presume um and then i created new versions and i uploaded

those to pi pi and all was fixed and so the reason you didn't notice is because you weren't right

there there and then trying to upstall it was only two three hours in between the broken builds

being uploaded and the new releases replacing right well yeah because i remember when we you

Will Vincent

know we spoke i think the day after and i was like oh what's new and you're like oh i broke

django it blew up my day you know yeah no because like most people

i think i was like oh i didn't notice but glad you fixed it yeah it totally took up the afternoon

yeah so how um i think it's a good chance for people to you know so you're you're one of two

django fellows so to talk about why you have the authority to break django uh right or the

hierarchy right because django is a community but you as the django fellow you and i mean tim

graham historically are in charge of releasing the new versions right so part of part of our role is

Carlton Gibson

is to release Django.

I mean, there are a few other people in the community

do it and have got all the right keys and access permissions and all the rest but it's tim and i

who do it as part of our fellow responsibility there's two reasons i guess for that one is it's

um it's it's a job it's laborious it's it you know it requires work and two it's moderately

complicated so it's not something you have to pay attention and if you don't pay attention

things can go wrong and you know i'm not saying i wasn't paying attention when i did this but

you know things do go wrong and you need to be on hand so it's better that it's done by a fellow

than a volunteer contributor who might be able to do one release and then but what if it goes wrong

maybe they haven't got the capacity to follow up with a follow-up release or right the day job gets

Will Vincent

in the way because the and i mean how and actually i don't know how long have django fellows been

around because that's pretty recent about four years four years so only within the last four

years has there been part-time pay for volunteers who've otherwise done this laborious work of just

the release part

Carlton Gibson

well no but it's not just the release park it's triaging tickets it's which is

well right that's the main part of the work is every day there's three four five new tickets

on django are these legitimate tickets what are we going to do then there's reviewing the patches

which again is hard work and then merging them in and making sure that they're backported to the

right branch you know if there's a if there's a bug fix then that will get bug backported to the

latest stable release branch if there's a security fix then that gets backported to all the supported

branches and these kinds of things.

Will Vincent

So this is all the glamorous, the glamorous.

Carlton Gibson

side of yeah it's not so i mean it's fine it's not you know they they are the bits that wouldn't

get done on a project of django size if it weren't for the fellows um yeah this is where projects

fall down it's not that people aren't willing to write code it's that people can't triage the

tickets and people can't just keep you can't do it on a volunteer basis so you know there's lots

Will Vincent

of open source projects that wilt because of that yeah yeah well and that's um yeah i i don't know

how people do it i mean even just i have a a repo awesome django that i'm still in the process of

trying to plug into the awesome repo repository and um the maintainer he's been you know very

helpful but it's you know i've just been busy and um yeah the goodwill goes away at some point it's

nice to have you know a little bit of a paycheck to grind through the things that one has to grind

Carlton Gibson

through on yeah i mean it's just it's absolutely unrealistic to expect people to maintain an open

source project

indefinitely for free you know want to have one side project that you maintain no problem but

to keep a big project going it's not going to happen people used to describe django as the

meat grinder and because it would get you know you new contributors would come along and they'd

get eaten up by the meat grinder and they'd say oh we need some fresh meat for the meat grinder

Will Vincent

this was a mini django chat episode we plan to do more of these in the future around timely events

so rest assured if carlton breaks django again you'll hear about here

see you next

time.