Microsoft and GitHub Team Up To Take Git Virtual File System To MacOS, Linux (arstechnica.com)
An anonymous reader writes: One of the more surprising stories of the past year was Microsoft's announcement that it was going to use the Git version control system for Windows development. Microsoft had to modify Git to handle the demands of Windows development but said that it wanted to get these modifications accepted upstream and integrated into the standard Git client. That plan appears to be going well. Yesterday, the company announced that GitHub was adopting its modifications and that the two would be working together to bring suitable clients to macOS and Linux. Microsoft says that, so far, about half of its modifications have been accepted upstream, with upstream Git developers broadly approving of the approach the company has taken to improve the software's scaling. Redmond also says that it has been willing to make changes to its approach to satisfy the demands of upstream Git. The biggest complexity is that Git has a very conservative approach to compatibility, requiring that repositories remain compatible across versions.
Microsoft and GitHub are also working to bring similar capabilities to other platforms, with macOS coming first, and later Linux. The obvious way to do this on both systems is to use FUSE, an infrastructure for building file systems that run in user mode rather than kernel mode (desirable because user-mode development is easier and safer than kernel mode). However, the companies have discovered that FUSE isn't fast enough for this -- a lesson Dropbox also learned when developing a similar capability, Project Infinite. Currently, the companies believe that tapping into a macOS extensibility mechanism called Kauth (or KAuth) will be the best way forward.
Microsoft and GitHub are also working to bring similar capabilities to other platforms, with macOS coming first, and later Linux. The obvious way to do this on both systems is to use FUSE, an infrastructure for building file systems that run in user mode rather than kernel mode (desirable because user-mode development is easier and safer than kernel mode). However, the companies have discovered that FUSE isn't fast enough for this -- a lesson Dropbox also learned when developing a similar capability, Project Infinite. Currently, the companies believe that tapping into a macOS extensibility mechanism called Kauth (or KAuth) will be the best way forward.
Cool story bro.
Good thing you don't need GitHub to use Git, right?
It's not 1995. Microsoft of today is very different of the Microsoft from two decades ago. The presence of Azure alone guarantees that their old business approaches are irrelevant in today's market.
Microsoft has become one of the premiere open source providers. They've released a huge amount of great open source software, from .NET Core to Visual Studio Code to TypeScript and beyond.
Maybe it isn't apparent to people firmly stuck in the past, such as yourself, but Microsoft has leapfrogged many of the traditional open source companies.
People actually like using .NET Core on platforms like Linux and macOS. They like using Visual Studio Code, because it's an excellent cross-platform IDE. They love using TypeScript because it brings sanity to JavaScript.
Yes, Microsoft does embrace and extend open source software. And we're thankful for it! They're providing us some great improvements. That's what open source is all about: allowing a wide variety of contributors to improve the open source software.
As for the Extinguish phase you're fixated on, it's not an issue. They just aren't doing it. They can't really extinguish the projects based on the code they've released under very liberal open source licenses.
Frankly, I've had far better luck with the open source software from Microsoft than I've had with open source software from the traditional open source companies.
For example, software like .NET Core and Visual Studio Code has greatly improved my Linux experience. It has helped make me a more productive programmer. On the other hand there is a lot of software that didn't come from Microsoft, like systemd, GNOME 3, PulseAudio and NetworkManager, that has actually served to ruin my Linux experience in many ways.
I never thought I'd be saying this, but Microsoft really has helped improve my Linux experience, while many traditional Linux supporters have actually made it worse! I encourage Microsoft to embrace and extend open source software. So far I've found their contributions to be excellent.
The "problem" is that git takes a *conserv*ative approach towards compatibility?
So in other words: Microsoft would like to break git's compatibility with non-Windows?
YOU DON'T SAY!
How many times have we go through this exact story again and again?!
You do not deal with Microsoft. You do not talk to them, you do not take anything from them, you do not follow their suggestions, and you do not get in their van!
Lest you want to come out once as the skin worn by Microsoft, and once as dog food from the meat grinder.
Not to be that guy, but 'typo in headline.' "GNU/Linux" is misspelled. (Sorry, I guess it turns out that I AM that guy.) Second... it's Micro$oft, and therefore, the fact that it's a trap kind of goes without saying.
Our reign has gone on long enough. Indeed. Summon the meteors.
So what backdoors did they manage to stick in the upstream version of the Git source?
There are no git performance issues. There are Windows performance issues. In typical Microsoft fashion they aren't going to make their product better, but rather try to get others to behave differently so that they don't have to fix their garbage.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
I've heard of people using git for strange purposes (blogging?!) but for a second reading this headline I had the horrific thought that someone was attempting to create a filesystem backed by git.
Fortunately that's not the case, GVFS (not that other GVFS) provides a git-compatible filesystem abstraction on Windows 10.
Although I'm not a big git fan, I do have to say I'm impressed with Microsoft's recent moves toward open-source and interoperability. If the Linux Subsystem is ever a first-class citizen in the MS ecosystem, I could even see myself using Windows again.
The snow doesn't give a soft white damn whom it touches. -- ee cummings
This is what happens when you pick technologies by popularity and groupthink. Git has very real flaws: the worst UI of any source control system I've ever used, inability to deal with large repositories, a confused and overcomplicated operational model, trouble with storing large binaries. You can always spot the people who learned Git as their first VCS: when confronted with these problems, they'll say things like "monorepos are bad" or "the CLI tools were always meant to have 'porcelain' built on top of them, not used directly, so it's fine if they suck" -- they have drunk the koolaid and can't see things any other way or explain real counterexamples to the contrary.
For hobby projects these are academic problems, but if you're working at the scale of a complete operating system then you have to confront Git's weaknesses head-on and fix them. The fact that MS felt it was worth going down this rabbithole just to follow the crowd is sad.
They can suck my codpiece.
Damping absorbs vibrations. Dampening is caused by moisture.
No, it isn't generally fine. You can't have a distributed SCM and break the distributed part. Microsoft literally breaks git. I am guessing the half that was accepted upstream was the part that doesn't, and the half that does break it will never be accepted. Make no mistake about it their approach breaks git by design, intentional or otherwise.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Now MicroSoft tries to turn it into the opposite, asking developers to depend on some remote repository in order to be able to work.
The obvious agenda here is to make repository hosting first more centralized, then more "hosted at MicroSoft", then, once people depend on the hosted service, demand monthly fees for it.
Exactly. And what better authority than git's author? If you want to send him a patch, you just make a pull request, right?
Wait, the Linux team doesn't use github? Isn't that peculiar? :)
Why is this story at apple.slashdot.org ?
Nobody tell him GitHub already exists and charges money. Microsoft's interested in GVFS is because 1) Git sucks at handling large repos, and 2) Microsoft has a 270GB repo. /. article back in Friday had better comments, including one linking an article describing why they chose Git for source control, and what GVFS actually does.
The original
DATABASE WOW WOW
No, it's not peculiar. Keeping control of a _canonical_ git repository is very useful for a critical security system. It's awkward, but feasible, to link a local, working git repository to multiple upstream repositories such as github, gitlab, or an internal business managed erpository. I've certainly done so and guided technology partners in doing so.
First I would have to teach you how distributed SCM works, which is clearly beyond the scope of a Slashdot post. I'll try to summarize. If I fake clone Linus' tree (references only), then his tree subsequently becomes unavailable, then I am dead in the water, as is everyone using my repo as their upstream. That's the opposite of distributed. Sorry for making you look so stupid so quickly. Off you go now ...
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun