Happy Pi Day everyone! We have some exciting news to share today.
We’re happy to announce that Service Fabric is going open source under the MIT license and over the coming months we will be transitioning to a completely open development process on GitHub.
We've heard from many of you about the importance of being able to participate in the development and direction of the platform that you depend on to run your mission-critical applications. We stay active on GitHub and Stack Overflow for that reason, and open sourcing the platform is the natural evolution to make that collaboration even better. That’s why we’re committed to making Service Fabric a successful open source project by moving our entire development and planning process onto GitHub, where we can openly collaborate with the community to make Service Fabric better for everyone.
Where we are now
At this point we have the Service Fabric repo up on GitHub with Linux build and test tools, which means you can clone the repo, build Service Fabric for Linux, run basic tests, open issues, and submit pull requests. We’re working hard to get the Windows build environment migrated over as well, along with a complete CI environment.
There’s a bit of history to this. We've been developing Service Fabric internally for Windows for close to a decade, and most of that time it was a Microsoft-internal platform, which means we have close to a decade's worth of internal Microsoft tools to migrate and processes to refine before we can put something usable out on GitHub. When we started working on Linux support a couple years ago, we were a public product and already planning to go open source, so we made sure to use common, publicly-available tools as much as possible.
For now, you can compile and test Service Fabric for Linux , everything from the low-level clustering and federation layers all the way up to process and container activation. We are also opening it up for contributions, albeit at a limited pace as we work on moving everything out into the open.
How we got here
It was about this time last year that we open sourced parts of Service Fabric, including Reliable Services, Reliable Actors, and our ASP.NET Core integration libraries. Since that time, we've slowly been moving other small parts of Service Fabric to GitHub, including Service Fabric Explorer and the SF CLI. Over that time we’ve also spent a lot of time working on a plan to transition all of Service Fabric to open source.
We’re heavily invested in this project and we want it to grow. A lot of Microsoft runs on Service Fabric, including Azure infrastructure services and large-scale solutions like Azure SQL DB, Azure Cosmos DB, and Cortana. It’s our secret sauce for large scale distributed applications that run our business. Except it’s not just ours anymore. Since we released Service Fabric publicly back in 2015, many others outside of Microsoft have also come to depend on Service Fabric for their mission-critical, large-scale applications.
What’s next and how you can join in on the fun
This is a big step for Service Fabric and the team as we transition to open development. Our main focus for now is to move the entire build, test, and development process for Service Fabric to GitHub. While we’re working on that, the innovation doesn’t stop for us, and we’ll continue our regular cadence of shipping new features, bug fixes, and support.
Our next major steps are two-fold:
- Shift to open development. We’ll be moving issue tracking and our own development onto GitHub. Our goal is to make it easy to focus and align work to a clear project roadmap, with clear governance and contribution guidance. We are welcoming contributions immediately, but we’re not up to full speed yet so please bear with us as we work to refine the process and guidelines.
- Complete build, test and CI pipeline for Windows and Linux. Can’t do much without this, so we’re laser focused on getting everything up and running. If you're interested in helping us get set up (or you just like working on build and test automation), head over to the Microsoft/service-fabric repo, where we are currently tracking set up work.
As we work toward these bigger milestones, we will be making continuous, incremental improvements to the repo. We’ll be updating progress regularly here on the blog and in the Service Fabric repo, so be sure to check back soon, and we’ll see you on GitHub!
- The Service Fabric Team
What part of Service Fabric is being open sourced?
The entire Service Fabric runtime is being open sourced on GitHub – everything needed to build and run Service Fabric. Initially, we’ll have a build environment available for Linux, with Windows following shortly.
Can I build and run all of Service Fabric?
You can build and run Service Fabric for Linux today. The complete build and test environment with Windows tools isn't available yet, but we're working hard on getting everything out to GitHub. Watch the repo for updates on that.
What will happen to Service Fabric in Azure and Standalone? Will they still be supported by Microsoft?
Absolutely. We will continue to provide the same level of support for all Service Fabric products shipped by Microsoft, including Service Fabric in Azure and all Standalone offerings.
I have a new feature I've been wanting to build. Can I start working with the team on that now that you're open source?
Definitely, we're happy to work with you on that. Feel free to start by opening an issue on GitHub and we’ll go from there. Note we're still transitioning and our current focus of the open source project is to get the project environment set up, so please bear with us as we're not up to full speed yet.
Is this still Microsoft-owned or will you be donating it to CNCF or the .NET Foundation?
Microsoft owns the project and the Service Fabric team will be the governing body that decides the direction of the project. As the governing body, it will be our responsibility to follow the guidance of the community. That said, we're not ruling out the possibility of donating it to a foundation in the future.