Automating the tedious parts of open source on Azure
Contributing to Open Source is a great way to get involved in community. Usually it's as simple as making your contribution, but when you start getting involved with larger projects at larger companies, legal gets involved. Projects need to have a "CLA" or Contributor License Agreement. For example, AngularJS has a form to fill out before sending a pull request. For individuals, it's a small form, but for companies, it's scanning, emailing, and/or faxing time.
As more and more of Azure goes open source with Azure SDK for .NET, PowerShell CmdLets, Mobile Services all on GitHub, as well as all the documentation available on GitHub as Markdown it needs to be easier to accept pull requests (PRs).
In fact, at the bottom of all the Azure Documentation is now a "Contribute to this article" where you can send PRs to help improve the docs or fix technical errors.
In order to make Contributing easier, the Azure folks made an Azure Pull Request Bot. It will automatically look at a PR, figure out if a contributor needs a CLA, setup the online form, even accept digital signatures and more! Even better, the way you start the bot's process is that you send a PR.
I'm going to submit a PR for Azure Documentation, specifically the article on Creating a Virtual Machine.
First, I'll fork the Azure Docs Repo from the GitHub site.
Next, I'll work on the article from my fork. I could do this locally, or on the GitHub site directly depending on the size of what I'm doing. The CLA only needs to be signed if you're changing more than about 15 lines.
The article on GitHub is here but I'll work on my fork here. It's Markdown, so I can either use an editor like MarkdownPad or edit online. I made a number of changes, some corrections, some additions to this article. Next I create a Pull Request.
After making the pull request - instantly - the GitHub PR gets a comment from the Azure Pull Request Bot!
And the PR gets a label showing the status of my PR as requiring a CLA.
I click the link and can sign in with my GitHub account.
I fill out a quick form...
In a couple of minutes a verified email shows up from Docusign.
I sign it, and I'm all set! The PR and CLA will get evaluated and merged. I'm hoping this process might be used by other teams at Microsoft as we continue to Open Source All The Things.
Sponsor: Big thanks to Octopus Deploy for sponsoring the feed this week. They are FANTASTIC. Truly, check it out, the NuGet team uses them. Using NuGet and powerful conventions, Octopus Deploy makes it easy to automate releases of ASP.NET applications and Windows Services. Say goodbye to remote desktop and start automating today!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
> I sign it, and I'm all set!
Can you elaborate on exactly what you mean by 'I sign it'.
I thought you received an email (a verified email shows up from Docusign) .. so .. how do you 'sign' it? do you need a touch screen / tablet ? or can you use a mouse to 'sign' your name in some white box thingy?
My (very small) contribution to the ASP vNext documentation went stale due to a process that was to long and winding for the company I'm currently working for.
This looks great!
Wood be great to see how was it implemented our what API/comments are used.
Unfortunately my PRs were then never even looked at! Even now on the Azure SDK for Ruby there are quite a few that have been sitting there for ages. It's a shame because in one case, there was a PR that added a feature which a Microsoft employee then re-implemented several months later!
Eventually I gave up, closed my PRs and now I just maintain my own fork. I've even had a couple of others contribute to my fork which is nice.
I really hope that more teams at Microsoft do begin see the value in community participation. Just hosting stuff on Github (or Codeplex, or Bitbucket etc) is an important step, but it's not enough. I know this will take time, and hopefully teams which do actively want contributions (such as the ones you mention in your post Scott) will help lead the way at Microsoft. I look forward to watching the situation improving :)
Comments are closed.
Awesome stuff!