It is possible to use calDAV, cardDAV etc to sync tasks, contacts and calenders independent of the client you use. I have been doing this exercise the past few days with one guy who does everything in the CLI (mutt, todoman etc) while I have been using Thunderbird. It kinda works, but you have to forgo some features that are not supported by booth clients to make it work.
It's rather basic feature set; no sub-task support for example. But I do not know of any other way to sync tasks and calenders across a team where preferences for different clients and tools vary.
This would be the ideal solution for collaboration. A shared *DAV server as a datastore where everyone can bring their own client.
Unfortunately this breaks down rather quickly as the various calDAV and cardDAV implementations vary wildly for features outside of simple task lists. About a year ago I tried configuring sync between Linux/Windows/MacOS/Android and failed. I documented my search here [1].
This comment reminded me of this sentiment[0] I'd like to echo here. Central server of some open or semi-open standard where "everyone can bring their own client" is not realistic for most solutions, because most people just don't give a shit. It's great for nerds like us, but not so much... anyone else.
Unfortunately that tweet is pretty accurate for a lot of fields. Although there are examples that show it can be done. Look at email and Git for example, or HTTP, WebRTC and browser js/css in general.
I think it is up to us OSS nerds to keep working towards a world that is more interoperable, preferring protocols over implementations. It is either that or giving up entirely and rolling over to the whims of Google, Meta and other big corps.
In the two minutes it took me to write this comment Google has released two new chat apps, fragmenting my contact list even more /s.
It's rather basic feature set; no sub-task support for example. But I do not know of any other way to sync tasks and calenders across a team where preferences for different clients and tools vary.