.NET Summer Hackfest is a .NET Foundation sponsored, community run open source hacking party. We’re almost done with Session 1 and ramping up for Session 2, so here’s some info on what we’ve been up to and how you can get involved.

Here’s the most important part: Session 2 runs from August 7 – August 18 and includes two exciting projects: Brighter and DotVVM. It’s open to everyone, from absolute beginners to experienced .NET open source developers. Here’s a great time to get involved with your .NET open source community!

Session 1 Progress: Keen IO SDK port to .NET Standard

We started with one project for the first session: porting the Keen IO SDK to .NET Standard. Keen IO is a really cool event data platform that’s really developer friendly. At the free level, they give you $20 credit per month, which works out to 2 million streamed events. They also give discounts to OSS projects, and they’ve got open source API libraries for a lot of frameworks.

The team started with a straightforward porting goal, but I pushed them to include some stretch goals to keep them busy. They’ve made great progress, as you can see from the Kanban board below.

Some highlights for this project:

  • The core SDK, tests, and build have been ported to .NET Standard
  • The code is all running on Windows, Ubuntu and MacOS under .NET Core (hooray)
  • Cross-platform Continuous Integration is set up on AppVeyor (for Windows) Travis CI (for Ubuntu and macOS)
  • We learned a lot for the projects we’ll be doing in Sessions 2 and 3 (my selfish goal for this project)
  • We had a one on one call with Immo Landwerth to get some advice on some interesting .NET Standard issues
  • The Keen IO dev team have been phenomenal hosts!
  • Most important for me: we had some great commits from the community around the world, including several pull requests from Tarun and Don

Session 2 Projects Kicking off Monday, August 7: Brighter and DotVVM

If you’ve been keeping an eye on .NET Summer Hackfest but haven’t got involved yet, now is the time! We’ve got two established .NET open source projects run by some well known .NET community leaders. Both are planning some local in-person community events as well.

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.

Here’s what they’ll be working on and how you can get involved.

Also, if you’re in or near Prague, they’ll be running a full day Hackfest event at the Microsoft office in Prague on Friday, August 11.

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. They’ll have some smaller up-for-grabs issues for folks who are getting up to speed as well as some more ambitious work to implement abstractions to facilitate additional middleware such as Redis, Kafka, and Event Store.

We’ll have some more information on how you can get involved in the Brighter hackfest within the next day.

Let’s Do This!

This is your open source .NET Community! Now’s a great time to show up and make an impact!

Beginners, here’s a great chance to get involved and level up your open source .NET skills.

Community leaders, let’s take this chance to build the development community you want to see.

Please join me in welcoming AutoMapper to the .NET Foundation!

AutoMapper has been a popular library in the .NET open source community for a long time. As their site says:

AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?

Thanks to Jimmy Bogard and the AutoMapper team for building and actively maintaining this project for so many years! Welcome!

You can read more about AutoMapper, including some a nice getting started tutorial, on their site.

UPDATE: See the Peachpie team's post on joining the .NET Foundation here.

Today, it’s my privilege to welcome Peachpie Compiler to the .NET Foundation.

Peachpie is an open source PHP Compiler to .NET. This innovative compiler allows you to run existing PHP applications with the performance, speed, security and interoperability of .NET.

The Peachpie site includes a lot of exciting examples, including a demonstration running WordPress on .NET with really impressive performance results. We’re excited to have them join the .NET Foundation, and look forward to supporting them!

I’m happy to announce today that Windows Template Studio has joined the .NET Foundation, and congratulate them on their version 1.2 release!

Windows Template Studio is a Visual Studio 2017 Extension that accelerates the creation of new Universal Windows Platform (UWP) apps using a wizard-based experience. The resulting UWP project is well-formed, readable code that incorporates the latest Windows 10 features while implementing proven patterns and best practices. The generated code includes helpful links to Docs, Stack Overflow and blogs to provide useful insights.

It’s also nice that Windows Template Studio templates include some other .NET Foundation projects including MVVM Light and UWP Community Toolkit!

For a nice introduction to Windows Template Studio, check out this 20 minute interview with the team at Build 2017.

Windows Template Studio is a great addition to the .NET Foundation! Get the latest update and get involved in the project here.

.NET Summer Hackfest is a .NET Foundation led effort to run a bunch of two week hack events for .NET open source projects. You can read more about it in the previous post: Announcing .NET Summer Hackfest 2017.

There are three sessions:

  • Session 1: July 24 – August 4 (Submission deadline July 17)
  • Session 2: August 7 – August 18 (Submission deadline July 24)
  • Session 3: August 21 – September 1 (Submission deadline August 7)

While we’ve had a ton of good project submissions! As expected, most of them needed some time to prepare, so we decided to schedule most of them for Session 2 and 3. And you can still submit your projects! Read the guidance in the announcement post to see if your project is a good fit, then submit them here!

However, the brave dev team at Keen IO offered to be our .NET Summer Hackfest Alpha Test Group and lead the charge with Session 1! Part of the goal of this project will be spelling out guidance / checklists / etc. for the projects that will follow in Session 2 and 3.

Session 1 Project: Keen IO .NET SDK port to .NET Standard

Keen IO is a really cool event data platform that’s really developer friendly. At the free level, they give you $20 credit per month, which works out to 2 million streamed events. They also give discounts to OSS projects, and they’ve got open source API libraries for a lot of frameworks. They’re going to host a two week hackfest to port the Keen .NET SDK to .NET Standard – this is a great opportunity to get some real world experience porting a production library to .NET Standard.

I’m excited about this for a few reasons. First, Justin (@elof) and the dev team at Keen IO are great hosts for this project – as an example, they helped organize the recent Open Source Show & Tell. Second, this hopefully makes it clear that SDKs that integrate with commercial products are welcome for the .NET Summer Hackfest! It’s great to work on “production” code, and the .NET open source community is definitely stronger when we’ve got a healthy mix of commercially supported projects out there.

We’ll have a kickoff post on July 24 with information on how you can get involved. You can also watch the repo (https://github.com/keenlabs/keen-sdk-net) for information on contributing, and we’ll be getting issues posted on up-for-grabs.net.

Session 2 Projects

Note: I’m still discussing with some of these projects and may move between Session 2 and 3 to allow for in-person events. We’ve also got a few other likely projects that I don’t have permission to announce yet.

Brighter: Command Processor & Dispatcher implementation that can be used as a lightweight library in other projects. There’s a range of middleware they’d like to support (e.g. Redis, Kafka, Event Store) as well as additional data stores (Postgres, Oracle). Plus, this is a great chance to work with Ian Cooper, that wonderful chap who recently gave this Creating a .NET Renaissance presentation.

DotVVM: DotVVM is an open source MVVM framework for web applications. We’re talking about possibly putting an in-person event together in Prague for this.

Session 3 Projects

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!

eShopOnContainers: This is a sample .NET Core reference application, powered by Microsoft, based on a simplified microservices architecture and Docker containers. This is a great chance to work with .NET Core on containers! Session goals include updating to .NET Core 2.0 and customizing to deploy to multiple cloud environments (e.g. Azure Service Fabric, Kubernetes, etc.).

ImageSharp: ImageSharp is a fully featured, fully managed, cross-platform, 2D graphics API designed to allow the processing of images without the use of System.Drawing.

Akka.NET: Akka.NET is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.

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.

How Can I Get Involved?

Great question!

If you’re a project leader that would like to get your project listed, submit it here.

If you’re a developer who wants to get in on Session 1, watch for the kickoff post on July 24 here and for information on the Keen SDK for .NET repo.

If you’re a developer who is interested in one of the Session 2 or 3 projects, watch this blog and follow @dotnetfdn on Twitter.

If you’re interested in organizing an event (e.g. a user group run hack day or meeting, maybe your dev team at work wants to dedicate a Friday afternoon, etc.), e-mail me at jon@dotnetfoundation.org and let me know how I can help. I’d be happy to help publicize your events, sponsor food, etc. Let’s talk!

Update: About Smaller Projects

I’ve had a few really interesting but pretty small projects (as in, one or two contributors) apply. As of now, I’m not sure how best to handle this. On the one hand, as someone who’s run / contributed to some small projects, I’d love to support them! On the other, I want to make sure we have a successful model in place. We’re counting on the project teams themselves to “host” their hackfests, including getting some new-to-open-source developers up to speed. I’m not sure a really small project could support that well.

Thinking long term, I’d love to do this bigger next summer, so I want to make sure this goes well so we have something to build on.

I’m currently thinking we might want to host an Open Track during the third session. The idea would be to have several smaller projects create some issues on up-for-grabs.net; we’d help get them some attention with the clear expectation that you’re working with a small team and shouldn’t expect a lot of hand holding if you’re new to open source. Please comment or e-mail me with any thoughts, I’m all ears.