Honestly, BlueSky’s AT Protocol fixes pretty much all of these issues (save for having a single actor controlling things as for the moment it’s still in active development and not adopted by any other project).
Even if you never intend to sign up for or use their protocol, I’d give it a read- it’s a really fascinating system design:
Creating a paid or ad-supported client app for a website isn’t profiting off of content, it’s profiting off of the user’s desire for a better mobile experience. There’s no ‘stealing’, the developer never has access to nor purports to own any of the content themselves- it’s simply a voluntary intermediary for a user to access their own account with their own content feed.
That said, any client apps that run ads are dumb and will fail miserably. It’s awful for UX. Just so long as client apps can be monetized in other ways I think it’s fine to adopt a license that prohibits specifically ads.