Selling is outside the scope of the licence, you can do whatever you want with monetisation, be it free or paid-for.
But any one person that uses your GPL if local, AGPL if local or through a remote service, has the right to request you a copy of the code and you have an obligation to comply and provide it
Copyleft protects the freedom of the user, regardless of who is the developer, I think that is way more important if what we want is to make software for humanity rather than pragmatic business choices.
It is a point of what you regard as real freedom, do you wish to eventually lock in your users or let who might fork/take over your project do that?
I know, but that feels really clunky to me, like an unclean solution, I know that commit will disappear regardless, but I don't like room for more human error like that by manually re-editing
I see, now that makes sense to me as well! I too make commits messily as thoughts crop up, so I think this technique might be good for me in some cases, thanks!
How does cherry picking improve the workflow? I'm not sure I understand, is it so you can keep the original branch as reference and know where you could have screwed up if it happens?
Not exactly, because n commits will have been squashed into one, so making the edit would lose the reference to the originals which should have been squashed with other commits, visually maybe this helps:
A (pick) -> B (squash) -> C (squash) -> D (pick)
When it should have been:
A (pick) -> B (squash) -> D (pick) -> C (squash)
I had just created A+B+C, then realised C should have been out
It'll make you fast as well once the IRS catches up