Git Product home page Git Product logo

Comments (10)

sanoursa avatar sanoursa commented on June 27, 2024 10

The current GvFlt EULA is a bit restrictive because GvFlt is simply not ready to ship yet, and we're not ready to make any claims about its quality, or to service it. That said, we wanted to get GVFS out there as soon as possible, and didn't feel that it made any sense to release the user mode code without at least a functioning preview of the kernel mode driver too.

That said, we're very keen to get GvFlt out there as soon as we can. We just have a few issues to sort through before we can finalize the details of how we will release it.

from vfsforgit.

sanoursa avatar sanoursa commented on June 27, 2024 10

Back to the original question of GvFlt source code:

GvFlt is a generic driver to support user mode file system driver extensions on Windows – there is absolutely nothing about Git in it. It’s an odd historical artifact that it’s called GvFlt and I doubt that name will endure. A year or so ago, when we settled on the basic approach for GVFS, we asked the Windows file system team to help us (we, the Git team, really aren’t experts at file system drivers and they are hard to get right). The Windows team built GvFlt for this as well as other engineering scenarios which benefit from file abstraction. To us, the Git team, we were taking a dependency on a Windows feature expecting at some point it would ship as a fully supported part of Windows.

Given the interest in seeing the source, the Windows team has said they’ll explore open sourcing it but not until they sort out how it lands in a Windows release. As we look at porting GVFS to other platforms (and we do plan to), we’ll obviously be using OS mechanisms native to those platforms – GvFlt is entirely Windows specific.

from vfsforgit.

DrPizza avatar DrPizza commented on June 27, 2024 8

Nope, that's not it. There's a nuget package referenced in packages.config. The package is Microsoft.GVFS.GVFlt, and it's that package that includes the .sys file.

If we're not getting the source code to the filter driver, at least give it a proper digital signature so that we can use this without enabling test signing. Requiring test signing only makes sense when we're building the driver ourselves.

from vfsforgit.

DrPizza avatar DrPizza commented on June 27, 2024 8

A driver that could serve as a model for a network-backed "virtual" filesystem on Windows could find applications beyond git. I don't know if this driver would necessarily serve such a role, but I feel like it could. This wouldn't completely close the weakness that Windows suffers from not having FUSE, but it would help.

from vfsforgit.

sanoursa avatar sanoursa commented on June 27, 2024 1

The GvFlt filter driver is currently only available as a test-signed preview. I will share more detail about when/how it will be released as soon as I know more.

from vfsforgit.

shmuelie avatar shmuelie commented on June 27, 2024

https://github.com/Microsoft/GVFS/tree/master/GVFS/GVFS.GvFltWrapper

from vfsforgit.

DrPizza avatar DrPizza commented on June 27, 2024

Huh, so this blog post describes the driver as the "moral equivalent" of FUSE and says that the Windows team is involved. Does this mean that we're going to get an extensible signed version of the driver so that we can finally have FUSE for Windows?

from vfsforgit.

indygreg avatar indygreg commented on June 27, 2024

Will the eventual open sourcing of the file system filter driver be under a more favorable license than the EULA currently allows (which restricts to use with GVFS or for "internal business purposes")? Specifically, I'm looking for the freedom to fork the code for non-GVFS use cases, including scenarios that may not fall under "internal business purposes."

from vfsforgit.

sskras avatar sskras commented on June 27, 2024

I bit of offtopic, still maybe relevant:

@DrPizza:

A driver that could serve as a model for a network-backed "virtual" filesystem on Windows could find applications beyond git. I don't know if this driver would necessarily serve such a role, but I feel like it could. This wouldn't completely close the weakness that Windows suffers from not having FUSE, but it would help.

@indygreg:

Specifically, I'm looking for the freedom to fork the code for non-GVFS use cases, including scenarios that may not fall under "internal business purposes."

I may look cpt. obvious-like, but there are two other open source projects which do this + have FUSE wrappers too:

https://github.com/dokan-dev/dokany (LGPL 3.0)
https://github.com/billziss-gh/winfsp (some commecial + GPL 3.0 now)

There was also Fuse4win, but it seems defunct and found only as a snapshot:
https://github.com/freddy77/encfs4win/tree/master/fuse4win-070d3a2e43de (LGPL 3.0)

from vfsforgit.

rhuijben avatar rhuijben commented on June 27, 2024

Any news on this?

from vfsforgit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.