Hey! Let's have some summer* fun!

UPDATE: See this post for our project announcements.

Here's the idea: .NET Summer Hackfest is a six week community open source community run hackfest. We'll form up into loose teams to contribute to an open source project for a two week session. After that, a new project starts up, but you're of course free (and, of course, encouraged) to keep contributing to projects after the two week session is up.

Here are some goals:

  • Make some substantial contributions to existing .NET open source projects during the session.
  • Spin up some new projects / libraries.
  • Great successes! And a few explosions are expected, too, because this is an experiment!
  • Get some new folks involved in .NET open source, hopefully staying on after the session ends. Maybe you're new to .NET open source, or want to try a new technology or stack? This is a low risk way to get involved, working with folks who can mentor you.
  • Have some fun stuff to show off at dotnetConf in September!

Depending on interest, both from projects and contributors, we can have a few projects running at once. Here's an example, with some sample / made up projects to illustrate:

Session Start Session End Track 1 Track 2
Jul 24 Aug 4 Project 1 Project 2
Aug 7 Aug 18 Project 3
Aug 21 Sep 1 Project 4 Project 5

Ideally, some projects will be more beginner / new to .NET or open source friendly, and some will be more advanced. We'd love to mix it up a bit, so beginners are being mentored by experienced .NET open source developers. We can add additional tracks as needed, depending on response. .NET open source old timers will probably recognize some inspiration from both Google Summer of Code and Code52.

How to get involved

Project Submissions and Project Leaders

For this to work, each project will need a dedicated .NET Summer Project Leader. If this is an established open source project, that's hopefully a core team member. If it's a new project, we need someone who will define the roadmap, review pull requests, and pull the community together.

You can submit a new project here: https://aka.ms/dotnetsummer-nomination

We'll lock down submissions for the first session on July 17th (since it's coming up fast), and two weeks before the session start for the next two. So:

  • Session 1 deadline: July 17
  • Session 2 deadline: July 24
  • Session 3 deadline: August 7

That'll help us get the word out, plan events, etc. Exceptions can be made if needed, but please shoot for those deadlines. I'll work with the .NET Foundation Advisory Council to make selections and we'll announce two days after the close date.

Criteria for a good project submission:

  • Defined goal that can be achieved in a two week session
  • Project leadership team that can define goals, contribution guidelines, create up-for-grabs issues, run virtual or in person events
  • Established open source project or community

Some ideas / areas I'd love to see represented:

  • Porting some established .NET open source libraries to .NET Core 2 or .NET Standard
  • Adding features to established libraries, e.g. localization, modernization, documentation
  • Creating new libraries to fill some gaps or target newly available platforms
  • Representation from multiple .NET platforms: Xamarin, ASP.NET Core, UWP, Unity, .NET Framework, F#, etc.

Contributors

Watch for announcements on projects and get involved. We'll use the social media hashtag #dotnetsummer. You can contribute to more than one project.

Events / User Groups / Teams

The .NET Foundation will be sponsoring in-person events. Want to throw a Saturday hack event for your local user group? Maybe plan out a bigger in-person event with a project leader at a Microsoft office or at a conference? Got another idea we can help with? Let me know: jon@dotnetfoundation.org or @jongalloway.

This my hackfest project. I'm very excited about it and I’ve been thinking about it for a while, but I’ll be figuring out how best to run it as we go. I'll need your feedback throughout to see if my project was successful and hopefully improve on it next summer.

*I realized that it’s not summer all around the globe at the same time. If it's not summer where you live, replace with $"Let's have some {season} fun!"