Remix.run Logo
benatkin 14 hours ago

It runs on ProseMirror and AG Grid.

Joke aside, the source code isn't featured on the web page, despite LibreOffice (unlike Apache OpenOffice) being copylefted. They mention self hosting, but it says to contact them. It seems it runs on WebAssembly either directly or through a VM on top of WebAssembly like https://copy.sh/v86/ . The screen seems to be simulated with a canvas. I think perhaps they didn't change the code of LibreOffice much, but have a custom setup of something like https://copy.sh/v86/ or even are running it on actual WebAssembly with a virtual screen. So they have a virtual computer that it's running on, and they consider that separate when it comes to copyleft obligations. Plus it's possible to make something open source but inconvenient, and charge to make it convenient.

hoistbypetard 13 hours ago | parent | next [-]

From the description here[1], it sounds like they're using WASM builds of LO.

I'm not quite interested enough to spend the CPU cycles it'd take to build and see whether that is really the whole story.

[1](https://github.com/allotropia/zetajs?tab=readme-ov-file)

benatkin 13 hours ago | parent [-]

That's nice. AFAICT nobody has yet figured out how to run the rust compiler in WebAssembly directly, but it runs in v86. That's why I wondered if they were taking that shortcut for another complex program.

Here's their page about WASM: https://wiki.documentfoundation.org/Development/WASM

It says it uses Qt/VCL. Maybe those can talk to canvas in a fairly straightforward way, or maybe ZetaOffice chose a different backend to get a proof of concept out faster.

rzzzt 13 hours ago | parent | prev [-]

Side question: did GTK3's HTML renderer get anywhere? I remember a calculator application running in a browser as a demo from a long time back.

thorstenb 13 hours ago | parent [-]

That still seems to be there, even for gtk4: https://docs.gtk.org/gtk4/broadway.html

(but it says, between the lines, mostly stale I guess)

As an aside: one of the very first demos of LibreOffice in a browser (from the Collabora people) was using the broadway backend. But they've moved on, using their own tiled rendering server backend, plus custom, javascript gui on the client.