.NET Summer Hackfest Update 1: Session Project Announcements
.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?
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 firstname.lastname@example.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.