Azuracast: PLEASE READ: Relicensing & The Future of AzuraCast

Created on 31 Jul 2020  路  25Comments  路  Source: AzuraCast/AzuraCast

Hello everyone! I'm Buster Neece, the creator and lead maintainer of AzuraCast.

Today I want to discuss something very important to me: the role AzuraCast plays in both its own community and the greater open-source world, the issues we've encountered with our current status, and the plans we have to address these things moving forward.

I want to avoid making this post a huge wall of text and instead just focus on major points, so I'll make it as brief as I can.

Open Source and AzuraCast

AzuraCast isn't just open-source software because it has some requirement to be that way, it is because we _want_ it to be open and accessible to everyone. The principles of open-source have been important to me for as long as I've been a developer. The hobby project that preceded AzuraCast was open-source and AzuraCast itself has been available free to everyone for its entire existence.

Even though we've started to see issues of exploitation, overburdening and under-contribution as our project's popularity increases, we remain committed to the underlying principles of open-source software. No matter what, AzuraCast will continue to be available as free and open-source software that anyone can install and use. We have not forgotten our roots, and we appreciate that we have made web radio accessible to many who were otherwise unable to benefit from existing commercial tools, and we have every intention to continue doing so.

Issues of Exploitation

One of the most "double-edged swords" of open-source software is that in order for software to be considered truly "open", it has to be available for anyone to use for any reason whatsoever. We can't prevent people for using our software for evil things, or even prevent people from turning around and reselling our software (or modified versions of it) for a profit that they never contribute back to us.

Normally we don't mind this arrangement, as we are contributing something to the public good and we don't particularly have any business knowing what you're doing with it. Lately, though, we have started to notice one disturbing trend in particular: people taking AzuraCast, forking it and either lightly modifying it or adding new features to it, then reselling that to their own customers. In some cases, they're even directing those customers to _us_ for technical support, meaning they're profiting from our work, not contributing anything back to us, then counting on us to support their users for free anyway.

You may be thinking that _surely_ there must be something we can do about this, but there are two problems:

1) AzuraCast is licensed under the Apache 2.0 license, which allows any use, even commercial use, without needing to attribute or contribute back to the project. You can even modify the software and redistribute your modified version without ever needing to share those modifications or make them open-source like AzuraCast itself is. This license is considered very permissive in the open-source world, and it is.

2) Even the very permissive Apache 2.0 license has rules against using the branding, trademarks, etc. of a project as your own; basically, you can't actually pass your own product off as _being_ the original product itself. There are resellers out there right now selling AzuraCast _with our own logo and branding_, breaking this rule, but there's very little we can do. We can't afford a legal team and every reseller we've found operates outside of the United States, making any action of any sort more difficult.

The Proposed Solution

In order to help resolve this situation, there were two steps, and the first of those has already been completed. In order for us to make any licensing changes, we needed to have the proper rights to _all_ of the code first. While I've personally written a vast majority (97%) of AzuraCast's code, several others have helped, and over the last few weeks they've all agreed to sign a Contributor Licensing Agreement (or CLA) that assigns the rights to their contributions to this repository to me, allowing for a much easier relicensing process. Future contributors will also be asked to sign a CLA, which is a very simple process that's automated and happens here on GitHub.

Before the next major release of AzuraCast, we plan to adopt a dual-licensing plan for the software:

  • By default and for everyone using AzuraCast normally, the software would be licensed under the GNU Affero General Public License 3.0 (AGPL), which is considered a more restrictive but still open-source license. This license says that if you modify AzuraCast and then redistribute your modifications (including serving them on a web server, as is always done with AzuraCast's code), you must make your modifications available with the same license as the software itself. This means that any software that builds on top of AzuraCast is just as open-source as we are.

  • For commercial resellers who specifically want the ability to modify AzuraCast without making their modifications open-source, we will offer a commercial license which will allow these customers to purchase a more permissive license for their specific scenario. We have not yet worked out the terms of this commercial license, including how much it will cost and how/where it will be managed, but we will announce those details shortly.

What This Means for You

For a vast majority of AzuraCast users, nothing will be changing at all. The standard AGPL license will allow you to fully use AzuraCast free of charge, whether you are using it commercially or noncommercially. The only people affected are people who are making modifications to the AzuraCast software itself (i.e. our web interface and its features); those users can either make those changes open-source by default, or work with us on a commercial license to keep them private.

We hope a majority of people who are modifying AzuraCast won't mind this change; after all, AzuraCast itself is built around and powered by amazing pieces of open-source software, so contributing back to open-source is just paying it forward.

Share Thoughts and Feedback Here

The reason we're posting this here prior to making these changes is to solicit feedback from the community, make sure everyone is aware of the changes before they happen, and to ensure there is no confusion about our plans.

If you have any questions about your specific scenario, or about our license in general and how it applies to you, please feel free to post them here and we will get back to them as we can.

Thank you as always for your support of AzuraCast. We are very happy to play our part in keeping web radio alive for many years to come.

in progress

Most helpful comment

@andrewfer000 I understand your feedback, and the point you make about not being able to reuse this application's code in anything that isn't AGPL-licensed is noted. Granted, in this instance that change is deliberate and is intended to ensure that this code remains open-source instead of being forked into private repositories, but the limitation is one I'm aware of.

At the moment, with web applications, the line for what qualifies as "distribution" is blurred by software-as-a-service offerings whose only means of distribution are via web servers to clients. Since AzuraCast is almost exclusively distributed in this manner, one of the only licenses that still remains "open-source" and would enforce the openness of those distributors would be the AGPL. The GPL and other less restrictive OSS licenses would require distribution in a more traditional sense (i.e. handing the actual software to a different user, instead of simply running it on a server for them to access), which is not likely to happen in this case.

As for enforcement, I hesitate to adapt a fatalist "what's the point anyway?" approach in this case, because the difference this license change makes isn't in how enforceable a license is, but rather in whether there's anything to enforce in the first place. The current Apache license offers a carte blanche to folks who want to take the hard work that was invested into AzuraCast, slap a new coat of paint on it and sell it for a profit that I never see, whereas the new license at least compels those people to share their improvements with the rest of our user base (or pay for the base software if they don't want to).

The long and short of this is that if we continue with this arrangement as it is today, it will continue to burn me out of both contributing to this software project _and_ contributing to FOSS in general, by driving home the exploitative nature of those engagements. In a bigger project with a ton more maintainers, burning one developer out is something a project can survive doing, but on a project like this it's an unsustainable thing to do.

All 25 comments

馃榾馃榾馃榾馃榾

I wish the AzuraCast team good luck in it's future. I'm happy to see a new license, the GPL wasn't the best for this project, personally.

I'm all for seeing the project protected from abuse. I'm fond of the GNU licenses. Question, though: If you can't afford legal representation for the abuse of one license, how does that improve by switching to another?

@TogarUshindi A valid question. The way I see it, right now the Apache 2.0 license is so permissive, that it's difficult for us to make a solid case if someone is breaking the little edge cases of it, because it's not enough of a violation to really pursue and there's enough wiggle room for argument that it could easily wind up a waste of time. The AGPL is far less ambiguous, so if _any_ instance of AzuraCast springs up that is clearly modified but not open-source and not licensed with us, we can all but guarantee it's in violation of the license. Because we have such a clear case of license violation, it may possibly be easier to secure the assistance of the pro-bono legal firms who often represent open-source projects.

To some extent, the new license could be seen as "punitively open-source", as in so open-source that it makes its derivatives open-source too. While the companies that often sponsor open-source software are not a fan of it for this reason, claiming it stifles innovation and discourages developers, in our case the promised benefits of a very permissive license like Apache 2.0 have never materialized, and instead we have an ecosystem where many are hoarding features and bug fixes for their own commercial customers, instead of contributing to the greater good like we ourselves do.

Great News!!!! :)
Such a great platform

Whatever is best for everyone. We are with you. Good luck my friend.

Totally in agreement with your planned course of action. I myself was introduces to AzuraCast by dealing with such an abusive reseller, here in Quebec, who couldn't be bothered to configure/maintain his servers properly and didn't even allow his clients access to the Azura console. Ended up procuring my own VPS and doing a Docker install to migrate my radio; a steep learning process for me, but happy to report success as we have been on air for a couple of months now!

I am very thankful to Azuracast for providing open access to such a powerful app and making hobby radio broadcast available to the masses... I am now dreaming of a full-featured open source alternative to the extremely expensive encoders out there...

@SlvrEagle23, BIG thanks to you and your extended team for everything you do. It must seem like a thankless task but we really appreciate your passion and commitment towards the project.

@SlvrEagle23 Thank you.
I think this is the right move!

Successfully!

I'm all for it.

I'm all for it.

Great i agree

@SlvrEagle23 I Totally Agree. A Move In The Right Direction

+1. As an avid fan of open-source software, and also an amateur legal scholar, I totally agree with the use of a less ambiguous license. After all, a license agreement is a contract if you get right down to it, and ambiguous contracts are always frowned upon. In fact, here in the States, if a contract is ambiguous and the intent can't be ascertained, the courts say that the contract has to be construed strictly against the person who wrote it. Which royally sucks for Azuracast under the Apache license.

I agree with this move!

@SlvrEagle23 Personally I do not like the AGPL since even the most minor change requires the modifier to release and maintain said source code. I think the LGPL, MPL, or even the GPLv2 would be the best option because then users can still modify the program on their own server but if they modify AND distribute or re-sell AzuraCast then the source must be disclosed. The AGPL is just too much of a pain in the a*s to comply with for something minor like a front end change. Personally, If I ever made a beneficial change to AzuraCast I would contribute it back but I guess some people just need to be forced to do it I guess.

Edit: Also, The AGPL is basically on the complete opposite side of the open source license spectrum than the Apache which is why I think the normal GPL is a good middle-ground. In the end its your program and I'll support you no matter what you do in the end. I'm also against "dual-licensing" because of personal experience but if you make it fair and not like Nextcloud's BS then its not a bad thing.

Also, what difference does any of this make if you don't have the legal power to back it up. You think those greedy and selfish international re-sellers who won't even comply with the Apache License are gonna comply with the AGPL? Free Software supporting Law firms only have time to support the big guys like Gnome etc. and it might just be more trouble and headache for you to waste time enforcing rules.

Also one more thing I was too tired to think about last night, Why didn't you just go with a licence that was in the middle of Permissive and Copyleft such as the MPL or LGPL? I'm genuinely curious since these will fix the two issues you listed in your post.
The reason I keep going on about this is because personally I saw the Apache Licence as a feature of Azuracast that would allow me in the future (if I ever get to it) to use your code in my own project and use whatever licence I want (likley Apache/MIT for my projects) but if you switch to AGPL that takes all of those rights away. Using the LGPL would allow for everyone to benifit with little sacrfice. Idk if it's too late for you to change your mind but please consider it.

@andrewfer000 I understand your feedback, and the point you make about not being able to reuse this application's code in anything that isn't AGPL-licensed is noted. Granted, in this instance that change is deliberate and is intended to ensure that this code remains open-source instead of being forked into private repositories, but the limitation is one I'm aware of.

At the moment, with web applications, the line for what qualifies as "distribution" is blurred by software-as-a-service offerings whose only means of distribution are via web servers to clients. Since AzuraCast is almost exclusively distributed in this manner, one of the only licenses that still remains "open-source" and would enforce the openness of those distributors would be the AGPL. The GPL and other less restrictive OSS licenses would require distribution in a more traditional sense (i.e. handing the actual software to a different user, instead of simply running it on a server for them to access), which is not likely to happen in this case.

As for enforcement, I hesitate to adapt a fatalist "what's the point anyway?" approach in this case, because the difference this license change makes isn't in how enforceable a license is, but rather in whether there's anything to enforce in the first place. The current Apache license offers a carte blanche to folks who want to take the hard work that was invested into AzuraCast, slap a new coat of paint on it and sell it for a profit that I never see, whereas the new license at least compels those people to share their improvements with the rest of our user base (or pay for the base software if they don't want to).

The long and short of this is that if we continue with this arrangement as it is today, it will continue to burn me out of both contributing to this software project _and_ contributing to FOSS in general, by driving home the exploitative nature of those engagements. In a bigger project with a ton more maintainers, burning one developer out is something a project can survive doing, but on a project like this it's an unsustainable thing to do.

@SlvrEagle23 I kinda understand how you feel. People profiting on your work without giving back. I wish there was a ALGPL licence that does the same thing that the AGPL does for GPL so I can link unmodifed Azuracast code in different (more permissive) licenced programs. My second biggest issue with AGPL is that any minor change such requires the modifier to upkeep a repostory and be responsible for providing documentation to anyone who request it which can be difficult for someone like me who doesn't really know what they're doing xD. I mean I if I ever get far enough in my project we might be able to work out a license for parts of Azuracast if needed since I will most likley use the Apache/MIT or MPL for my project. But we can discuss that when the time comes.

Keep up the good work my friend and while technically I can't use Azuracast until the Ubuntu 20.04 issues are fixed I will continue to sponsor/support you and one day may even contribute some code to Azuracast.

@andrewfer000 Quote [.... while technically I can't use Azuracast until the Ubuntu 20.04 issues are fixed I will continue to sponsor/support you and one day may even contribute some code to Azuracast.]
Have been running AzuraCast for the last 2 months on Ubuntu 20.04 without a hitch so far. Keeping fingers crossed though as it crashed in my other VPS where my website is hosted...

@SlvrEagle23 not part of the topic but related is funding. I'd like to suggest that if you see AzuraCast as your main job or you wish to, that you look at setting up Patreon and follow the example of other projects like Vue for instance to provide a steady income for you.

Best of luck.

@diego-vieira We already have a Patreon, a Ko-fi, and a GitHub Sponsors page for donations: https://www.azuracast.com/donate.html

I absolutely understand why you would want to use a license like this. Good luck and thank you for your work.

I'm in <3

Well is a bit more complicated but yes, GPL and all it flavours will protect your work and there is team that work for licensing respect, Is a good move, and one more resellers will been forced to make credits to all your work they not need still open sources for they own contributions but to interfacing with your Azura they will need, do it ASAP! You do great work and opensource not mean open to thieves! Huggs! Great jobs you do!

Closing; for more information and a more recent update, see #3301.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

TogarUshindi picture TogarUshindi  路  3Comments

bo2008 picture bo2008  路  3Comments

bebjakub picture bebjakub  路  3Comments

dpcee30 picture dpcee30  路  3Comments

susl16c picture susl16c  路  3Comments