While I support the principle, what actually happens is that the companies which make money use your work to generate that money for free. And your desire to build something useful 'for the love of creation' means people who could have got paid to support their families can't because you've undercut them in the market with your zero pricing, using the privilege which allowed you to spend significant time on building something valuable for the hell of it. Then when you try and charge for something this is viewed as somehow immoral, thus pressuring you to provide your work for free and making the multinationals even happier.
I know what you mean, but every time we build a class, we have to decide how much functionality to contain within it, so something will be guiding us in that decision as to where to draw the boundary.
We have built a modern, lean, flexible CMS which runs on ASP.Net Core (.Net Core 2.0). Please have a look at the GitHub repo and let us know what you think.