As you most likely know, there has been a lot of change lately within the DNN Community. The good news is that the change is positive! The focus on the community driving again and the return to true open source is real. Continuing with the focus on open source today we’re announcing a new CLA process that should make things a lot easier for everyone.
What is a CLA?
If you are a developer who makes contributions on GitHub this is not news to you, but to everyone else who touches DNN (those outside of the pull request world) it may not be so obvious. The source code for DNN is maintained on GitHub which makes it publicly visible. As DNN is an open source project, developers can contribute updates, enhancements, bug-fixes, documentation and more through GitHub.
Whenever a developer makes a contribution a Contributor’s License Agreement (CLA) needs to be in place. Having a CLA in place ensures that the developer is ok with freely donating their code to the greater platform with no strings attached. The CLA has a legal “feel” to it, but that is to protect everyone that’s involved with the project.
DNN’s Current CLA Process
Our current process for getting a contribution is a manual process that requires multiple communications, printing, scanning, and way to many emails. It goes like this… when a pull request is made the reviewer must check to see if the contributor has a CLA on file. If they do, the appropriate label is assigned. If not, the reviewer reaches out to me and I contact the individual who made the pull request linking them to the document they must sign, print, scan, and email back to me. After receiving the signed document I then update the list, email the reviewer, and let them know that we are ok to merge the pull request should it be beneficial.
Obviously this is inefficient and that’s why we’re happy to we’re able to leverage resources provided to us by the .NET Foundation. The new and updated process will remove roadblocks to contributing, to be more efficient, and to provide our contributors with a better experience.
Being in the .NET Foundation is Beneficial (Again)
Earlier this year it was announced that DNN joined the .NET Foundation. Although everyone may not have understood what this meant or how it was beneficial it was indeed a big moment in the history of DNN. It was an inflection point because it outwardly confirmed to the community that DNN would never be a closed solution and that DNN would remain open source with attributions to the .NET Foundation.
Along with following the general core principle of being open source, being a member of the .NET Foundation has allowed us access to resources we previously didn’t have such as access to VSTS automated build tooling, paid Meetup accounts for our user groups, access to share our info with larger bodies of Microsoft developers, and more. And this new CLA automation functionality that we’re leveraging is just another reason why we’re happy that we joined. Without being a member of the .NET Foundation this wouldn’t be possible… so thanks again to the .NET Foundation and everyone who is a part of it!
So we’ve got this new "thing" that makes "stuff" better… let's add some clarity...how does it work?
How Do I Sign a CLA Under the New Process?
So the question is… how do we use the new CLA process? Moving forward if a contributor does not have a signed CLA on file, they will be prompted with the automated CLA request before the pull request process is complete.
We’ve just put this in place and you can see the email copy that gets sent to the contributor below.
Once the CLA is signed then you’ll see the CLA on file tag showing with the purple .NET Foundation logo present - Automation FTW!
Automation, Efficiency, and More Wins For the Community
Having this new automated CLA process in place is definitely a win for our community. Along with providing a better experience to our contributors, reviewers, and maintainers this is again a sign of progress and commitment to both open source and community. The reason it’s a sign is because we’re only able to use this CLA tool via the .NET Foundation and we’re only able to be in the .NET Foundation because of the recommitment and focus on open source and the community.
I think it’s important to keep the big picture in mind as we navigate the waters of change. The Community is driving again, we are making progress, and we are becoming more efficient.
Now submit those pull requests!