It's easy to do your own programming on your own computer. It's only through the trap of sloppiness one would use their employer's equipment. That's one reason it's nice the California law focuses on that: make some minimal effort to partition your life, and in return get some (unfortunately minimal) protection. Likewise, "free time" for someone on salary is meaningless. The problem is entirely "existing or prospective," which this policy doesn't seem to change from the California baseline. It's onerous because:
- you are likely to be interested in similar things to your work, otherwise you wouldn't have taken the job.
- for large companies the category is incredibly broad. For example, at Google it would cover basically anything, so the pattern of discretion that their judgement committee exercises determines how onerous this rule is, not the law, and not the policy.
Well, this may be something that is more unique to GitHub (and similar companies - GitLab, BitBucket, etc) where the companies product is something it's employees would like to use on their own for their own projects. Essentially, if they were an employee of GitHub under most normal policies they wouldn't be able to use GitHub for their personal work or contributing to projects hosted by GitHub as that would be using "company resources". So the change is slight in that it is really just allowing their employees to use their product - which has become a standard in the industry - for the employee's personal works without GitHub being able to claim ownership of random things.
And in all honesty, when I talk to employers about jobs I make sure to have something similar - I have my own projects that I am working on, and while I avoid using company resources for those projects, I still want clarity that it's mine and the company can't take it or I don't sign.