> It usually comes in two flavors - individual contribution as you doing something on your own time and equipment and official contributions when the company itself contributes to a project.
My understanding is that Apple's policy is highly unusual in that "individual contribution as you doing something on your own time and equipment" are pretty much not allowed at all.
It’s more complicated than that. Apple’s blanket policy towards such contributions is that anything you do in your own time needs SVP approval, because it might potentially compete with Apple’s business interests. And as a general policy it likes to deny such requests. Other companies have various policies: Google, for example, is for the most part “we’ll let you do whatever but we own the code, and if you want to own it we will make it about as difficult as Apple does”. The whole “you compete with us if you do anything” is a big tech thing, by the way, because they work on so many things that they can scare their engineers with competition threats on any grounds in California. The best that smaller companies can do is restrict you from working on the limited thing they work on, such as developer tooling or a social network.
Meanwhile Microsoft lets their employees do whatever they want after hours, so long as no company provided resources are used.
I know of developers who made quite a bit of $$$ being first out the door with applications utilizing SDKs that they wrote. MS is perfectly happy with their own developers showing off shiny new features.
I am not talking about non-competes, I am talking about moonlighting.
On the day of employee orientation, they specifically talk about moonlighting and HOW to do it.
"Do not use any hardware we provide for you, and do not use any software you installed from the corporate network, buy your own copy of development tools and licenses, you can use the free Azure credits we give you but not the ones linked to your employee login, make sure you use the credits on your personal account."
They do require you not write software that directly competes with existing Microsoft software, for obvious reasons, but other than that it is fair game.
But this doesn't even cover the whole of it. At multiple times, Microsoft has actively encouraged their employees to write software as a side hustle! They've launched internal competitions "We have a cool new SDK, write some software and put it on the MS Store! Best rated software wins some prize!"
The entire "developers first" culture there extends to how they treat their own employees.
Heck MS has a long tradition of employees leaving to start a new company and MS buying that company up a few years later. I suspect that during the 90s/early 2000s it was seen as a good way to innovate, similar to incubator labs within companies now days.
Which law are you referring to? Noncompetes are enforceable in Washington but not in California, for example, and Microsoft has enforced noncompetes for upper management in several high profile cases, but I am not aware of any enforcement against engineers.
And not in california? Its interesting that Apple is seen as hip and cool yet operates a tight leash obviously because it can, legally. Microsoft is... other things... yet is operating a looser leash, albeit also in compliance with law.
> My understanding is that Apple's policy is highly unusual in that "individual contribution as you doing something on your own time and equipment" are pretty much not allowed at all.
I am not sure exactly but I suspect this is employee-specific and may be only for those working on sensitive projects.
I worked at Apple years ago and it was never in my contract or mentioned to me. And there are plenty of more recent developers e.g. Holden Karau who were contributing to open source projects in their spare time whilst working at Apple.
Nope, rather, Apple engineers having side projects is employed-specific and usually requires some sort of special case for them to let you continue working on your thing. This has been a standard part of the contract for a while, and it’s nothing like a decade or two ago where you might have a DTS engineer make a side app or two for fun or give their own, unofficial opinions of the SDK on their personal blog without approval.
My understanding is that Apple's policy is highly unusual in that "individual contribution as you doing something on your own time and equipment" are pretty much not allowed at all.