I'm not attacking him, merely setting some of his assumptions straight.
He's assumed that the _person_ or _people_ involved with implementing any of the hundreds of features in this software set out to deliberately do it wrong or to a poor standard.
He's assumed that writing software at any level is easy and happens without compromises. Spoiler: there are always compromises, and most of the time, they're between a rock and a hard place.
Rather than put effort into fixing or attempting to correct, even on an advisory level (filing a bug report perhaps?), he's bashing the software- but its _my_ responsibility to educate him that there's another way?
He's not bringing anything to the table that's new. He's not pushing the discussion forward on how we can make software better.
I wonder how the narrative changes if he posted that he fixed just one tiny bug, or improved the app's navigation- and was able to remark that it was painful and provided a kernel of an idea for how we can improve it? Or that it was easy and he's now working all of his spare time to improving the project further?
Maybe he should start writing the 'new open-source office suite' and let us know how we could have done x, y, z features differently with his new found vast experience in writing software. Or maybe spend a million dollars and see how much software development that buys- 5, 10, 20 developers for a single year, what would this new office suite be like?
You don't get to bash for free, without someone bashing you back.