ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
Open Source Libraries for.NET developers
1. Open source buffet for
.NET developers
Andrei Marukovich
LunarFrog.com
twitter: @amarukovich
2. .NET Open Source community
• 56k C# repositories on GitHub
• For comparison: 200K Java, 130K Ruby, 22K Go
• .NET Foundation
• Promotes .NET-related open source technologies
• 40+ projects including MSBuild, Roslyn, WCF,
Rx.NET, .NET Core and ASP.NET Core
• Visual Studio encourages use of OSS
• Installs Node.js, Cordova, Git; Python extension
• Default templates use 3rd party libraries
4. • Licensing
• Health of the project
• Library version tracking
• Many similar libraries, which to use?
Open Source software concerns
5. Licensing
• Always check license
• Absence of a license generally means that default
copyright laws apply
6. Project health and maintainability
• Risks
• Maintainer abandoned the project
• Breaking changes in the new version
• Mitigations
• Fork and maintain by yourself
• Use isolation layer between 3rd party library and
your code
7. How to control usage of OSS?
• Use central repository for all open source libraries
• Klondike
• MyGet, ProGet
• Nexus
• Artifactory
• No official NuGet package? Create your own.
• Configure NuGet to use your repository
13. NetMQ
• GNU Lesser General Public License v.3
• nuget.org/packages/NetMQ/
• A 100% native C# port of the ZeroMQ, a
lightweight high performance messaging library
• In-process, inter-process, TCP, and multicast
• Allow to build various patterns
• Pub-sub, load balancing, request-reply and others