I want to propose promoting Erlend Aasland as a core developer.
- Promote Erlend Aasland
- Don’t Promote Erlend Aasland
I have been mentoring Erlend for more than a year and a half. This promotion is actually long overdue but unfortunately, this year has been very difficult to synchronize together to prepare the promotion and Erlend asked me to wait a bit when I last offered to promote him in August 2021 as he wanted to gather some extra experience and he had to sort some personal things. With this I am trying to say that Erlend has been ready for a core dev promotion for a long time and he has actually been acting as a de-facto core dev for more than a year.
Erlend has been contributing to CPython since 2019 and he has more than 270 commits in the main branch (even more counting maintainance branches and other related PRs) and he has reviewed over 210 pull requests from contributors. Although he has been doing other very valuable work, I think these numbers speak for themselves.
In particular, Erlend has been putting a lot of effort into improving and fixing the SQLite module, doing different very valuable work. His contributions here range from new features to fixing all bugs, to improve maintenance and modernising the code with the latest upstream developments.
During his contributions, Erlend has proven an excellent variety of technical skills, a very good eye for details, a lot of care for maintenance and backwards compatibility and he has been very responsive when some of his PRs have broken the buildbots or had unintended consequences.
Working with Erlend has been an absolute blast and I have enjoyed every moment of it and I have learned a lot from him as well and I am sure many other core developers had the same experience. I think he is as ready to be a core developer as anyone can be and I only regret not being able to promote him earlier
Statistics
- Merged PRs: Search · is:pr is:merged author:erlend-aasland archived:false org:python · GitHub
- Reviewed PRs: Search · reviewed-by:erlend-aasland -author:erlend-aasland archived:false org:python · GitHub
- Involvement in issues: Search · involves:erlend-aasland archived:false org:python · GitHub
Selected contribution highlights
- PEP 670 – Convert macros to functions in the Python C API (Accepted)
- PEP 687 - PEP 687 – Isolating modules in the standard library
(submitted to the SC) - Sqlite3 maintainance (there are a lot of improvements to list individually here, please check the what’s new document of 3.10 and 3.11)
- What’s New In Python 3.11 — Python 3.11.7 documentation
- What’s New In Python 3.10 — Python 3.10.13 documentation
- A considerable amount of under-the-hood improvements to sqlite3 (improve error handling, get rid of segfaults and other bugs)
- adapting sqlite3 to use module state
- helping Christian with modernising our Autoconf code (work in progress)
- Helping adapting extension modules to multi-phase init (mmap, queue, array, _sre, _multibytecodec)
- Allocate CAPI on heap for unicodedata, socket
- Add Py_TPFLAGS_IMMUTABLEFLAG (was 3.10 release blocker)
- Add full GC support to a bunch of extension modules (was 3.10 release blocker)
- Help resolve the “disallow instantiation” issue (was 3.10 release blocker)
Post-promotion mentoring
As it was done in previous promotions we will continue to mentor him for one month after his promotion (if it’s accepted) to help him to deal with his new responsibilities, and we plan to require him to ask us before merging anything until he will be used to the process.
Vote process
As a reminder from PEP 13 regarding voting rules:
It is granted by receiving at least two-thirds positive votes in a core team vote that is open for one week and with no veto by the steering council.