Microsoft Embraces Git For Development Tools
alphadogg writes "Once vehemently opposed to open-source software, Microsoft has warmed to the development model over the years and will now take the unusual step of incorporating an open-source program developed by Linus Torvalds into its own development tools. Microsoft is integrating the widely used Git, a distributed revision control and source code management system, into its Visual Studio IDE and Team Foundation Server, two of the company's main tools for enterprise developers."
Step 1: Embrace. Step 2: Extend. Step 3: Replace. Step 4: Discontinue.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
can't beat 'em, join 'em
said the same thing aboue apple with OS X
except MS's terms are ironicly far more reasonable
(yes, yes not everyone needs DVCS).
Those... words. They stick like bullshit to my mind's shoe.
Everyone who doesn't need DVCS can simply use DVCS as centralized or local source control.
Yes. Why don't they fix submodules? Everyone has some workaround to submodules. But nobody actually fixes it.
My boss is going to turn purple. He hates git & anything devised by Torvalds.
Any derived work of something, like git, which is GPLed, must be GPLed. That means that if you fork, the main branch, the main branch is free to use your extensions. This makes it difficult for replacement to work.
Furthermore, if you try discontinue step, others are free to fork and continue. So discontinue does not work.
The GPL completely breaks the "Embrace. Step 2: Extend. Step 3: Replace. Step 4: Discontinue." process. Which is why it is hated.
They did the smartest thing they could have done, which was to put an Apple-style interface on a free, high quality implementation of an operating system that was more than powerful enough to hang with the industry leaders, well understood by geeks, and which contained, essentially, the reference implementation of the protocols that the internet runs on.
Were you around in 2001? I don't think "high quality" is a term anyone would use to describe those first versions of OS X. It was slow, user interface sluggish, riddled with kernel panics. Apple actually had to offer a free upgrade to 10.1 - which was still slow and sluggish but somewhat more stable. OS X eventually grew into a high quality OS, but those first versions were certainly not. Until Tiger it was kind of a joke, really.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
MS is now feeling threatened by the way other large companies (eg Apple, Google etc) are now 'cooler' and can now influence the software development ecosystem via their mobile platforms.
Open Source no longer really seems as much of a threat to them, and there's no point fighting it any more. And with Apple and Google increasingly becoming less open and losing some respect with the open source community, MS probably feels that they need all the help they can get to help keep them relevant or influential outside enterprise IT.
I think the best thing about a decentralized model is the guys who run release engineering can run their own clone and pull when it suits them. And developers can work on branches, merge locally and test everything correctly to their own satisfaction before pushing. When everything is centralized it is not uncommon to see some email telling people a particular branch is locked for a merge, or for a build and it can go on for hours or days.
Is a younger generation of developers influencing Microsoft?
I know a few Microsofties from my generation and older, and it's been a while since I've been a student. They've been using git on the sly for a while. Microsoft has a strong dogfood policy, but their VCS dogfood is really really awful.
SJW n. One who posts facts.
git init How hard is that?
Sometimes pretty difficult. My fiance told me there was no way I was going to git init.
You're kind of ignoring the elephant in the room, which is that Apple didn't write MacOS X from the ground up. Most of it is NeXT with a different GUI, and which in the beginning had an integrated old-school Mac API grafted on ("Carbon", which has mostly been deprecated in favor of the NeXT's traditional API). NeXT chose BSD because it was done by Avie Tenavian, whose CMU work on the Mach kernel (which used BSD) became the core of NeXT's OS. They chose BSD because Linux didn't exist yet and everything else was locked down pretty tightly. So you're talking about an OS with roots in the mid to late 80's and decisions inherited from that time. It's probably on a short list for being among the longest-surviving continuously maintained OS in common usage today, predating NT, Linux, Solaris, and many others.
E pluribus unum