Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use DeepZoomTools.dll in my project and Nuget package?

I'm trying to implement OpenSeadragon viewer with Deep Zoom Image (.dzi formart) support.

To make thing work correct I should create tiles and proper xml on server side.

Microsoft has Deep Zoom Composer that contains DeepZoomTools.dll. It provides functions that I need. I added this dll to my project.

So I have some questions:

  1. Is there any legal problems with using this dll on server side since it's part of SilverLight 3?
  2. I want to create NuGet package and Github repository with my wrapper above this library, so can i use DeepZoomTools.dll in this package? What kind of license I can use in my Github project then?
  3. Can I decompile DeepZoomTools.dll and make some changes to it in order to add some functions and then use it in projects and NuGet package?

And last question: Is there any .net alternative library for this purpose? (I know that we can't ask here about working libraries but still)

like image 806
teo van kot Avatar asked Sep 28 '16 10:09

teo van kot


1 Answers

Apologies in advance for the length of this post but I felt it necessary to present as much information as I could find given tricky nature of licenses and my lack of legal expertise.


Given the age of this tool, there's not a lot of resources to go on. I managed to find redistribution question in comments of the original msdn blog post with answer from the author and screenshotted the relevant bits in case the blog posted goes away eventually (highlight mine):

Deep Zoom Composer redistribution question & answer in comments

Unfortunately it seems Live Labs is a dead end now.

Then I turned to License agreement that you sign when you install the msi and sure enough it covers redistribution. Specifically Clause 2a and I'll post it here to save others having to download and install msi just to read that bit (but please do go through the entire license):

Pertinent License Bits from Installation MSI ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS - Distributable Code

Pertinent Contents of REDIST.TXT referenced above

DeepZoomTools.dll

EDIT: I forgot to answer your specific questions in my research efforts so here's my take on it given above information

Is there any legal problems with using this dll on server side since it's part of SilverLight 3?

Given the restriction of windows only distribution, unless you can ensure in some way that your solution will be limited to the same, I don't think you can safely use this dll.

I want to create NuGet package and Github repository with my wrapper above this library, so can i use DeepZoomTools.dll in this package? What kind of license I can use in my Github project then?

Again, as long as you can ensure the windows only restriction you can create the Nuget from my understanding. Technically since .Net can run on other platforms via mono, it'll come down to your license restriction to prevent that. Which brings us to second part of your question: What kind of license for Github repo. The answer to that is in Clause 2.a.ii second point: it has to be at least as restrictive as the license of this DLL.

Can I decompile DeepZoomTools.dll and make some changes to it in order to add some functions and then use it in projects and NuGet package?

Clause 4 1st & 2nd point of the license specifically prohibits decompilation or to workaround technical limitation so that's a solid no to your question

SCOPE OF LICENSE

Is there any .net alternative library for this purpose

I've noticed a similar project on github (though 7 years old so I doubt API will be a full match still) that employs GTK Sharp. Perhaps you can use the same approach? I'm not familiar with DeepZoom format itself to conclusively help you out here.


You may want to ask clarification questions at the relevant msdn forums

Kirupa.com still appears to be alive and well, you may wish to reach out in their forums and seek clarification possibly since the author of reference blog post posted her email address from that domain (though i doubt its live now that Kirupa is MS).

Disclaimer: As usual, I'm just another developer and not a legal expert. To the best of my understanding you can use the dll in your code and redistribute it but unfortunately with restrictions as laid out in license agreement that you agreed to when you installed the program. However you may wish to get a competent software copyright lawyer's advice on the matter.

like image 83
Maverik Avatar answered Oct 23 '22 05:10

Maverik