Licensing and debug mode in Visual Studio .NET

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
jp.gouigoux
Posts: 20
Joined: Tue 09 Jun 2009 10:23

Licensing and debug mode in Visual Studio .NET

Post by jp.gouigoux » Mon 29 Jun 2009 12:43

Hello,

I would like to know how the licensing works when a developper uses the debug tool in Visual Studio. Does he need a licence ? Suppose we have a WinForms exe, that calls a library DLL, that itself calls DevArt.Oracle.dll. I plan to integrate the licence in the EXE. Will developpers be able to debug the class library if they use the EXE compiled with licence ? What if I have to debug the EXE and the DLL altogether ? Does this mean I have to get a licence even for developpers who have nothing to do with database access ?

Thanks in advance.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 30 Jun 2009 10:57

Does the library DLL have the reference to Devart.Data.Oracle.dll or any other Devart assembly?

jp.gouigoux
Posts: 20
Joined: Tue 09 Jun 2009 10:23

Post by jp.gouigoux » Tue 30 Jun 2009 11:01

Yes, the EXE references the library DLL and the library DLL references Devart.

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Tue 30 Jun 2009 13:45

If this DLL is used only inside your company (if this wrapper is not distributed), and developers don't use our classes directly, - you don't need the license for the developers who will debug the class library in this case. Otherwise, the license is required, please take a look at the Team and Site licenses.

jp.gouigoux
Posts: 20
Joined: Tue 09 Jun 2009 10:23

Post by jp.gouigoux » Tue 30 Jun 2009 14:17

The DLL is distributed to our customers. The developers never use it directly, though : the DLL library is a wrapper to all their connections to the database. Since the licence is in the EXE, does this mean that only the developers debugging the library and building the EXE in the same time will need the licence ? What about the developers that will start the EXE containing the licence, but not compile it during the debug ?

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Wed 01 Jul 2009 15:14

To exclude misunderstanding the issue, lets sum up the Devart license position: developer is allowed to compile the asssembly (EXE or DLL) with the direct references to the Devart assemblies only in the case if he has the Devart license.

What do you mean under "debug"? Does it include only finding the bugs? Or recompiling the application too? If you need to recompile your DLL, please move your data access level to the separate DLL and use it through its own interface. This data access DLL is allowed to be compiled only by the developer with the Devart license.

Be aware, according to our license agreement you may not distribute Devart assemblies as a part of another libraries ("wrappers"), components, or frameworks. It means you can create and distribute a wrapper only in the case if this wrapper is a part of your application, and it can be used only by your application. Other programmers may not develop any applications that use or are based on the Devart assemblies explicitly or implicitly without obtaining an appropriate license from Devart. An exception to the rule: this DLL can be used only inside your company by the developers who are working on this project too.

jp.gouigoux
Posts: 20
Joined: Tue 09 Jun 2009 10:23

Post by jp.gouigoux » Thu 02 Jul 2009 08:22

As far as I understand the last part of your message, I think we comply with the licence : we distribute an application that is twofold : a Winforms client (that has not DB connectivity) + a set of ASP.NET web services. This second part of the application is the one that calls the DB. It is composed of several libraries, one of which is called AGLNETDB : this is a library that we use to unify our calls to the different DB (Oracle, SQLServer, ...), and also to ease the job of our developers (he can just call ExecSQL, without bothering about obtaining a connection, opening it, closing, etc.)

This library is only used by us and never directly by our customers. In fact, they do not even use the web services directly, they always do so by using the client we provide them with as part of the solution. I wait for your confirmation on this, but I trust this is OK for the licence.

Now for the debugging part : when server-side developers debug the application, they use a Visual Studio solution with the different libraries used, and in particular this AGLNETDB. If I understand correctly your message, the developer who will have the corresponding project open because he is in fact debugging this particular library, or at least thinking the bug may be in it (and thus need to recompile it to activate the debugger) will need the licence. That is OK. But what about the developer who is debugging another library of our server, that uses a compiled AGLNETDB.dll and its corresponding .pdb ? He is going to compile against the AGLNETDB.dll, but since the licence is not in the AGLNETDB.dll, but in the App_Licence.dll, will he be able to go on and debug ?

That's quite complicated to explain by message. If you need more information, can you please give me a phone number where I can contact you ?

Thanks in advance

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 02 Jul 2009 15:47

There are 2 sides of license - license agreement and technical licensing of Microsoft .NET Framework.

License agreement

Our product is licensed for developers (not for a workstation or a server). There are three types of developer license: Single, Team and Site. The type of the developer license depends on the number of developers who will use the Devart product. Developer license allows you to use dotConnect for Oracle, i.e. to compile the assemblies which have the direct references to the Devart assemblies, to use Devart classes.

As we mentioned in the previous post, if the debug includes recompilation of the assembly that has the direct references to the Devart assemblies, the developer license is required for the developer who compiles this assembly.

Technical licensing of Microsoft .NET Framework

Your application architecture meets the requirements of our license agreement.
You indeed can embed the *.licenses resource to EXE (e.g., by adding the licenses.licx file into the project) and this will work for the architecture of your application.
Development, compilation and debug of DLL and EXE, which don't have the direct references to the Devart assemblies, can be performed without installation of dotConnect for Oracle by the developers who don't have the developer license.
Developer license is required for the development and compilation of AGLNETDB.dll because it has the direct references to the Devart assemblies and uses our classes. No license is required for debug of AGLNETDB.dll, if it will not be recompiled.

jp.gouigoux
Posts: 20
Joined: Tue 09 Jun 2009 10:23

Post by jp.gouigoux » Thu 02 Jul 2009 16:21

OK. Thanks for that clarification.

Post Reply