#761·jupyter

Let's discuss recent force-pushes

Author: ivanovCreated Jan 31, 2025Updated Feb 21, 2025

We've recently had three force pushes to this repository. I propose that we hold off on further force pushing to the repo and discuss what happened.

To me, transparency and trust really matter. I do not want to misrepresent the path we take to arrive at a certain state, by omitting some of the bumps along the way.

I understand that some also have concern that there's a potential reputational risk at play here, but I think it's important for everyone to have their views and opinions and to demonstrate to ourselves and the rest of the world that we are capable of resolving disagreement in an amicable and transparent manner, even when the subject may be political or otherwise heated issues or high tension.

I'm capturing here my current understanding of what happened without any blame: I think everyone is trying their best.

How we got here

This is a timeline of events leading up to and including the force pushes. It may get revised if more details get shared or something gets corrected.

Back in 2023, there was a proposal to remove Twitter from Jupyter's list of social media channels, which was discussed and some removals took place then. The Jupyter Media Strategy Working Group (JMS) was formed, and part of their purview is to address concerns like the one that was raised.

Last week, the Jupyter Media Strategy Working Group (JMS) [Ana (@Ruv7), Andrii (@andrii-i), Jacob (@jake-stack), and Sylvain (@SylvainCorlay)] met and voted to discontinue activity on Twitter. Matthias (@Carreau), who had pushed through some of the removals from the 2023 proposal, was aware of this development, opened a PR (#753) to remove links pointing to that platform, initially characterizing it in a non-neutral manner, and tagged Sylvain, who had joined the JMS in December, as a reviewer.

A few days later, without getting a review, Matthias merged this PR. Self-merging after a period of inactivity without a review is not uncommon for the parts of the project Matthias tends to participate in, like IPython, as they currently lack maintainer interest and he is frequently managing that load by himself.

Paul (that's me - @ivanov), expressed his disagreement over the non-neutral characterization of the link removal, and because it was not clear if they had weighed in or were made aware of the change, contacted the Jupyter Media Strategy working group to let them know that the change took place (both by tagging them in the original Twitter removal thread, and by sending them an email).

By email, Matthias gave Paul a heads up that the JMS discussed the change, and also that the Jupyter Executive Council was also made aware of the change.

By email with JMS cc'ed, Sylvain responded to Paul's JMS email, confirming that the JMS had voted to discontinue activity on the platform, but without any characterization or political statement about it and inviting him to attend their next meeting.

Matthias went through to revise the commit message for link removal to use neutral tone, and force-pushed (1) to the repo to remove the non-neutral commit message from the history.

Unfortunately, there was a hiccup with this, where all commits following the merge of 726 back in March were omitted.

Informed of this snafu, Matthias revised the fix, and force-pushed (2) to the master branch. The fact that this repo still uses master as its working branch, whereas many other repositories in the project use main may have been a contributor leading to the original error.

The JMS met today and wanted to revert the change from #753, as they felt it did not reflect their discussion and decision, which lead to Sylvain force-push (3).

By email with JMS cc'ed, Sylvain let Paul know about these changes. The email expressed the JMS' concern over possible negative attention for the project and contributors around this incident, and a plan to remove the PR in question from GitHub's history as a way of mitigating that risk, but also expressed concern over the fact that removal this would have lead to removal of Paul's comments and the ensuing conversation.

By email, Paul responded to Sylvain and the rest of JMS to express a desire to keep a record of what happened, and not remove all traces of what occurred here.

Paul opened this issue, informs JMS and Matthias of its existence by email, and direct further public conversation here, as much as possible.

What to do now

I feel that Matthias already went through the trouble of editing the history to have neutral language on the link removals. He even modified Martha's PR #758 to rebase it on top of the neutral language.

Force-push (3) took away the #753 change, but though it kept the authors changes and content, it also took away references to Andreas Maier's PR #756 - a reference which my now omitted merge commit contained.

I propose that we take a week to have everyone who is able to weigh in with their own information and opinions., and on or after Febuary 7, 2025, that we restore the neutral-language removal of the links from force-push (2), and proceed from https://github.com/jupyter/jupyter/commit/4be0c486b5d9918c546495f180f5d7e839805eba, where the repo was before the most recent force push.

I am informing the parties mentioned here by email of this issue, and will also post a notice on zulip, and be available on zulip for faster communication around this if anyone wants to chime in privately or publicly.