"Shocked, Roy!"
I think it's time I publicly shared about how Microsoft stole my code and then spit on it.
I'd been waiting for them to do something about it, but that is clearly never happening.
When we were working on Babel 6, one of the big changes was to split everything up in to nice little plugin packages. However, this created a need to manage dozens of packages. Thus @lernajs was born I picked up Lerna a little while later and focused on making it work well for design systems. I rewrote it like 5 times to try and get the architecture right. Lerna then started getting picked up by others who also contributed back and added features. I enjoyed watching it grow and so I started looking out for users. One day I came across a new design system from a team at Microsoft. I saw that it was made up of lots of small packages. I was excited and wondered "ooh is MS using Lerna?" It turns out, no they were not. They were using this other thing called "Rush". I hadn't heard of it, but I was interested in seeing how it differed from Lerna. I found the repo and started exploring. The first thing I noticed was how familiar all the code was. I could navigate the file structure very easily. I realised that it was almost a mirror of Lerna's code base. Files and directories were named the same things, it had many of the same core functions with code that I distinctly remembered writing. But no big deal right? It must be a fork. I was actually flattered at first. So I went back in the git history. I got all the way back to the first commit, and looked at the date. Turns out Rush was created a couple weeks after Lerna was announced. I continued working through the commit history and looked at commits that added features, it all felt so familiar and now I was getting suspicious. Comparing dates of commits, it looked like Rush kept copying changes from Lerna days after they were made. Rewritten using this weird event system they added. It left a bad taste in my mouth, I could tell this was my code. I looked at the license, no mention. I looked at the readme... Oh wait In the readme they acknowledge the fact that there are "other solutions" and say that they are bad. No mention of the fact that Rush was taken directly from one of these bad other solutions. You know if it were anyone else, I would have been mildly annoyed and ignored it. But Microsoft is a multi billion dollar corporation. If they are going to steal code without crediting the original author I'm gonna be pissed. So I reached out to people I knew at Microsoft. This was probably a year ago now. They were shocked and apologized. But since then nothing has happened. Oh wait yeah, something did happen. The commit history of Rush was messed with and a lot of the code was moved around, functions renamed, rewritten. It still feels familiar, but it's more scrambled. Instead of just updating a license or even just adding a footnote, they went through all that trouble. Anyways, it's really annoyed me to listen to all these people give Microsoft free good press about open source when clearly their product org is still happy to be dicks to open source communities I don't trust Microsoft (or Google or Facebook or Amazon) to be good shepherds of open source communities.
Just because we've made it impossible to compete with their old closed source stacks doesn't mean they'll act in the best interest of open source And just because there are great people at Microsoft who love open source and want to do the right thing does not mean that they'll be able to stop Microsoft from doing shitty things when there's money involved. I know plenty of people at big corporations who want to change things but can't because millions of dollars are in the way. A few years back we were able to petition GitHub to start improving the tools the offered to open source maintainers.
later on at a @maintainerati event, GitHub acknowledged that this letter had a huge impact on how they worked with open source communities Imagine a couple hundred people signing a letter to try and change things at Microsoft/Google/Facebook and it actually working. These companies deal with stuff like that on a daily basis and it doesn't make them trip up for even a second The consolidation of our infrastructure is dangerous. Having lots of small companies or even medium sized corporations forces them to work together without much effort which prevents any one of them from ever totally fucking us over The tech industry has so many monopolies right now. Building more everyday. It's only going to hurt consumers more and more. And when it comes to infrastructure, we're going to be those fucked over consumers If you trust a handful of corporations with your entire toolchain and expect them not to fuck you over I've got a bridge to sell you