Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,026 | Comments: 44,841

filter by tags archive

Enterprise Library License

time to read 1 min | 104 words

The issue of the EntLib licenses just came up in the mono dev list. Quoting from the license:

Platform Limitation - The licenses granted in sections 2(A) & 2(B) extend only to the software or derivative works that you create that run on a Microsoft Windows operating system product.

That really surprised me. I supposes it makes some sort of sense for Microsoft, but I don't like it.


Anders Norås

Agreed. I installed the CTP for EntLib 3.0 yesterday to take a look at the "Policy Injection" block (which wasn't there) and I got a creepy feeling when I read this.

Ayende Rahien

I looked at the policy injection block, it has a very invasive approach, requiring that you would use a special factory, etc. There is also an additional 20ms overhead of this in most scenarios. They don't even touch the debugging issues that this can cause, etc. I would have liked to see them using the dynamic override approach. And I have yet to see what kind of integration this has with object builder.

Overall, I was doing this kind of stuff two years ago... so I am not really impressed.

Anders Norås

Is the code available for download? After reading the "behind the scenes" post at edjez's blog I was suprised that they chose remoting proxies since this is very inefficient. It is said that you can write your own proxying impl., but I don't think many people will bother to do this.


Since the EntLib is for the .Net framework, which in turn depends on Windows OS, why does that bother you?

Do you see a scenario in which you'll develope something with EntLib NOT for MS Windows?

Ayende Rahien


I haven't looked at the code.

I have written my own proxy impl, or at least modified what hammett has written.

I can't think of many people who would try to make this kind of attempt

Ayende Rahien


Mono is an implementation of the .Net framework that runs on *nix.


But doesn't "... that run on ..." translate to "... that at least run on ..."? I cannot see an explicit prohibition that derivate works are not allowed to run somewhere else, but I'm not a lawyer though.

Comment preview

Comments have been closed on this topic.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats