I have been through this deliberation myself, as I hinted in my own thread Sogo vs WebTop (for contacts, calendar etc with DAV)
In an ideal world there would be a best-of-breed in each category which would be standards-based and also open enough to integrate with other systems based on standards. Any in fact there are a number of platforms which exist which we could probably use together well enough to have an integrated set of tools. But then we add another requirement and suddenly find that a platform which satisfies that very well drags along a bunch of other things which cause duplication and then the discussion here arises.
I was thinking along the lines of setting myself up a NethServer with SOGo and Postfix+Dovecot (or whatever) and Roundcube and FreePBX (or, now, maybe a FreePBX or alternative alongside it, based on a comment made in FreePBX usability) and using NethServer’s own DAV and Samba for file access. NethServer bring together a bunch of services which are good at one or two things and wires them together. And thereby I’d have good solutions for calendar and contacts and mail which are well integrated with one another and also shared storage. And they’re standards-based so I have a whole selection of clients on desktop and mobile.
But if I want a nice capable web-storage front end then that seems to be NextCloud (OR WebTop, or AND WebTop) and that’s a whole groupware (or two) which drags in duplication and then these questions start.
I dare suggest that if only there were good stand-alone solutions (but ones which are open to deep integration) for all these functions, it would be much easier to solve this problem. It starts from the fact that NextCloud and WebTop and so on, having been built specifically to integrate, and also to add on functionality beyond the standards, prefer working with themselves, and are not completely modular and therefore don’t make it easy to stop using part of them and plug something else in instead. (long sentence, sorry)
This is similar to the inner-platform effect. Each of us could build our own groupware with whatever functionality we want and we’d have to deal with all the details. We’re talking about wanting to create something modular, but we have to use standards to tie the parts together, and then we have to put so much work into just making sure that all the integrations work… Rather than just solving the original problem we just make a new toolkit for the problem, easier to use but with less flexibility than the original tools. Most of those groupwares out there aren’t written from scratch - they solved much of the problem by just choosing one existing tool for each function and hardwiring everything together. Now we like what they did but we wish that we could unplug the bits from one another
I’m sure I’ve stated the obvious but thought it might help to state it…