Using the Microsoft.VisualStudio.Zip assembly
Fri, Mar 14 2008 10:50
I got an email today asking about the use of the Microsoft.VisualStudio.Zip assembly.
my name is XXXXXX and I'm from XXXXX.
I'm writing a custom .Vsi writer and I saw that in the Code Snippet Editor for VB 2008 (a great tool!) you made use of the Microsoft.VisualStudio.Zip assembly.
What are licenses related to this assembly? I mean.. can I reference it to a project of mine (which I'll release as an open source) or only Microsoft people can use it?
That's not an easy question to answer as I am certainly no lawyer. But I did use it, and Microsoft has pointed to and distributed the code I wrote that uses it. But I am not from Microsoft, and Microsoft may have done that unknowingly.
The Microsoft.VisualStudio.Zip library ships with Visual Studio and is installed in the GAC, but usually you need to turn off fusion view to reference it. My belief is that as long as you don't distribute the dll then there is no licensing issue. And I believe that you may even be technically able to distribute it to systems that have Visual Studio as they have a license to use it, but that's a grey area.
Personally, I think intent is the real issue, and I honestly can't see anything bad in anyone referencing the assembly if they are writing tools to extend Visual Studio in a manner that doesn't compete with Microsoft's different SKU's.
The sad thing is Microsoft doesn't actually provide a Zip library as part of .NET that you can reference and use in ANY project. They provide and use Zip for their Packaging classes but they only include API for working with office OpenXML files. They also provide the gzip stream stuff, but there's a fair bit of work to make that work with actual zip files. The sad part of this is Microsoft views zip as important, be it .VSI files and Visual Studio, or OpenXML files such as docx etc which are renamed zip files, yet they don't provide a Zip library as part of .NET, even though they have written one and use it themselves.