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,128 | Comments: 45,550

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.


  1. The worker pattern - about one day from now

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats