Welcome to the first of a series: our regular .NET Foundation updates! We’ll be posting these on our blog, but to make sure you don’t miss one, please subscribe to get them via e-mail.

Sign up to get the .NET Foundation Update via e-mail

We’re planning to send these out at the beginning of every month going forward, so that means you should see the February one in just a few weeks. Don’t worry, we want to keep these short, interesting, and low-noise, so we won’t overload your e-mail.

.NET Foundation Updates

Meetups

The .NET Foundation has sponsored a .NET Meetup Pro group and now has over 100 member groups. If you’re looking for a .NET Meetup in your area, this should help you find Meetups that are focused on .NET; if you run a .NET meetup we’ll pay for your Meetup Pro membership.

Please help connect us with other groups you're aware of that haven't joined yet by dropping me a note jon@dotnetfoundation.org or leaving a comment below.​


Open Collective

One issue many open source projects deal with is handling finances in an open source friendly way. We've set up an umbrella organization under Open Collective to make it easier for your projects to accept money (donations, sponsorships, bounties) and to make payments in an open, transparent way. For an example of an open source project where this has worked really well, see the webpack Open Collective: https://opencollective.com/webpack. Open Collective's model is that a parent institution (in this case, .NET Foundation) holds the money for you. This is especially useful for community projects with several owners who don't want to deal with deciding who holds the money and dealing with accounting, reporting to the community, etc.

You obviously have other options, and I'd encourage you to do whatever makes the most sense for your project. For instance, in working with the IdentityServer team, we agreed that Patreon made more sense for them (https://www.patreon.com/identityserver).

If you host a .NET Meetup or run a .NET Foundation project and would like to get set up with Open Collective, e-mail me at jon@dotnetfoundation.org.

CLA System Upgrade

One of the technical services we offer .NET Foundation projects is access to our Contributor License Agreement (CLA) automation system for GitHub pull requests. We’ve recently completed a pretty significant upgrade from our previous legacy system. The new system is build on the open source CLA Assistant  project and is a lot more reliable and easy to maintain. Users will have a better experience since they can just click through in the browser (no need to use DocuSign). Project owners will see less noise on the repo as the CLA messaging is cleanly integrated into the GitHub required pull request review steps and doesn't add status comments to the pull request.

One of the features of the new system is that it's easier to add new projects. We’re still working through getting some new projects onboarded, but it’s a much simpler process now.


.NET Foundation Project News

UWP Community Toolkit

The UWP Community Toolkit was recently updated to v2.1 which introduced new helpers for composition animations and visuals, new DockPanel control, support for new FCU controls and more to simplify and demonstrates common developer tasks building apps for Windows 10. Contributors are always welcomed to submit issues or pull request to add new awesome features.

More information on the new UWP Community Toolkit release is in this announcement post.

BenchmarkDotNet

BenchmarkDotNet v0.10.12 has been released!

There are a lot of improvements in the main .NET benchmarking tool:

  • New TailCallDiagnoser: now you get notifications when JIT applies the tail call optimizations to your methods.
  • Improved MemoryDiagnoser: it has a better precision level, and it takes less time to evaluate memory allocations in a benchmark.
  • Improved DisassemblyDiagnoser: BenchmarkDotNet contains an embedded disassembler so that it can print assembly code for all benchmarks; it's not easy, but the disassembler evolves in every release.
  • Better environment info: when your share performance results, it's very important to share information about your environment. The library generates the environment summary for you by default. Now it contains information about the amount of physical CPU, physical cores, and logic cores. If you run a benchmark on a virtual machine, you will get the name of the hypervisor (e.g., Hyper-V, VMware, or VirtualBox).
  • Better summary table: one of the greatest features of BenchmarkDotNet is the summary table. It shows all important information about results in a compact and understandable form. Now it has better customization options: you can display relative performance of different environments (e.g., compare .NET Framework and .NET Core) and group benchmarks by categories.
  • Other minor improvements and bug fixes

Read more in this announcement post.

Polly

Major new features added to Polly over the last few months include:

Next on the roadmap is enabling policies to emit events which could be streamed (for example by Rx) as telemetry to dashboards.


Community Links and News

The .NET Foundation is on Facebook now. Please like our page! We’ll post regular updates and interesting things happening with .NET to share.

Recently Matt Warren, a .NET MVP, wrote up this pretty interesting post on Open Source .NET - 3 Years Later (http://mattwarren.org/2017/12/19/Open-Source-.Net-3-years-later) . In the post, he highlights the community's involvement in .NET repositories. It’s amazing to see the growth we’ve achieved in just three years. I’m very encouraged by our fantastic community contributing to .NET open source.

The .NET Foundation is also on YouTube. Watch community standups and design reviews as well as code-focused shows and interviews across our multiple playlists.

Youtube

Do you have an interesting piece of news or content related to .NET open source? Let us know so we can include it in next month’s update by posting a comment below.


Remember to Subscribe!

Please sign up to get the .NET Foundation Update via e-mail.

Subscribe

We’re planning to send these out at the beginning of every month going forward, so that means you should see the February one in just a few weeks. Don’t worry, we want to keep these short, interesting, and low-noise, so we won’t overload your e-mail.

It’s a big week! Yesterday at Microsoft Connect, we announced that Steeltoe is joining the .NET Foundation. Today, we’re really happy to announce seven more great projects are joining!

DNN Platform (formerly DotNetNuke) is a very popular, full featured CMS Platform with a rich developer community and extension ecosystem. DNN has been a trailblazer in the .NET open source world, released 15 years ago and taking a great leadership role in .NET open source over the years, including of course DNN founder Shaun Walker’s chairmanship of the .NET Foundation’s Advisory Council. Read the DNN Software team’s announcement post here.

NUnit is very popular testing framework. The project has been around since 2000 and by my count has almost 15 million downloads on NuGet (although of course it predated NuGet by over a decade). The NUnit maintainers have worked tirelessly for years to help the .NET community ship higher quality software, and we’re so happy to be able to support this valuable project. The NUnit team has written about joining the .NET Foundation here.

IronPython is another long-running .NET open source project, having been in active development for over a decade. Originally developed by Microsoft, IronPython has been maintained by the community since 2010. We’re happy to invest in this project for the long term, and are excited to be working with the awesome Alex Earl, who’s been leading development efforts for IronPython and the DLR for the past year. Here’s the IronPython team’s post about joining the .NET Foundation.

MvvmCross is a really cool project that helps you build native applications for Xamarin, UWP and WPF using the Model-View-ViewModel (MVVM) pattern. We first worked with them during the .NET Summer Hackfest, and without question they were our model project, with 57 pull requests and a great mini-conference to show for it. They’ve got a great community and an incredibly (frighteningly?) competent leadership team. During our meetings for the .NET Summer Hackfest, we both agreed they’d be a great addition to the .NET Foundation, and we’re so happy to welcome them. Here’s the MvvmCross team’s post about joining the .NET Foundation.

SourceLink is a set of build tools to help create and test support for source linking, which works with the Portable PDB format to download source code on demand while you’re debugging. It’s a great example of the community jumping in to fill in a much needed gap. Cameron’s been working on this for years, and we’re happy to support him and his team.

ILMerge is a static linker for .NET assemblies. ILMerge has saved the day for me more than once, and I was really excited when Mike Barnett reached out to ask about contributing ILMerge to the .NET Foundation. Welcome!

Humanizer is a library that helps you manipulate and display strings, enums, times, numbers and more. It helps you build more friendly applications by expressing programmatic values in clear language: a timespan becomes “1 year, 3 months, 29 days”, it handles text manipulations like hyphenation and truncation, and it works across dozens of languages.

The .NET Foundation has a mandate – and a passion – to support the .NET open source community. We’re thankful for the trust our member projects place in us, and energized by the opportunity to support them.

More good stuff coming,
Jon

The .NET Foundation is happy to announce that Steeltoe is joining the .NET Foundation!

Steeltoe is an open source project that enables .NET developers to implement industry standard best practices when building resilient microservices for the cloud. The Steeltoe client libraries enable .NET Core and .NET Framework apps to easily leverage Netflix Eureka, Hystrix, Spring Cloud Config Server, and Cloud Foundry services.

Steeltoe is a rich open source framework, developed by Pivotal. It helps solve some complex requirements of real-world microservices applications such as:

  • Service discovery via a .NET client for Netflix Eureka
  • Cloud configuration that leverages Spring Cloud Config Server and a custom .NET Configuration Provider
  • Circuit Breaker implementation to bypass failing services using a .NET implementation of Netflix Hystrix
  • Cloud Connectors to automate configuration and wireup for Redis, RabbitMQ, MySQL and Postgres
  • Cloud Security Providers which integrate ASP.NET Core authentication and authorization with Cloud Foundry security services

For more information, see Steeltoe’s announcement post.

.NET Summer Hackfest is a .NET Foundation sponsored, community run open source hacking party. We’ve got a series of three sessions, each two weeks long, and we’ve just finished the second session. You can read more about the overall event and how to get involved here.

Session 3 just kicked off this Monday with some great projects. If you’ve been waiting to get involved, this is the last session for .NET Summer Hackfest 2017, so now is the time!

Humanitarian Toolbox

Humanitarian Toolbox builds open source projects for humanitarian (e.g. disaster relief) organizations. They’ve got a great history of hosting .NET hack events and know how to build sustainable open source projects, so I’m thrilled to have them aboard!

This is a very mature project with an experienced team to help you get up to speed with contributing to a .NET open source project, so if you’re new to .NET open source, this is a great way to get started. It’s real software that’s being used by the Red Cross to save lives. This is an amazing opportunity to use your programming abilities to do something really worthwhile while learning some cutting edge skills (they’re running on .NET Core 2.0).

Here’s a video from the project kickoff during the Humanitarian Toolbox Community Standup from this Tuesday:

And here’s all you need to get started.

MvvmCross

MvvmCross is an MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac. We’ll be converting it to .NET Standard and looking at documentation and up-for-grabs issues.

The MvvmCross has really put some work into planning this project out. Here’s their information page overviewing their goals, how to get started, and their in-person events. Over 60 people have registered to participate in this hackfest project so far!

If you’re near Amsterdam, register for the MvvmCross and Xamarin HackDay event on September 2. This looks like a great time, including some local speakers and some exciting special guests.

Here’s the video from the team’s HackFest Kickoff event which tells you everything you need to get started:

Akka.NET

Akka.NET is a port of the JVM Akka distributed actor framework and it supports a large range of capabilities, runtimes, and plugins. Akka.NET is used in everything from Xamarin apps to WPF to large-scale distributed systems running on top of Azure and Amazon. And they just joined the .NET Foundation. :-)

Akka.NET is used in a lot of high performance, mission critical installations, and they’re doing some pretty advanced, high-performance stuff. This is a tremendous opportunity to work with a great team on some pretty advanced software.

Here’s their overview page which tells you everything you need to get started.

ImageSharp

ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics API designed to allow the processing of images without the use of System.Drawing. Using a modern, generic API that focuses on making common tasks easy to perform but gives you the tools for complex operations ImageSharp is a great alternarive and can be used in device, cloud, and embedded/IoT scenarios.

In my personal experience, working with imaging and graphics can be really fun, but it can also be pretty hard to learn on your own since you’re working with some complex APIs. This is a great project to get going with graphics programming, as you’ll be working with a  very experienced team.

Here’s how to contribute to the ImageSharp hackfest.

.NET Summer Hackfest is a .NET Foundation sponsored, community run open source hacking party. We’ve got a series of three sessions, each two weeks long, and we’ve just finished the second session. You can read more about the overall event and how to get involved here.

In the next post, I’ll be sharing more about how you can get involved in our final session for this event. This post is all about calling out the the exciting things our Session 2 projects accomplished.

DotVVM: An Open Source MVVM framework for Web Apps

DotVVM is an innovative MVVM (model-view-viewmodel) front-end web framework that offers a clean programming model, over 25 built-in controls, and support for both “classic” ASP.NET (OWIN) and ASP.NET Core. The DotVVM team had a pretty ambitious list of goals, and it’s great to see all they got done in just two weeks!

Since the project core team is located in Prague, they hosted an in-person event. In just one day, they:

  • Got a good start on a Visual Studio Code extension
  • Created a prototype to enable using React components as DotVVM controls, dramatically increasing the number of controls available to DotVVM developers
  • Created a property to allow globally enabling or disabling all controls on a form


See the DotVVM blog to read more about their hackfest event, as well as this summary of all they’ve accomplished in the past two weeks.

Brighter: A Lightweight Command Processor and Dispatcher

Brighter is a Command Processor & Dispatcher implementation that can be used as a lightweight library in other projects. It can be used for implementing Ports and Adapters and CQRS (PDF) architectural styles in .NET. The team saw several new contributors, got a bunch done and has a few issues still being worked on. Bringing new contributors on to projects who could continue to participate after the session ends was one of our goals, so it’s great to see that happening!

The Brighter team hosted a meetup in London, which looks like it was both a productive and fun time.

Thanks!

A huge thanks to the project leaders for organizing, and to those who showed up. It’s fun to see some contributors participating in both sessions so far!