Programming languages: Python's new developer in residence and their 'make-it-or-break-it' role
The enormity of the Python project means it has accumulated a sizeable backlog of issues over the years. The project's recently appointed developer in residence speaks to ZDNet about how he plans to tackle the challenge.
Running a project as big as Python is a huge undertaking. With more than a million lines of code, the programming language relies mainly on volunteers to keep it running and introduce new features.
But Python's nature as a community-driven project brings its own share of problems. With thousands of independent programmers adding their own code to the project, bottlenecks are easy to accumulate and for issues to go unnoticed.
"If you are a volunteer and you spend your own time on a thing, a project, as part of Python, you're going to want to work on the thing that interests you personally. It's only natural," says Łukasz Langa, who in July was appointed by the Python Software Foundation (PSF) as the new Developer in Residence for CPython.
"You cannot really ask another contributor or force anybody else to work on that thing that you find important because we are all volunteers. So it's all driven by consensus."
In the recently created role, which Google is sponsoring, Langa will act as a steward for the Python project, identifying problem areas, reviewing code, and sifting through the piles of pull requests that have amassed on the project's GitHub page.
"It's a gigantic backlog to look through, so just having somebody who does this review work already multiplies everybody else's impact," Langa tells ZDNet.
"We have 1400 open pull requests. I'm focusing on getting that number down or making sure that other contributors have a better experience. This is not just burning through the numbers, but also getting a feel of parts of our workload that needs improvement."
Langa, a former Facebook developer, based in Poland, likens the Developer in Residence -- or DIR -- role to that of a janitor: It's not the most glamorous work, but somebody's got to do it. "As in every working society, somebody has to take out the trash; you need to provide the electricity for everybody, and so on and so on. There are a number of things that have to happen regularly," he says.
That's not to say that Langa is unenthused by the role -- far from it, in fact: "I'm not sure if there would be anybody who wouldn't be excited in my position. It's easy to be excited about this."
But it also means more effort is needed to ensure the project maintains autonomy and isn't steered by corporate influence.
The DIR role is, therefore, an effort to ensure that PSF has someone helping to steer the project centrally, taking on feedback from the community to identify problem areas, while also dealing with backlogs so that more time can be spent on introducing important features and changes to Python.
"The most important thing, really, is to have visibility into which parts of Python need the most help, the areas that have the most issues. Even if they're not open at the time, we need to see what parts of Python generate the most churn," says Langa.
"We want to see where the most pull requests are coming [from], and we want to see where most pull requests are getting stuck -- for example, because the library they're targeting doesn't have a maintainer within the team."
Having a developer working on Python full time is also crucial to keep it in step with other programming languages that are either already highly successful or are quickly gaining traction.
"It's very important to really stay relevant -- having all those corporate-driven new languages like Go and Swift and Rust, [which are] actually gaining traction super quickly because there is a driven team behind them in each case," says Langa.
"It shows that butts in seats for eight hours a day really changes the game…There are a bunch of things that are kind of boring, or necessary, or just have to be applied on a regular basis. It should happen in a healthy project, and we were kind of lagging behind on those things."
Transparency will play a large part in the DIR role. On top of writing reports for PSF on the work he does, Langa is also posting weekly reports to his own blog to keep the community updated with his progress and keeping Python's GitHub repository up to date.
He appears particularly conscious of this level of visibility: as the first person to have been appointed to the role, there is no shortage of pressure. "This first year really is make-it-or-break-it for the entire idea; whether it's successful will potentially shape the future of this kind of sponsorship for language development," says Langa.
He's also under no illusion that he has the answers to all the questions and acknowledges that there will be a degree of trial and error to the role. "I don't claim to be able to fix all of Python. But it is the first step, and it is part of where I can multiply what other people are already doing," he says.
"This is the first time we are doing something like this. I'm open to feedback -- that is the good part of it all being transparent and out there for anybody to see."