Every once in awhile I encounter a sticky situation that can be difficult to pinpoint a resolution for. Understanding how it is that my dog winds up with ropes of dog drool looping up between her eyes and past her forehead. Trying to figure out why I always wind up with sauce spattered all over myself at meals while my husband’s face and hands always remain remarkably sauce free. Responding to a query from a person curious about how Asterisk is licensed under the GPLv2 without letting the conversation become a murky swamp of confusion. While I am left to believe that my dog simply possesses the drool slinging ability of an Olympic champion and my husband knows it’s best to just grab an entire napkin dispenser for me- responding to an open source licensing question regarding Asterisk does not have to turn into a messy situation. Let’s take the below hypothetical call about open source licensing and watch how it goes.
Me: “Digium, this is Michelle”.
Person calling: Hi there young lady, my name is Bob. Are you the right person for me to ask some questions I have regarding open source licensing of Asterisk?
Me: I can answer some basic questions and if the discussion goes beyond my expertise I can look into it and get you answer later. Fire away Bob!
Bob: My first question is regarding the contributor’s license agreement I see available at https://issues.asterisk.org/view_license_agreement.php. I’ve seen a lot of blogger posts saying that if I sign this, I’m assigning over all of my rights to the code I contribute. I don’t want to give away my copyright on the code, I need to maintain ownership of the copyright in case I decide to make another tweak later on and provide the new source code only to my automated potato slingshot manufacturer.
Me: Automated potato slingshot manufacturer….moving on-you don’t assign any of your rights to code contributed by signing that agreement, it is a contributor’s LICENSE agreement. By signing it you give Digium the right to redistribute your code under other licensing terms- such as under a proprietary commercial license or under open source licenses such as the GPL. So, if contribute your code under the contributor’s license agreement, you still own the copyright and as such are free to modify it again and redistribute pursuant to the terms of the GPL.
Bob: Great! On to my second question. I run a pretty booming business here and think I can get an edge over the competitors if I have a phone system that no one else has. My main business is potato farming out here in Idaho. I’ve discovered the human voice stimulates potato growth. My plan is to install a system where after so many hours of silence in the field a phone out there in the dirt will be triggered to make a call to an automatic voice service that will talk to my potatoes for an hour or so. I believe hearing the human voice will make my potatoes grow like wildfire, but I want to keep the changes I made to Asterisk to myself and also distribute to a couple of my relatives’ potato farms. Potato farming is getting so competitive I can’t let anyone else have my secret twist to Asterisk! There a way I can keep my changes from going back to the community where those pesky potato farmers are lurking?
Me: Absolutely- If you want to distribute, but not give your changes back under the GPL, you’re welcome to use Asterisk under a commercial license agreement with Digium which would allow you to keep your changes to the code proprietary and closed source
Bob the potato farmer: I also have an application called a Mr. Potato phone to make those calls- and I’m concerned that if I commercially license Asterisk to use in those phones a portion of my changes may eventually be open sourced by Digium. I’m also concerned it may be more risky from the standpoint of a possible intellectual property rights infringement claim to use Asterisk software in my potato phones because the code originated from the open source community. I don’t want to let everyone to have the ability to power potato phones and I don’t want someone claiming rights in my starchy tuberous telecommunications device because they wrote a portion of the code I use in it.
Me: No worries- Asterisk is licensed under a dual licensing system. As the creator and maintainer of Asterisk, Digium offers the opportunity to you to license it either through the GPL or a commercial license. If you elect to pursue the commercial license, your changes remain proprietary to you, they will never be contributed under the GPL if you elect not to do so. With regard to the concern about someone claiming rights in your potato phone because they contributed to Asterisk, all contributors sign the contributor’s license agreement we discussed earlier- this license protects your right to use Asterisk. Any code provided to you which a community member wrote would have only been provided under the contributor’s license which allows Digium to redistribute or license in a variety of ways- including outside of the GPL and under a commercial license. Also, anyone who contributed code that you are using in your phone would have been required to warrant that to the best of the contributor’s knowledge the code was free of legal encumbrances when contributed.
Bob the potato farmer: Great, just have one more question. If I want to modify Asterisk to allow for multi-potato phone conferencing within my farm, but won’t distribute the modifications outside of my farm, do I need to sign either Digium’s contributor license agreement or contribute it back under the GPL?
Me: Nope, you only need to sign Digium’s contributor license agreement if you want those changes to be included in Asterisk and you only need to contribute back under the GPL if you’re distributing outside the farm so those that you send the code to have all the same rights and freedoms as you have. We hope you sign the contributor’s license agreement though- multi-potato phone conferencing sounds like it would be a unique addition to Asterisk. If that’s it, I’ve got some contributor licenses to accept- give me a call if you have any other questions.
Footnote: The potato farmer character is fictional. Should any members of the Asterisk community be potato farmers themselves, this is purely coincidental.