To add onto this, I have been using Libreoffice Online or Collabora Online for the last 4 years or so. I used to compile LOOL myself but eventually I just switched over to using the Collabora Online Development Edition that Collabora releases. I am using it integrated with Nextcloud.
I enjoy using it and it has been a life savior for the times I need to work on a document with someone else since I can just send them a share link for it. The fact that it uses leaflet which is meant for maps does mean that the latency to the server matters quite a lot to experience but I don't mind that much, personally, with my not great 120ms RTT to my server.
Hey - thanks for using Collabora Online (COOL) - we're doing a chunk of work to accelerate interactive editing, and lots of that starts to land in 22.05 - time-based document change compression (deltas), improved JS, reduced latency of event handling (particularly in the browser where handling websockets related to rendering & the DOM is a bit too 'exciting') - with lots of wins recently. Hopefully you can enjoy them in our next release coming soon.
Element's primary paid service is Element Matrix Services [1] which is exactly for that. They run a Matrix server for you, optionally on a domain that you provide.
A change in your repo does not need to result in an import path change if you set up vanity URLs for your import path. For instance, all my go libraries use the import path of gomod.garykim.dev even though the repos are actually hosted on GitHub. That means if I ever change to self-hosting, for example, I just need to update some of the meta tags on the gomod.garykim.dev website to change the repo location.
Only if you're the final consumer of that module - if you publish it so others use your module, the replace directive will be ignored and they will get a failed build (or have to add their own replace directive for your sub-dependency).
Yes, but this is roughly the same as any packaging system - the ones that don't use DNS as a default namespace require you to add explicit package repositories, which is no more or less onerous than the replace directive.
I've been running a Matrix server for a half a year and I have not run into any problems. The main thing that surprised me was how much database space Synapse took on my server but that was an easy enough issue to deal with. That may also have to do with the fact that I'm in some of the most complex rooms that exist on Matrix.
I tried running a XMPP server for a bit but that was a rather frustrating experience between getting it to integrate well with the rest of my infrastructure, figuring out what configuration was needed and what XEPs were needed, what clients had the features I needed, what clients supported the OSes I used, and spam. To be fair, the reason I thought setting up Synapse was extremely easy may have been because I did it with almost twice as much experience with devops than I had when I tried to setup the XMPP server.
Regarding registering with a central authority, you're probably thinking of identity servers. Identity servers are used to provide 3PID (email/phone number) -> Matrix ID mappings and are completely optional. There have been attempts to decentralize that as well but for one reason or another, no good way to do it has been found. At least the source code of the identity server is open source[1] so there is that.
Otherwise, to set up a Matrix server, you simply have to either set up a json response from "/.well-known/matrix/server" or an SRV record on DNS that points to the Matrix server.
> how much database space Synapse took on my server
Yes this is a common problem, and disk/RAM usage is why many hosting cooperatives have dropped matrix support entirely and come back to Jabber/XMPP ecosystem.
I hope lightweight matrix implementations like dendrite can help improve sysadmin experience and lower hardware requirements. Yet it's unclear so far whether a better implementation will solve all problems, given that the whole decentralized chatroom concept necessarily takes more resources than a federated chatroom alla Jabber/IRC.
To be clear, i'm not advocating against decentralized chatrooms. I believe they are very useful for censorship-resilience (which can also be achieved with eg. nomadic identity though not exactly with the same threat model). I just wish decentralized chatrooms weren't the only option so the matrix protocol would be easier to implement and hosting a server wouldn't need gigabytes of RAM for few users.
> figuring out (...) configuration, (...) XEPs (...), clients and spam
It's not that hard to achieve, but information is sparse and hard to discover. That's one of the reasons we have founded recently the joinjabber.org collective to have a platform centered around the UX of end-users and sysadmins of the Jabber/XMPP network. All feedback/critique/contribution is welcome.
I also have mine set up though without a default_policy so I can have the server forget stuff in my bot control rooms cause they get cluttered with useless stuff pretty fast.
DCOs don't give copyright ownership to anyone else or even any more rights to anyone else. It is simply a declaration that you have the permission to license the code you wrote under the license you're giving it for.
I'm using a .dev domain name as my primary email address and in the last few years of using it, I have only run into one website that did not support it properly. I ended up using my .com email alias for that website.
I don't know how I would live without that. I tend to make rather verbose branch names and typing it all out stuff like push would take forever.
Though, you have a much more fun solution.