tl;dr: I'll be stepping down from maintaining the nodejs22, nodejs20 and nodejs16 packages in Fedora, effective June 30, 2024. I will continue to maintain libuv.
It's been a hard decision to come to, but I think this is the correct decision for me. I've been effectively the sole maintainer of Node.js in Fedora for nearly a dozen years now (apparently, I landed the first official package in Fedora on Dec. 18, 2012). It has been a long, long road.
I first picked up Node.js because it was being added as a new dependency on a package I maintained at the time: Review Board (a Django-base code-review application). When I looked into it, I discovered that others had tried - and failed - to package Node.js previously, but Fedora's rules at the time were *very* strict with regards to carrying bundled software and Node.js upstream at the time had a build-system that pretty much only allowed bundling. It took quite a bit of effort to work through that, but we got there in the end and I was able to deliver Node.js 0.8 as the very first version to ship as part of Fedora. It's been a wild ride ever since.
For a long time, Fedora carried a single version of Node.js - whatever was the latest version destined for LTS status at the time that Fedora version would be released. Then, along came... Modularity. As you may know, I was heavily involved with the design of Modularity. Node.js in particular was something I viewed as a perfect consumer of this new packaging mechanism: it gave us the ability to ship all versions of Node.js in Fedora (not just the LTS ones) in a way that could be packaged in VMs and (new at the time) container images without needing to modify the way the applications were launched.
Sadly, as you probably know, the implementation of Modularity fell short of its lofty goals and has largely been relegated to the dust-bin of history. When it became clear that Modules were going to be dropped from Fedora, I took on another big packaging exercise: DE-modularizing Node.js. Rather than go back to the "single Node.js version in Fedora" approach, I moved to a hybrid approach where we would have a single "system" version of Node.js LTS like in the older style, but we would also package the older (and newer!) LTS releases in a non-default arrangement, similar to how Python packages are delivered in Fedora. I've been doing it this way for a few years now, and while there have been some bumps in the road around major-release upgrades, it's been overall quite workable.
Recently, the Node.js downstream maintainers made some additional improvements in Node.js 20 to unbundle some previously-precompiled WASM code into their own packages which build it properly. This is great! Unfortunately, it has introduced some new issues with the non-default version in the release (as many of you probably saw last week). We sorted this out by temporarily re-bundling the WASM in the non-default versions, but this is really a stop-gap solution.
It's not a huge issue, but it took a big chunk out of my week to get that resolved and in doing it, I came to an important realization: I'm burnt out. I took a moment to think through it and realized that I don't actually *use* Node.js anywhere anymore. I've been maintaining it for so long that it's become a habit, but I'm not a real consumer of it. I've sent requests in the past to fedora-devel asking for comaintainers, but I've never actually had anyone step up, so I've just kept going.
So that brings us to today and my decision to step down. It's been a wild ride, but I need to step away and focus on other things. I hope someone out there will pop up and take over for me. I'm perfectly happy to train someone on how I maintain the various versions, but my time as a maintainer is coming to an end. I'll keep things going for another month, but after that it becomes Someone Else's Problem.
If you read this far, thanks for suffering through that rambling journey.
As the downstream maintainer of NodeJS, I want to express both thanks and deep understanding of your situation. Especially with the de-modularization effort, your work was always a godsend for us.
Take care and good luck! -- Jan Staněk Software Engineer, Red Hat jstanek@redhat.com irc: jstanek
I can also understand your choice and thank you for your many years in keeping it going.
On Fri, May 31, 2024 at 8:51 AM Jan Staněk jstanek@redhat.com wrote:
As the downstream maintainer of NodeJS, I want to express both thanks and deep understanding of your situation. Especially with the de-modularization effort, your work was always a godsend for us.
Take care and good luck!
Jan Staněk Software Engineer, Red Hat jstanek@redhat.com irc: jstanek -- _______________________________________________ nodejs mailing list -- nodejs@lists.fedoraproject.org To unsubscribe send an email to nodejs-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
On Wed, May 29, 2024 at 11:32 AM Stephen Gallagher sgallagh@redhat.com wrote:
tl;dr: I'll be stepping down from maintaining the nodejs22, nodejs20 and nodejs16 packages in Fedora, effective June 30, 2024. I will continue to maintain libuv.
Just a reminder that I will be orphaning the nodejsXX packages in a little over a week. As of yet, no one has requested access to take it over. If anyone is going to do so, I encourage you to do it soon if you would like my help coming up to speed.
Hi Stephen!
Stephen Gallagher sgallagh@redhat.com writes:
Just a reminder that I will be orphaning the nodejsXX packages in a little over a week. As of yet, no one has requested access to take it over. If anyone is going to do so, I encourage you to do it soon if you would like my help coming up to speed.
Unless any brave hero appears from the weeds, I'll be taking them. Right now I see no way on Pagure to request ownership/co-maintenance (maybe I'm just blind). Anyway, feel free to add me to maintainers and/or transfer the ownership.
As for getting up to speed, unless you've added anything new in the last month or so, I think I'm good. -- Jan Staněk Software Engineer, Red Hat jstanek@redhat.com irc: jstanek
On Mon, Jun 24, 2024 at 4:07 AM Jan Staněk jstanek@redhat.com wrote:
Hi Stephen!
Stephen Gallagher sgallagh@redhat.com writes:
Just a reminder that I will be orphaning the nodejsXX packages in a little over a week. As of yet, no one has requested access to take it over. If anyone is going to do so, I encourage you to do it soon if you would like my help coming up to speed.
Unless any brave hero appears from the weeds, I'll be taking them. Right now I see no way on Pagure to request ownership/co-maintenance (maybe I'm just blind). Anyway, feel free to add me to maintainers and/or transfer the ownership.
I've added you as "admin" to nodejs18, nodejs20, nodejs22 and nodejs-packaging.
As for getting up to speed, unless you've added anything new in the last month or so, I think I'm good.
Just the hacks I threw in to bundle the wasm stuff again, since that still needs to be sorted out for the default and non-default major versions.
On Mon, Jun 24, 2024 at 10:40 AM Stephen Gallagher sgallagh@redhat.com wrote:
On Mon, Jun 24, 2024 at 4:07 AM Jan Staněk jstanek@redhat.com wrote:
Hi Stephen!
Stephen Gallagher sgallagh@redhat.com writes:
Just a reminder that I will be orphaning the nodejsXX packages in a little over a week. As of yet, no one has requested access to take it over. If anyone is going to do so, I encourage you to do it soon if you would like my help coming up to speed.
Unless any brave hero appears from the weeds, I'll be taking them. Right now I see no way on Pagure to request ownership/co-maintenance (maybe I'm just blind). Anyway, feel free to add me to maintainers and/or transfer the ownership.
I've added you as "admin" to nodejs18, nodejs20, nodejs22 and nodejs-packaging.
I also went ahead and gave you "main admin" for those packages. Thank you for taking over.
As for getting up to speed, unless you've added anything new in the last month or so, I think I'm good.
Just the hacks I threw in to bundle the wasm stuff again, since that still needs to be sorted out for the default and non-default major versions.
nodejs@lists.fedoraproject.org