It's hard not to be excited about Marijn Haverbeke's announcement for Wordgard, the spiritual successor to ProseMirror.
Nearly every pain point of ProseMirror seems to be addressed:
-
Content constraints are simpler
-
Transactions can contain more than one operation (paraphrasing)
-
Schemas become modular
-
Plugin loading / ordering is more like CodeMirror's extensions
-
It gives up on contenteditable
-
State updates are more precise
-
Ditches CRDT / YJS in favor of OT.
The move towards OT is especially exciting as ProseMirror's CRDT / YJS dependency has made running serverless collaboration anywhere besides Cloudflare Durable Objects incredibly painful.
Another interesting meta comment regarding the development of Wordgard is this quote at the bottom of the annoucement:
As a deviation from standard open-source practice, I'm doing an experiment where I don't take pull requests for Wordgard. I've realized that I find those the worst part of maintenance work. Reviewing a big change and negotiating all the adjustments needed to make it fit my expectations is generally more work than implementing the change myself. And now that the cost of generating code has gone down dramatically, the arrangement where people can dump code on me and I'm expected to review and maintain it (or argue why I don't want to, which is also work) has become even less attractive.
Having dealt with my own struggles around being a sole or primary maintainer, I found myself nodding to every word written above. I actually decided to keep this blog closed source for this very reason. I just didn't want the noise associated with maintaining another open source repo. Which reminds me...
This entire blog is dedicated to content management experiments, so I'll likely be playing with Wordgard shortly.