I feel like anyone who lived through the 90s could have expected "these kinds of results".
Git is open source and widely supported, which doesn't benefit Microsoft. By causing GitHub-specific features to be an essential part of a "modern" or "industry standard" git workflow, they can capture more marketshare/attention, and cause alternatives to be sidelined. This requires removing all friction to entering the proprietary ecosystem, including purchasing.
This, along with the acquisition of NPM, is the "embrace" part.
The next will be an expansion of GitHub and NPM's featuresets in ways that are only accessible via branded, first party tools (i.e. not git/ssh/yarn). GitHub has already made some inroads there prior to the Microsoft acquisition with of course the ubiquitous PRs as well as GitHub Issues and Actions. I imagine the ability to check out GitHub wikis as git repos will probably eventually go away to further this.
The last part ("extinguish") is turning off support for non-firstparty tools like git-via-ssh, .patch URL support, issue collaboration via email, yarn, et c. By the time they do this, few people will notice, having acclimated to the entirely-proprietary ecosystem they've been incrementally subjected to.
The goal, as always: a Microsoft editor (VS Code or Atom), editing code in a Microsoft language (TypeScript/.NET/whatever), signed off via Microsoft review software (GitHub mobile), publishing to a Microsoft website (GitHub/npm), running CI on a Microsoft VM (GitHub Actions), pushing code to a Microsoft datacenter (Azure).
It's simply a moat to prevent open, unfettered competition in any intersection of the vertical. Any weak spots (such as GitHub signup friction) are to be subsidized as they will yield benefits when later used as a cohesive whole in an anticompetitive fashion.
Luckily history has shown that competitors still exist in a world where Microsoft tried hard to “extinguish”. macOS and Linux still exist, Chrome is the most popular browser (not IE), and most people who use Windows are fairly happy with it. You can try to point to Microsoft’s past behavior as proof that the future of GitHub is dystopic, but I don’t think their past behavior was particularly effective at snuffing out all competition and forcing people into their ecosystem. I suppose this is a matter of opinion, but I think being scared of GitHub sliding into terribleness does seem to be in the realm of paranoid conspiracy theories. Even if it does happen, git will always exist and there will always be alternatives.
> I don’t think their past behavior was particularly effective at snuffing out all competition and forcing people into their ecosystem
I still buy a Windows license to play video games. I don't want to use Windows or buy a Windows license.
Of course, I could always choose to not play video games, so technically you're correct that I wasn't "forced" into their ecosystem. But I'm still there and I don't want to be. This is a direct result and present day residual benefit of their anticompetitive practices over twenty years ago. These are very long games that they play; you don't make hundreds of billions of dollars by accident.
Maybe that's true, but I'd like to think Windows is the current market leader because their desktop OS was the only one on the market at the time that was user-friendly and ran on any hardware (unlike OS X).
It seems that video game APIs require lots of investment, and Valve has worked on their version of Wine and other stuff which is quite successful at running Windows games on Linux, so you've got that option - giving your money to Valve through Steam. Or you can also get a console.
Speaking as someone who worked at Netscape during the 90s, your comparison is missing on a lot of fronts.
First, Microsoft was evil back then because they didn't just rely on excellent pricing and features (both of which they had) - but also because they leveraged their monopoly in one market (desktop operating systems) to prevent competition in adjacent markets (browsers).
I think it's difficult for people to believe that Microsoft has evolved, and grown more responsible (Hell, I can run linux directly with windows - with kernels available on the Microsoft store) - but you need to follow the evidence.
> First, Microsoft was evil back then because they didn't just rely on excellent pricing and features (both of which they had) - but also because they leveraged their monopoly in one market (desktop operating systems) to prevent competition in adjacent markets (browsers).
Isn't that exactly what's happening here?
Gitlab competes with Github, but doesn't have the equivalent of Azure to subsidize it with.
Azure competes with AWS and GCP, but Amazon or Google don't really have a Github competitor. (Maybe Google has a small one (?), but I've never heard of anyone using outside their cloud product.)
Bringing Github and Azure closer together is an obvious move.
Github might not be a monopoly in the legal sense, but it's a solid #1 in the space, with strong network effects. On the other hand, Azure is far behind the near-monopoly AWS.
The question of whether you are a monopoly is really important. Once effectively everybody is using your platform, there are restrictions on your behavior. Being the category leader is very different than being a monopoly.
And, note, that there is, and obviously wouldn't be, a law against a monopolist giving it's monopoly product away for free - That's kind of like anti-leveraging.
Look at this from a different perspective - free git hosting for teams is awesome. This is unquestionably a positive thing that Microsoft has done. It's good to be a bit cynical, but not to be so cynical that we put blinders on to the wonderful resources that are now being made gratis.
And, as long as they don't try and put some crappy "Microsoft only" extension onto their platform so that the vanilla git doesn't support all of it's capabilities - it hasn't taken that dark step into "extend." Once they do that, then it's worth a post to HN about Microsoft's Embrace-Extend-Extinguish dark past.
EEE strategy doesn't require starting out as a monopoly, it's just that it's easier if you're already a monopoly.
One could argue that EEE is a strategy to gain monopoly status. Microsoft does NOT have a monopoly in this space currently, but perhaps they want to get one (but only in practice, not quite legally recognized as one).
I see nothing wrong with bringing up EEE before it happens. Which scenario is more likely to discourage the tactic (A) nobody cares until the second E or (B) people are worried about any hint of it.
What is Microsoft doing right now to remove EEE from their options? For example, they could release the whole GitHub codebase under AGPL, and that would be quite a reassurance but not a guarantee.
"It is easier to avoid temptation than to resist it" — Dan Ariely
GitHub’s danger is that it is centralized, not that it is closed source. For example, npm is already open source and Microsoft owning it is still a threat to the ecosystem via their ability to control the software and decide what goes in and what does not.
Microsoft could open source GitHub and it wouldn’t make one bit of difference to their strategy, as it would not pose any danger to GitHub’s defaultness.
Gitea implementing a federated mentions model, plus easy cross-instance linking and federated notifications, plus one-click $5/mo hosted instances on a bring-your-own-domain model would, however.
I am beginning to think we need something along the lines of go modules for the javascript world. Cryptographically assured via merkle hash root, fetchable from any url with a standard protocol, and a public caching proxy. Go got it right, rubygems/pypi/npm most assuredly did not. (To be fair, go modules were designed latest of all of the members of that list, giving them the benefit of hindsight.)
Maybe yarn can go this route ifwhen npm breaks fetch for non-first party tools.
I wonder what would be involved in forking npm (the hosted package repository, not the cli tool).
Centralization is indeed a danger, but so is being proprietary. It would show some good will or otherwise willingness to avoid temptation if Microsoft freed the GitHub codebase even while staying centralized.
Freeing the code is a check-and-balance issue. It doesn't remove their core power, but it provides more of an escape hatch if they abuse the power. Sure, people could go to GitLab, but (A) if GitHub gets strong enough, they could hurt GitLab's business and progress and (B) it's a much more trivial move for a project to switch from Microsoft GitHub to an alternate GitHub host.
In other words, the easier it is for people to leave, the more incentive Microsoft has not to abuse people too much.
If we were going to go for the most ethical and trustworthy directions, it would probably be stuff like Fossil or SourceHut.
I think it's worth pointing out that GH was always on this path, to the point where it's actually kind of hard to explain the difference between git and GitHub to fairly technical people.
It's also worth pointing out that it doesn't have to come from malicious intentions.
It's tough to say that the urge to replace free software and open collaboration protocols with proprietary, closed source pay-to-play tools that the user isn't in control of (the whole GitHub SaaS model) isn't "malicious intentions".
It's replacing an open, free (in both senses), decentralized system with a closed, for-profit, centralized one that expressly benefits a single organization at the expense of everyone else in the ecosystem.
This is not to say that GitHub isn't a benefit over emailing patches around; just that it's probably also worth mentioning that Linus et al have not migrated to this shiny new (centralized) system for the largest collaborative development effort in the history of the world, and, indeed, git itself was developed specifically to avoid a hard dependency on a single, centralized point.
That's kind of my point: doing something to protect the best interests of your company isn't inherently malicious. Sure, altruism has benefits, but they're much harder to measure than the bottom line.
Also, FWIW I think we need to move away from GitHub.
I might buy the conspiracy theory except for the fact that Azure DevOps exists and provides all the features of GitHub already with none of the restrictions you've mentioned except that you pay for the service.
Can it really be called a conspiracy theory when there is proof that MS has done this same sort of thing in the past? Past behavior is a good predictor of future behavior. Saying that someone has been shown to do something in the past, therefore it is likely that they will do the same thing in the future doesn't seem to qualify as a conspiracy theory.
I've read that more than half of government/regime changes that happened in the 20th century were the result of some kind of coup. In other words, conspiracy is the norm.
The real question is whether corporations behave like "someone", like a natural (biological, real flesh-and-blood) person.
Whereas there is a need for legal corporate personhood (so they can enter contracts, be sued and sue others, etc), the extent to which a corporation has a "personality" is very much debatable— sign contracts, sure; but fund political candidates? Have a political opinion even? That's crossing a big phat red line most countries have outlawed (with good reason)— only citizens in their own name (that of a natural person) may participate in the civic life, whether board member/CEO or the lowest paid employee: same rights and duties, in a truly democratic political theory.
Factually, when psychologists attempt to describe the behavior of corporations, they are faced with "sociopathy"— but let's not pretend it's a trait, because it results more likely from the absence of consistency between people, departments, historical periods... it's not and cannot be as stable in space and time as a real natural person.
Corporations are neither good nor bad "people", they are simply not "people", but a different category of objects. We could also demonstrate conversely that natural persons and households belong to very broken categories of businesses... because they're not businesses!
So when we anthropomorphize corporations and businesses like they're people... we really create meaning out of thin air that never was there. If it's a one-man show, sure, obviously. Above that begins a very slippery slope that leads to super PACs and other churches like Evil MS versus Heavenly Apple and what-have-you.
Whatever greatness or horrors we observe from corporations should be attributed directly to the natural people who make those decisions— it's not Boeing that's bad, it's whoever's in charge and whoever condoned it. People. Boeing is just a 6-letter words, you can't put "Boeing" in jail, nor make it "Sir" by a Queen...
So I'd rather praise Nat himself than "GitHub" here, and I'd rather judge him and Satya Nadella in name than "GitHub" or "Microsoft"; recognizing that he (they) can't possibly be alone in this so the praise extends to all employees who strive to make great on a vision... and also the blame lies with them, when they're being disingenuous. People, real people, with real names and a past and loved ones and maybe kids and political opinions. Not an abstract 6-letter name who's already changed in the timeframe I wrote this post, as two new people got hired and another one left.
Indeed, a corporation is a permanent ship of Theseus: who's left, at Microsoft, from the 1990s? How much power do they command? Here is the real link between that era and now, behaviorally. The name matters little, people manning Microsoft 40 years from now will all be new people. Transmission of culture is limited between kids and parents, and even more so between one's predecessor and one's successor at a job.
Microsoft has changed, as a group of people, because well... most of these people have left and new ones came in.
Sorry for a long piece; but this truth needs saying, especially in these times if we are to reform our societies to better solve the pursue of a "greater, common good". Mistakes were made (in the legal structure of things), ethical compasses need realignment (let's just admit people from the past couple centuries couldn't get everything right nor possibly predict our present, and let's just move on with our times, our challenges, shall we?)
I'm very interested to hear what Hackers have to say about this, although I suspect it's become a fairly non-controversial, almost benign realization nowadays (used to be ridiculous, then dangerous thinking, now it seems obvious retrospectively like any real paradigm shift).
Doing that can get you banned from a lot of projects on GitHub. Citing specific humans by name as having undertaken specific actions on specific dates is sometimes seen as aggression or harassment, even if you stick to pure factual statements. The actions of people at work, socially, are often seen as “actions of the company”. Mentioning people by personal name is frowned upon.
I’ve actually had comments deleted for discussing things in this mode: Human X did thing Y.
I think our society doesn’t like it when we highlight personal responsibility for things people are only choosing to do to get a paycheck to pay their bills.
It’s easier for everyone involved to say “Google developed AI software that allowed military drones to decide who to kill” than to say “John Smith developed AI software that allowed military drones to decide who to kill”.
Not that I think we should not use both forms. Individual choices matter, and facts are facts.
> Whatever greatness or horrors we observe from corporations should be attributed directly to the natural people who make those decisions— it's not Boeing that's bad, it's whoever's in charge and whoever condoned it. People. Boeing is just a 6-letter words, you can't put "Boeing" in jail, nor make it "Sir" by a Queen...
I think it's interesting how British English pluralises companies and groups in general, in recognition of this fact. For example, "Boeing have made a big mistake with the 737 MAX", where American English would use has. Or, "the family next door are lovely".
But dismissing presence of companies culture is as extreme point of view as dismissing possibility of change. To name a few - Oracle, Google, Facebook, Apple, Toyota, Tesla - they are different and quite predictable.
> If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.
I am not in "Evil MS" camp but
> Fool me once, shame on you; fool me twice, shame on me
Same as with people - sometimes they change but sometimes they don't
And corporations are inherently dangerous - they maximize profit. Unbound by law, unchecked by people, even amazing people with nicest slogans would make dystopia.
Azure DevOps has a really generous free tier too, with unlimited public and private repos.
Just pointing that out - to be clear, I don't buy into all the Microsoft bashing that there is on HN (and I say that as someone who was around when Microsoft gave plenty reason to be hated).
Thank you, it summarises it pretty well.
MS is back pretty strong.
It's also to note they attacking on two fronts, the open source and startup folks (VS code, github, typescrip, azure) , and the enterprise with communication, productivity tools and cloud infra (Teams, Office 365, Azure)
I don't think it's an attack to try and make good products. Unless they're playing dirty / being anticompetitive, you're just describing a company making dev and cloud products.
Other things I assume will fall in the future: accessing GitHub Issues via API (for anyone other than paying enterprise customers), support for third-party GitHub API clients (use our first-party app with built-in spyware only, please), et c.
One need only look at what they've done with Windows and Office and Xbox to see how Microsoft approaches client software.
Git is open source and widely supported, which doesn't benefit Microsoft. By causing GitHub-specific features to be an essential part of a "modern" or "industry standard" git workflow, they can capture more marketshare/attention, and cause alternatives to be sidelined. This requires removing all friction to entering the proprietary ecosystem, including purchasing. This, along with the acquisition of NPM, is the "embrace" part.
The next will be an expansion of GitHub and NPM's featuresets in ways that are only accessible via branded, first party tools (i.e. not git/ssh/yarn). GitHub has already made some inroads there prior to the Microsoft acquisition with of course the ubiquitous PRs as well as GitHub Issues and Actions. I imagine the ability to check out GitHub wikis as git repos will probably eventually go away to further this.
The last part ("extinguish") is turning off support for non-firstparty tools like git-via-ssh, .patch URL support, issue collaboration via email, yarn, et c. By the time they do this, few people will notice, having acclimated to the entirely-proprietary ecosystem they've been incrementally subjected to.
The goal, as always: a Microsoft editor (VS Code or Atom), editing code in a Microsoft language (TypeScript/.NET/whatever), signed off via Microsoft review software (GitHub mobile), publishing to a Microsoft website (GitHub/npm), running CI on a Microsoft VM (GitHub Actions), pushing code to a Microsoft datacenter (Azure).
It's simply a moat to prevent open, unfettered competition in any intersection of the vertical. Any weak spots (such as GitHub signup friction) are to be subsidized as they will yield benefits when later used as a cohesive whole in an anticompetitive fashion.