> I could 100% collect unemployment benefits were I to work less than 25 hours in any given week
That has nothing to do with that I said.
> You then go home and do something else in your free time, and they phone you up and tell you to stop doing that because they don't like it.
If you agreed not to do something in a contract, you shouldn't do it. There are obviously ways overreaches that should be protected from, but if someone comes to you and says here's a contract for $10,000, all you have to do is agree not to write any code for any companies or submit any code to open source projects and you sign that, should you be able to ignore that contract? If so, should you have to give the money back? In what way is this different than if it's an additional stipulation on your employment contract?
> Despite being legal, non-compete agreements are equally scummy, and I'm not sure why you think that this comparison is favourable to IBM.
Non-compete agreements for after your employment has ended are scummy. I see no problem with a company making your employment conditional on you not also working for a competitor at the same time, as long as that is clearly outlined up front.
> 'You are not allowed to use your personal email account as a "hobby".' and think that it sounds okay.
Because, contextually, what they are saying and is being left out is along the lines of "you agreed not to do this when we employed you. Stop doing this. It doesn't matter whether you use a work email or personal email to do this thing you agreed not to do, as long as you are employed by us. Stop now. If you don't stop, we'll fire you, and then you can do it all you want, but we won't be giving you the paycheck we agreed to, because part of that agreement was you would not do what you're doing now, because then you won't be employed by us."
I think that's an okay thing to request if the employee agreed to that stipulation in advance. I would try not to agree with anything like that, but if they offered enough money, I might. I don't think there's some fundamental right of mine to contribute to an open source project that should be prevented from being negotiated in a contract.
You either believe that someone should be able to offer you some amount of money for you to agree to behave a certain way by not doing some things, or you don't. If you think that shouldn't be allowed, then you disagree with a huge chunk of contract law. If you propose we change contract law at such a fundamental level, I suggest you also provide for how you don't collapse the economy at the same time.