Getting Started with Microsoft OSS

OSS&Microsoft Banner

Welcome to our weekly MVP series where we discuss some of the most useful solutions, tips & tricks and how to’s on integrating OSS & Microsoft technologies. In case you have any questions, don’t hesitate and drop us a comment below or reach out to us via Twitter and Facebook! Enjoy!

It's an exciting time to be involved in the Microsoft ecosystem. In the last few years we've seen an unprecedented acceptance of open source from Microsoft as they've moved to open many popular projects. For someone looking to contribute to one of these projects, it can be hard to know where to start.

Find a project

To start, you'll need to find a project to contribute to. Over the last year Microsoft has moved their open source work to GitHub where projects are available under a number of different organizations. The largest Microsoft organizations are:

· Azure - The APIs and SDKs used on the Azure platform

· AspNet - Everything related to ASP .Net web applications

· DotNet - Everything C# and VB .Net related.

· Microsoft - Other miscellaneous projects including TypeScript and F#

Take a minute to explore these organizations and the projects they support. Chances are one of the Microsoft technologies you use every day is open source under one of these organizations. When trying to find a project to work on, it helps to choose one you're already familiar with. Use Azure PowerShell daily to manage your virtual machines? Check out their GitHub repo. Love C# and want to help work on the compiler? The Roslyn project would love your help.

The more familiar you are with a project, the easier it’s going to be to get up and running.

Find an issue

Once you've chosen a project you'd like to get involved with the next order of business is figuring out how to contribute.

Starting out in an open source project is a lot like starting a new job. You're dropped into a foreign codebase with no clue where you should start. It helps to warm up by working on small, self-contained bugs or minor adjustments to existing features. So how can you find easy issues to get you started? The answer: Up For Grabs. Many Microsoft projects label issues with "Up For Grabs" to let people know which issues are good for getting started and that no one from Microsoft is actively working on.

(Potentially show an image or gif of the Up For Grabs label)

Eg. https://gyazo.com/8a1f4a2759a4a456d272ef3225561ce3

Find an up for grabs issue that appeals to you and then write a comment on the issue to let people know that you’ll be working on it. Don’t be afraid to ask questions or for help when you need it.

Contributing in other ways

Finally it's worth considering how you can contribute to these projects in more ways just writing code. Here are a few non-code contributions you should consider:

Documentation

Virtually every software project neglects documentation. Developers want to develop, and precious few of them want to write tutorials and how-to guides. Microsoft’s developers are no different, and they love when users create documentation to help others.

ASP .NET in particular has a phenomenal site for documentation. Currently there are 76 topics awaiting new content. If you want to get involved with this project, working on one of these issues would be a great way to get started.

Report Bugs

Another easy way to help a project out is to report bugs when you uncover them. It's even better if you're able post a set of comprehensive steps to reproduce the bugs you report. If you're feeling brave you can even dig into the source code and try to figure out what's going on. You might end up being able to propose code to fix the bug you've discovered!

Discuss new features

With Microsoft's embrace of open source, more than just source code has been moved into the open. Much of the design process has also been opened up to the public. Now you're free to participate in feature discussions, try out proposed features and offer your opinion on them. The .NET Core project public broadcasts many of their design meetings. Viewers can comment on the issues being discussed and the team will respond to those messages directly. If you want to shape where Microsoft and .Net are headed, these are a fantastic opportunity to do so.

As Microsoft continues to embrace open source, there are going to be more opportunities for developers to get involved. Contributing to open source is a great way to give back to the community. If you’ve been sitting on the sidelines itching to get involved, there’s no better time than now.