Portable Class Libraries just got REALLY useful with new licensing changes
It takes a little while to turn a large ship. I love the .NET community and I'm happy to have been a part of it from the beginning. I'm also happy that I'm helping (in a small way) turn the ship from the engine room along with a lot of like-minded individuals.
Sometimes what seems like a "can't you just" request requires days and weeks of legal this-and-that and meetings and "alignment" (that's a thing business people LOVE to say). But if you're patient and keep pushing, change happens.
You have have noticed on the .NET Blog this week that Portable Class Libraries are now enabled for Xamarin. You perhaps remember this post on Portable Class Libraries that I wrote, with this screenshot:
Today on 2013 with Xamarin installed, I see this after File | New Project.
Of course, there's still wasted space, but I hope you can see the change. ;) The more interesting, perhaps, change is the legal licensing changes to make sure you're allowed to use useful Portable Libraries on other platforms, like Xamarin.
In my original post there were negative (and these discussions continued on Twitter and UserVoice) comments like:
Hi Scott, unfortunately that wasted space you refer to can't be used until MS changes the licensing on many of their Nuget components (e.g. HttpClient) as these stipulate that they have to be used on Windows systems... making them far from portable!
Are you aware of this, and do you know whether this situation will change in the near future?
Yes, it just changed. We've been lifting these as fast as we could, starting with ASP.NET Katana in July, getting PCLs everywhere, and finally changing licenses on ALL these libraries this week.
- Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 and 8
- Microsoft ASP.NET SignalR .NET Client
- Microsoft BCL Build Components
- Microsoft BCL Portability Pack
- Microsoft Composition
- Microsoft Compression
- Microsoft HTTP Client Libraries
- Microsoft Immutable Collections
The lifting of this restriction also applies to some non-portable libraries like, ALL the Microsoft .NET NuGet Libraries, the Entity Framework and all of the Microsoft AspNet packages.
Go forth and be happy. Even better, you can use these portable libraries as dependences to new portable libraries that you create and share.
Ships may turn slowly, but they do turn, and ultimately, in significant ways.
Sponsor: Thanks to Red Gate for sponsoring the feed this week! Easy release management: Deploy your .NET apps, services and SQL Server databases in a single, repeatable process with Red Gate’s Deployment Manager. There’s a free Starter edition, so get started now!