Welcome to MSDN Blogs Sign in | Join | Help

MEF going MS-PL, the little engine that could.

clip_image001

MEF is going MS-PL!!!

Several weeks ago, we shipped our first drop of MEF on CodePlex. The source license for that drop was MS-LPL or the Microsoft Limited Permissive License. This license enables the source to be freely used on the Windows Platform.  Obviously, we don’t ship everything under MS-PL. In the case of MEF, it was our long-term plan because it made sense for us to do so, especially because it had the potential for universal appeal, including for cross-platform use.  Shipping MS-LPL was the easiest way for us to quickly get MEF out the door as we worked through some details.

Once we shipped we heard a bunch of feedback from the .NET community, including from Miguel De Icaza, founder of Mono. The crux of the feedback was that they wanted MEF licensed under an OSI-approved license, such as the MS-PL.  We have listened to the community feedback and are accelerating our efforts. Thanks for caring!

When / How?

It's already done! As a matter of fact if you check CodePlex, you'll see we're already there, and have released new source. There are two caveats to this move.

  • There is a piece of code that MEF currently depends on which we are not planning to ship as part of MEF's official release in the framework. For the current drop we have ripped this source into a separate System.ComponentModel.StructuredValues.dll which the new MEF source references and which is still under the MS-LPL license. The rest of the source that references the dll (which is 99% of MEF) is now MS-PL.
  • In order to put the new license in place, we've needed to purge the old releases and source. This is because Codeplex projects can't have source drops with 2 different licenses simultaneously.  Fortunately you can have one release that has 2 licenses as this one does. :-)  - Special thanks to Sara Ford and Pete Coupland for their last-minute after-hours fire-fighting jedi skills to get the purge done and the license change so we could get out the door.

We are doing this interim drop with the dll as a stop-gap measure. In the next full drop, which will be in about 3 to 4 weeks,  this dll dependency will be removed from MEF completely and the entire drop will be MS-PL.

Why not wait?

We could have waited and not done this interim drop. That would have been the easiest, and we would have had less explaining to do ;-) We chose not to wait based on your feedback. We want you to know that we heard you and are doing something about it. We want to show you sooner rather than later that we mean business.

What does all this mean?

It means you can grab MEF's source and use it on whichever platform you like!

If you take the source you are also free to fork it. MEF ships in the .NET Framework so we are going to be super responsive to customer asks. We hope that forking is not needed however it’s nice to know that it’s an option if necessary.

Go get it here: www.codeplex.com/MEF

Published Thursday, October 02, 2008 8:27 AM by Glenn Block
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# MEF going MS-PL, the little engine that could. : EasyCoded

# re: MEF going MS-PL, the little engine that could.

Well done, Glenn!  I'm always quite pleased to see Microsoft going the open-source route on their new frameworks.  I've been having lots of fun working with Composite WPF lately, and I'm looking forward to digging into MEF as well.  Even the best product documentation leaves a lot of unanswered questions, but being able to actually inspect the code yourself makes the prospect much more attractive.  Thanks for your efforts!

Best regards,

Mike

Friday, October 03, 2008 11:49 AM by Mike Strobel

# re: MEF going MS-PL, the little engine that could.

Thanks Mike, glad you guys are seeing benefit from it :)

Friday, October 03, 2008 2:22 PM by Glenn Block

# re: MEF going MS-PL, the little engine that could.

Non starter.

Going forward I'll release all my changes to open-source products on my own LPL. My LPL does not permit my code to be used under Windows.

Saturday, October 04, 2008 1:58 PM by rex

# re: MEF going MS-PL, the little engine that could.

Great job! I will try it out on Mono ASAP!

Wednesday, October 08, 2008 4:40 PM by Anthony Tarlano

# re: MEF going MS-PL, the little engine that could.

@Anthony

I recommend waiting until the next code drop in a few weeks. Currently the MEF source still has a dependency on a dll which is under MS-LPL (mentioned in my post). We are fixing this in the next code drop at which point that dll will no longer be needed, and the MS-PL source will be sufficient.

Thanks for your patience!

Wednesday, October 08, 2008 5:10 PM by Glenn Block

# re: MEF going MS-PL, the little engine that could.

Hi Rex

As I mentioned in the post and the comment above, the source is now pure MS-PL, but the dll dependency is not. By the next source drop nothing will be under MS-LPL.

Thanks

Glenn

Wednesday, October 08, 2008 5:11 PM by Glenn Block

# re: MEF going MS-PL, the little engine that could.

Rex:

Wrong blog post there, mate. ;)

Thanks for this, Glenn. The MS-LPL is a waste of time, so this is great to see. :)

Friday, October 10, 2008 8:01 AM by Bernard

# re: MEF going MS-PL, the little engine that could.

I know, I'm evil to ask that, but since you posted this more than "about 3 to 4 weeks" have past, so is there a fresh MEF drop waiting to be released anytime soon (like, tomorrow-soon?)

Wednesday, November 05, 2008 5:59 AM by Krzysztof Kozmic

# re: MEF going MS-PL, the little engine that could.

@Krzysztof

Not evil. We're a bit behind but working on getting a drop out the door. I'll be working to get this done now.

Wednesday, November 05, 2008 11:59 AM by Glenn Block

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker