Open Source Projects at Sangoma

Open Source Projects at Sangoma

This is a cross-post on both the Asterisk and the FreePBX blogs, so for those who may only be familiar with FreePBX let me introduce myself. My name is Joshua Colp. I’m the Project Lead for the Asterisk project, the telephony toolkit that powers FreePBX. For those on the Asterisk side, Hi again!

Over the past few weeks I’ve been working on a project to standardize the way open source projects work at Sangoma from a public perspective using Asterisk as the basis. (If you’re interested in seeing the evolution of Asterisk which includes the topics mentioned below check out this webinar I did previously). Now I get to tell you all how open source projects at Sangoma will work going forward! Let’s break it down into the areas that you, the users, care about.

Code Storage

All open source projects need a place to store their code and GitHub will now be the place that open source projects at Sangoma store their code. They will no longer exist on Bitbucket, or other places.

For Asterisk you can find its GitHub here.

For FreePBX you can find its GitHub here.

Contributor License Agreement

In order to contribute to open source projects from Sangoma we require a contributor license agreement to be signed. This allows us to license the contributions in a commercial manner, helping to further expand the teams that work on the projects. Previously both Asterisk and FreePBX had differing contributor license agreements due to historical reasons and process reasons.

Going forward Sangoma now has a unified non-project specific contributor license agreement. This allows you to sign the contributor license agreement once and contribute to any open source project from Sangoma – be it Asterisk or FreePBX or any others that may exist in the future. This agreement is also immediately accepted allowing you to contribute immediately. Previously these contributor license agreements would need to be reviewed by our legal team, which could take some time. I worked with our legal team to remove this requirement and I’m extremely happy with the result.

Code Review

Code review is an important aspect to try to strive to keep code quality high and reduce the chance of introducing bugs. Code review will occur on GitHub for all open source projects at Sangoma. Sangoma employees will participate of course, but others are welcome to as well.

Issue Tracking

It is inevitable that users will encounter issues and just like code, issue tracking will occur on GitHub for open source projects. From a workflow perspective when you file an issue you’ll see it has a “triage” label placed on it. This allows project members to easily identify issues that are new and need to be reviewed. If further information is required a comment will be left asking for the details and a “feedback-required” label added. After this the issue will either be accepted and “triage” label removed, or closed for reasons stated. It’s an extremely simple workflow and from a user perspective you shouldn’t have to think about it.

I do ask, as I always do, that when interacting with ANY open source project to provide as much information and detail as possible when submitting an issue. If you can simplify your issue and provide instructions to reproduce it that goes a long way to helping anyone resolve the issue.

Community Forums

For larger open source projects at Sangoma such as Asterisk and FreePBX we have community forums. These are similar from a layout perspective with project links at the top (one of the first things I did when Sangoma acquired Digium was to clean up both forums and standardize their plugins) and the same signup/login process. They don’t share user databases though, so if you participate in multiple you have separate accounts. If any new open source projects of sufficient size are released we would adopt community forums for them as well.

A quick tip for the forums if you’ve never noticed: Sangoma employees are identified on forums by having the Sangoma logo on their avatar.

For Asterisk you can find its community forum here.

For FreePBX you can find its community forum here.

Conclusion

I hope this gives some insight into some of the standardization of open source projects at Sangoma and how things will work. As we find additional areas to standardize and adopt them I’m sure I’ll also be doing more blog posts here and there. Internally in Sangoma I’ll also be (and in fact have been) helping out teams, in particular FreePBX, as they adopt these new standards but as this is new for many I ask for patience as everyone learns and gets used to new things. Change is hard for everyone, for both users and developers alike, but we believe that standardizing these practices will benefit all involved and allow the projects to better thrive. I urge all those who wish to participate in any Sangoma open source project to do so through helping resolve issues, contributing new features, or providing help to fellow users on the community forums.

What can we help you find?