Having worked at Microsoft, and seeing the nature of the bureaucracy, the only advice I would give for next time is...
Just realize you can't set terms with a large company like MSFT unless you get lawyers involved early.
Stealing from you outright is simply too tempting, given their resources.
I noticed there were some conditions Keivan tried to set regarding the future evolution of the technology before joining MSFT.
In a large company like MSFT, there were bound to be large internal email threads relaying a play-by-play of negotiations with Keivan to: inside legal counsel, developers who already gave t-shirt sizes for building the tech in-house, product managers, and dozens of others.
No matter what they tell you, they're internally weighing
- Should we just rip him off? - Should we hire him? Would that be better or worse for liability? - How IP protected is this? How much can we "borrow"? - Is it worth the hassle of dealing with an aqui-hire we can't control? Would that expose us to even more IP risk, or less?
Once companies reach this size, they simply can't be trusted to handle a negotiation transparently and in good faith, unless you have well paid lawyers fighting for you, or well established IP protection.
I guess what I'm saying is...
When dealing with any large tech company with near infinite resources -- like MSFT, GOOG, etc --, find a legally defensible upper hand, and assume they are weighing the cost-benefit of screwing you.
(Sadly, this is exactly why lawyers make so much money.)
See https://news.ycombinator.com/item?id=23332123 elsewhere in this thread for an example of the consequences.
The cost of GitHub to MS was around 250 usd per user. If 4000 users leave that’s already a million USD.
For example, I wanted to buy Win10 recently, and also wanted to sign up for Teams. Both experiences were so unimaginably ridiculously terrible, that I ended up cancelling the Teams subscriptions the same day and not buying Win10.
On the other hand .NET (Core), PowerShell, TypeScript and VS Code are all great things.