[policy, no patch] Maintenance of JS in core

Created on 21 October 2020, over 4 years ago
Updated 15 May 2025, 2 months ago

From #3176918-21: [policy, no patch] Publishing / Maintaining JS libraries produced by Drupal that do not have a dependency on Drupal

this isn't really an issue with JavaScript - our problem is really the opposite that it gets stagnant in core.

I would add that when there is a momentum it is very easily stopped (for various reasons) and "simple" tasks end up taking years to complete. The situation with how JS is handled as a whole in core today is not simply frustrating, it is not sustainable.

Problem/Motivation

  • It takes too much effort to get JS changes reviewed and committed
  • The amount of effort necessary to keep momentum going on large JS issues is hard to justify for volunteers

We can see that for the last few years, all "large" JS contribution/feature/refactoring have been from paid/sponsored contributors while other important 📌 Add once.js to core Fixed issues are stalled because they are not the priority of the entities paying contributors.

The maturity of PHP and JS is very different in Drupal and while on the PHP side there has been a reckoning and people grew together over the years to get better it has not been the case for JS. The problem is that now the same expectations of maturity apply to JS without all the growth and people (core js folks is still pretty much the same volunteers for a number of years and 1 or 2 person from Acquia drupal acceleration team).

The following topics are pain points and resolving them would make maintaining JS in Drupal more sustainable and help us make sure it's still possible to contribute meaningfully to core JS as a volunteer:

The heart of the issue for me is that we can't seem to keep any momentum on JS work. The topics listed above would help reduce friction for people to contribute and would help getting more contribution in the queue, that doesn't mean we'll get more things committed.

Proposed resolution

We need more committers with a "hands-on" approach on JS issues, there are some very big changes necessary to remove jQuery, open up Drupal to the larger JS community and I don't see how it'll be possible to do that in the current situation.

What would help:

  • Add 1 or 2 core committers dedicated to JS (they need to be "hands on" to some extend, taking part, and initiating topics)
  • Have a much higher commit frequency (help work going on smaller JS issues to get more people or remotivate existing contributors)
  • Reduce expectations for JS patches on the short term (to increase commit rate and have more people involved) and raise expectations progressively (we'll need to define and advertise the different milestones)

Reducing expectations would possibly add more bugs, but higher commit rate can help mitigate that problem, also it would give an opportunity for novice by having smaller high impact bugs that help onboard and hook new people. I think the memories of ViewsUI breaking after JS patches can explain some of the aversion to JS changes, but we need to find a way past this. The situation is different, and what we need to do to keep Drupal relevant requires significant changes.

🌱 Plan
Status

Postponed: needs info

Version

11.0 🔥

Component

javascript

Created by

🇫🇷France nod_ Lille

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇳🇿New Zealand quietone

    There are 3 proposals in the issue summary
    1. Adding committers
    Core governance allows committers can be added at any time, once they are identified. Currently, the JavaScript APIs are the responsibility of the Frontend Framework Managers. My question here is this point about finding people or about changing governance?

    2. Have a much higher commit frequency (help work going on smaller JS issues to get more people or remotivate existing contributors).
    This seems to be about issue scope. This needs more detail so that reviewers and maintainers understand how to scope JavaScript issues?

    3. Reduce expectations for JS patches on the short term (to increase commit rate and have more people involved) and raise expectations progressively (we'll need to define and advertise the different milestones)
    Similar to #2 This needs more detail.

    Changing to PMNMI for answers to these questions.

Production build 0.71.5 2024