License

Topics: Data Access Application Block, Exception Handling Application Block, Logging Application Block, Security Application Block
May 20, 2014 at 8:04 PM
Hi,

The msdn (http://msdn.microsoft.com/en-US/library/dn169621.aspx) states that the Enterprise Library 6 – April 2013 is governed by the Microsoft Public License (Ms-PL). Here codeplex states that it is governed by Apache License 2.0.

What information is correct?

Thank you,
Liliya
May 20, 2014 at 9:02 PM
I believe that both are correct. Enterprise Library 6 was released in April 2013 under the Ms-PL. Later in October/November 2013 the blocks were refactored into separate projects/repositories and released under the Apache License 2.0.

You can see Enterprise Library's license history at: http://entlib.codeplex.com/license .

~~
Randy Levy
entlib.support@live.com
Enterprise Library support engineer
Support How-to
Marked as answer by bennage on 5/23/2014 at 9:58 AM
May 21, 2014 at 6:16 PM
Randy, thank you for the reply. Is there any way to find out for sure which license is correct? It seems odd that both are correct.
May 23, 2014 at 5:58 AM
Perhaps you could explain your specific situation? That might help guide an appropriate answer (bearing in mind that I'm not a lawyer). If you are using NuGet packages, each package has a license on the appropriate NuGet.org package page.

~~
Randy Levy
entlib.support@live.com
Enterprise Library support engineer
Support How-to
May 23, 2014 at 5:48 PM

Hi Randy,

We are trying to figure out from legal point of view whether we can use the components of this library (for example, data access block) within our custom tools that we deploy on our hosted environment and possibly on Accenture client deployments. In order to talk to our legal personnel, we need to know exactly which license governs the library.

Best regards,

Liliya

May 24, 2014 at 4:50 AM
Can you ask legal to vet both licenses? :) Apache 2.0 license is quite common so they might already have policy/determination around that license. Seriously, it would be good to know for you because both licenses could be in play depending on what blocks you are using and what release. Without knowing exactly what blocks and what release you want to use you won't know what license applies.

For example, the packaged Data Access Block (NuGet, and EntLib April release) is licensed under Ms-PL. But if you download the source from the repository and build it yourself it would be licensed under Apache 2.0. Another example is the Semantic Logging Application Block; the EntLib April release is licensed under Ms-PL but the current NuGet package (and source) is licensed under Apache 2.0.

At least that's my I-am-not-a-lawyer take.

~~
Randy Levy
entlib.support@live.com
Enterprise Library support engineer
Support How-to
Jun 4, 2014 at 6:01 AM
Hi Randy,

As I understand from your response, if we plan to extend the existing application blocks then we would have to include the Apache 2.0 license file while deploying the updated dlls. However, for example, if I use the out of the box packaged Data Access block licensed under Ms-PL then I would have to include the Ms-PL license file while deploying it.

Am I correct?


Thanks & Regards,
Richa Parkar
Jun 5, 2014 at 5:07 AM
As a person who is not a lawyer, my take is that if you want to extend (by modifying source code) then the license that applies would be the license that the code was released under. If you modify the Data Access Application Block source code for the April 2013 release (which can be downloaded) then the Ms-PL but if you modify the current CodePlex source code then the Apache License 2.0 would apply.

~~
Randy Levy
entlib.support@live.com
Enterprise Library support engineer
Support How-to
Jun 6, 2014 at 5:33 AM
Thanks for your response Randy.