Live data from Hacker News

Ethersync: Peer-to-peer collaborative editing of local text files

github.com

11–20 of 36 posts

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#11
post #7

Zed also has interesting collaboration features -- editing + voice: https://zed.dev/docs/collaboration In the early days, Zed's in-editor collaboration features were marketed as a key differentiator. I wonder how many Zed users have used these features on a sustained basis.

Zed's collaboration tech is amazing, but coding just seems to be less collaborative than e.g. meeting notes.

It's pretty awesome that they were able to use the crdt for agent collab. I've been thinking about something similar for my project.

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#12
post #4

Having trouble finding plugins … mousepad?

Writing a mousepad plugin is actually a bit of a pain.

> Note that you'll need all the Mousepad code to build your plugin, as the headers are not installed. We've never gone so far as to actually expose an API for writing plugins, choosing which headers should be installed and documenting this properly.

Which mostly means that you're on your own.

Whilst building one for Ethersync _should_ be fairly easy (exec and ionotify should get 90% there), without documentation - how do you ensure the text buffer gets updated correctly...? I'm not surprised no one has put this together yet.

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#13
It warms my old heart when projects use the AGPL (or GPL) licence.

It's a "small" thing to do that tells me that you're not just waiting for VC but actually really care about your work and the world.

(I'm not saying that MIT or other similar licences are used exclusively by people that don't care, I understand that sometimes you just don't have the bandwidth)

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#16

Does Ethersync use CRDTs under the hood for conflict resolution, or does it implement a different approach to handle concurrent edits?

It uses automerge [1], so I strongly assume they use CRDTs.

[1] https://automerge.org/

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#18

Does Ethersync use CRDTs under the hood for conflict resolution, or does it implement a different approach to handle concurrent edits?

It uses automerge [1], so I strongly assume they use CRDTs. [1] https://automerge.org/

Yep! Daemons on multiple computers speak the Automerge sync protocol. Between daemon and editors, we use a "one-sided operational transform" approach, in an attempt to offload as much work as possible into the daemon (and out of the plugin). If you're interested, you can learn more about Ethersync's architecture in the documentation: https://ethersync.github.io/ethersync/

In addition, we keep a directory of "Architectural Design Decisions" here, which go more into depth: https://github.com/ethersync/ethersync/tree/main/docs/decisi...

There's also a 10-minute talk from this year's FOSDEM: https://fosdem.org/2025/schedule/event/fosdem-2025-4890-ethe...

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#19
post #8

Obligatory mention of SubEthaEdit: "General purpose plain-text editor for macOS. Widely known for its live collaboration feature." And, as of 2018, is now open source. Looks like it has had commits as recently as 2022: https://github.com/subethaedit/SubEthaEdit See also a previous HN discussion at https://news.ycombinator.com/item?id=18550649

We picked our name because of SubEthaEdit (and later, Etherpad)! :)

We keep a table of related project here: https://ethersync.github.io/ethersync/related-projects.html

Ping us if you feel like something's missing! (Looks like we could add Zed, for example.)

Re: Ethersync: Peer-to-peer collaborative editing of local text files

#20

It warms my old heart when projects use the AGPL (or GPL) licence. It's a "small" thing to do that tells me that you're not just waiting for VC but actually really care about your work and the world. (I'm not saying that MIT or other similar licences are used exclusively by people that don't care, I understand that sometimes you just don't have the bandwidth)

I guess I’m curious how it applies here. The plugins communicate over a socket, and then the plugins are loaded into an editor. I assume the editor doesn’t need to be AGPL, because nvim is Apache 2 and VS Code is MIT.

But does the plugin need to be AGPL? Does it also have to be “replaceable” where a static build of nvim would violate the license? Can someone bundle a custom written client into a proprietary editor?

Post reply on HN