hei core devs for me it does not matter, as long as it sounds like open source! thanks for all your work! Andreas
Am Montag, 28. November 2011, 20.27:02 schrieb Thomas Bruederli:
Hi folks,
Some time ago we already had a discussion about possible license changes. See http://lists.roundcube.net/mail-archive/dev/2010-01/0000022.html to refresh your memory.
Now, almost two years later we came to the conclusion that it's time to act. But let me describe our thoughts a bit more:
Current Situation
Roundcube has inherited and built upon code from a variety of projects, allowing it to grow quickly to the solution we all love today. In doing so, it has effectively also inherited its licensing policy from projects which were not handling these issues as carefully as one might have wished.
These projects have often done a "licensed under the GNU General Public License (GPL)" without an explicit version. Sometimes this statement was accompanied with a link to a web page, most importantly http://www.gnu.org/licenses/gpl. This link was pointing at version 2 of the GPL, but it is the link that always leads to the latest version, so right now is pointing to GPL version 3. And so did Roundcube itself.
This, and the provisions in GPLv2 which say that you may at your option choose a later version if there is no explicit version mentioned means that right now Roundcube is "GPL v2 or v3, either may be binding for you depending on how you got it" and would *not* allow proprietary extensions and modules and may or may not allow proprietary skins, depending on your interpretation.
This is clearly not a perfect situation and it doesn't reflect the consensus within the Roundcube community (especially after the last licensing discussion) that proprietary modules (plugins) should be allowed, as should be proprietary skins. We meanwhile have specified Version 2 in our source but some links still point to the above mentioned URL which now shows Version 3 of the GPL.
So it would make a lot of sense to clarify this explicitly.
At the same time, the possibility of Roundcube being under GPLv2 blocks some innovation we would like to do for future versions, such as for example inline ODF support through WebODF, which is licensed under the GNU Affero General Public License (AGPL) Version 3.
Background information for the interested
GNU General Public License (GPL) Version 2: https://www.gnu.org/licenses/gpl-2.0.html
GNU General Public License (GPL) Version 3: https://www.gnu.org/licenses/gpl-3.0.html
A Quick Guide to GPLv3: https://www.gnu.org/licenses/quick-guide-gplv3.html
GNU Affero General Public License (AGPL) Version 3: https://www.gnu.org/licenses/agpl-3.0.html
Frequently Asked Questions about the GNU Licenses: https://www.gnu.org/licenses/gpl-faq.html
Proposed license clarification
Because of the incorporated numerous other components, the only options for licenses are in the GNU GPL family, namely GNU GPLv2, GNU GPLv3, GNU AGPLv3.
In order to become license compatible with some of the technologies we would like to be able to use in order to improve Roundcube, we should at the very least choose GNU GPL version 3.
We could also choose GNU AGPLv3, which would provide more rights to the users of Roundcube. It would mean that all users have the right to obtain the code of the instance that is providing their service (minus the additional modules, of course).
It would also ensure that modifications on the basic Roundcube codebase will have to be made available as soon as the are being used to provide services over the internet, not just when they are distributed in other ways.
This is the first choice we have.
Personally I'm okay with either, but as the recent discussion showed us, there are some arguments against the AGPL option. I would, however, in any case suggest we explicitly leave the "or any later version" default in, so future license updates won't require us to look at this again.
Secondly, if we want to allow proprietary modules and skins, which has turned out to be a major concern of our "users", we should add the explicit permission to create modules under any license, including a proprietary one, which can be done through the following exception to GPLv3 or AGPLv3:
This file forms part of the Roundcube Platform for which the following exception is added: Plug-ins and Skins which merely make function calls to the Roundcube Platform, and for that purpose include it by reference shall not be considered modifications of the Platform. If you wish to use this file in another project or create a modified version that will not be part of the Roundcube Platform, you may remove the exception above and use this source code under the original version of the license.
The first paragraph provides the permission.
The second paragraph allows re-use of Roundcube's code in other projects without the additional permission. Otherwise it would be too easy to circumvent the license and re-use may be limited by the licenses of the projects that wish to re-use code.
The Way forward
Because the Copyright in Roundcube is not consolidated, making these updates requires the agreement of all contributors to Roundcube.
So if you have in the past contributed to Roundcube, we would very much like to ask you for your explicit agreement with this path forward and your preference with regards AGPLv3 / GPLv3, and whether you would exclude one or the other, and for which reasons.
We believe this primarily represents a clarification and an adjustment to what we practiced over the past years, and we hope that you will also see it that way.
But of course we cannot force anyone to agree, so for those who prefer to have their code removed from Roundcube rather than agree to the update, please let us know.
Timing
This will not affect the 0.7 release, which will still take place under the somewhat fuzzy licensing situation, but we'll want to apply this to HEAD so we can make sure all code is properly updated and conflicting code replaced before the 0.8 release.
Please let us know, what you think about this proposal.
Best regards, Thomas _______________________________________________ List info: http://lists.roundcube.net/dev/ BT/f0a00374
List info: http://lists.roundcube.net/dev/ BT/aba52c80