Hi all!
This subject came to my attention again recently: Why not relicense OpenBSC under AGPLv3?
Right now we are licensing under GPLv2+ (v2 or any later version). However, if an operator was to make lots of private modifications and then operate it on his own network, there would be no distribution and thus no need for him to release his modified versions of the source code.
This may sound a bit strange to those who have been with the project since its early days. But we are reaching production quality now, and we already have the first number of production deployments of the software.
Companies like Netzing and On-waves have been FOSS-friendly and funding parts of our development effort. They have no issues with the result being Free Software again. However, there are definitely other companies out there who are less fond of sharing...
So thus my idea is to put OpenBSC under AGPLv3. This way whoever uses OpenBSC _in modified form_ to operate a communications network will have to provide the source code to that modified form on a network server at no charge.
The only controversial question to me is "your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source".
1) does a gsm network count as computer network? i'd say yes. 2) is using a gsm network 'interacting with it remotely'? I'd also say yes 3) what does 'prominently offer' mean in the context of GSM? We don't want the operator to spam their users with advertisement SMS just to know that they can get the soruce code, after all.
Notwithstanding those open questions, such a network operator would always have the option of simply sending back his changes for integration in the official project - and thus he would no longer use a modified version which then means there is no need for the prominent notice / download at all.
We can make this very clear in the project documentation, putting further encouragement
The actual relicensing should be less problematic than I thought, since AGPLv3 is compatible with GPLv3.
So I could re-license all parts that I own copyright on (which should be the majority of the code base anyway) under AGPLv3, while the former GPLv2+ components (like VTY code from zebra, or contributions by other people) then become GPLv3-or-later.
Of course I would want to encourage all developers/contributors to also follow the re-licensing. Particularly Holger Freyther, Dieter Spaar, Andreas Eversberg, Jan Luebbe, Sylvain Munaut, Daniel Willmann, Stefan Schmidt.
So let's start with a poll:
a) Do you think re-licensing to AGPLv3 is a good idea? b) If you have contributed, would you re-license your code under AGPLv3?
If we have some kind of concesus in the community, I would approach On-waves whether they would want to do the same for their share of the copyright. As their "modifications" are all part of OpenBSC git repository, they would not be subject to any different conditions than before.
Thanks in advance for your feedback, Harald
Hello,
On Wed, 19 May 2010 21:28:10 +0200 Harald Welte laforge@gnumonks.org wrote:
So let's start with a poll:
a) Do you think re-licensing to AGPLv3 is a good idea?
yeah it looks like the AGPLv3 provides more protection than a GPL license in these kind of operating environments.
b) If you have contributed, would you re-license your code under AGPLv3?
That's fine by me.
Regards, Daniel Willmann
Hi everyone,
On Wed, 2010-05-19 at 21:28 +0200, Harald Welte wrote:
The only controversial question to me is "your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source".
- does a gsm network count as computer network? i'd say yes.
 - is using a gsm network 'interacting with it remotely'? I'd also say yes
 - what does 'prominently offer' mean in the context of GSM? We don't want the operator to spam their users with advertisement SMS just to know that they can get the soruce code, after all.
 Notwithstanding those open questions, such a network operator would always have the option of simply sending back his changes for integration in the official project - and thus he would no longer use a modified version which then means there is no need for the prominent notice / download at all.
While i agree with Harald's goal of making network operators of public networks publish their changes (and that the GPL alone does nothing here), I'm not sure using the AGPLv3 for that is straight-forward.
I don't think the GPL uses "modified version" in the sense of "different from mainline", but rather every change to the source code creates a new modified version. So publishing the source code or having the changes merged to some mainline version does not remove the "modified flag". So every developer would be running a modified version and so be required to follow Section 13 by informing all users directly.
Instead, we could add an additional permission the the license statement, which allows everyone who would need "prominently offer the source all users" to *instead* fulfill this requirement by publishing the corresponding source on their website. We could also ask (but not require) them to notify the mailing list.
a) Do you think re-licensing to AGPLv3 is a good idea?
As above, i fully agree with your goal. But I'm not convinced yet.
Also, the GPLv3 has changed how it relates to Patents, which may be relevant to a lot of GSM work. I can't say i understand what Section 11 really means for network operators. Their lawyers may decide it's too risky and not use OpenBSC/Osmocom.
b) If you have contributed, would you re-license your code under AGPLv3?
You obviously have vastly more experience with the GPL, so I'd agree to re-license if you think everything will be fine. :)
Best regards,
Hi Jan,
On Fri, May 28, 2010 at 12:18:28PM +0200, Jan Lübbe wrote:
Notwithstanding those open questions, such a network operator would always have the option of simply sending back his changes for integration in the official project - and thus he would no longer use a modified version which then means there is no need for the prominent notice / download at all.
While i agree with Harald's goal of making network operators of public networks publish their changes (and that the GPL alone does nothing here), I'm not sure using the AGPLv3 for that is straight-forward.
I think it is the most straight-forward way we have, as the AGPLv3 is only a minor difference to the GPLv3, which is in turn compatible with all our current GPLv2+ code. Furthermore, using a recognized/common license means there are more people out there who actually understand it - as opposed to some custom modifications.
I don't think the GPL uses "modified version" in the sense of "different from mainline", but rather every change to the source code creates a new modified version. So publishing the source code or having the changes merged to some mainline version does not remove the "modified flag".
"modified version" means any modifications compared to the particular version that was licensed under GNU GPLv3.
So at the time some code is back in mainline, the respective operator can (without any explicit action) again obtain a AGPLv3 license on that latest version (or whatever git commit version is distributed in our repository) and thus no longer run a modified version.
Modification is anything that an operator does after he has obtained the copy from us.
So every developer would be running a modified version and so be required to follow Section 13 by informing all users directly.
As I understand it, only until his modifications are back in mainline.
Instead, we could add an additional permission the the license statement, which allows everyone who would need "prominently offer the source all users" to *instead* fulfill this requirement by publishing the corresponding source on their website. We could also ask (but not require) them to notify the mailing list.
Yes, additional permissions are possible under section 7
However, I think we could even offer an additional term that reads like
* you do not have to "prominently offer the source all user", if you submit the modified version (under the same license) to the OpenBSC project.
This is not a restriction, but an additional permission. Anyone can simply remove it and fall back to the plain AGPLv3.
I am happy to run this by my lawyers and through the FSF, if we were to decide on such an additional term.
a) Do you think re-licensing to AGPLv3 is a good idea?
As above, i fully agree with your goal. But I'm not convinced yet.
Let's hope I can ;)
Also, the GPLv3 has changed how it relates to Patents, which may be relevant to a lot of GSM work. I can't say i understand what Section 11 really means for network operators. Their lawyers may decide it's too risky and not use OpenBSC/Osmocom.
1) network operators do not normally convey copies. They run the software on their own systems
2) they have no need to convey copies, _unless_ they did modifications, based on which they now are required to convey the source to those modified versions to their users (or alternatively to us, if we put an additional term/permission in it)
As far as I read it, the patent section only applies to patents that the 'conveyor' (operator in that case) either holds himself or has obtained a license on.
I don't really have much of a problem with that. If somebody doesn't like this, he could still see if there is a way how he can negotiate an alternative license with the copyright holders. The latter is still possible, as the number of copyright holders is relatively small, and any claimed GSM related patent infringement would be in code that the openbsc authors wrote, and not in e.g. the vty code that we imported from zebra.
Regards, Harald
Hi All!
As I have only received positive feedback from all developers and copyright holders so far (including On-Waves), I think we will go ahead with the AGPLv3 re-licensing.
If your name appears in the git commitlog of OsmocomBB or libosmocore, you will soon receive a separate e-mail from me, confirming you agree with the AGPLv3 re-licensing. If you do not agree, it is no problem. Then that respective code will remain under GPLv3, as e.g. the vty-code that we've imported from zebra/quagga.
Regards, Harald
Hi all,
Following-up to the previous discussion in May 2009, I have finally changed the OpenBSC (and related software) license from GPLv2-or-later to AGPLv3-or-later.
All copyright holders have been contacted and all agree on the change of the license.
libosmocore will remain GPLv2-or-later, and if linked with OpenBSC, you will use the AGPLv3 compatible GPLv3 license.
Regards, Harald