[Node.js] Stepping down as Node.js Maintainer in Fedora

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux