From: Ian Jackson Date: Sun, 25 Oct 2015 12:02:34 +0000 (+0000) Subject: Licence: Provide CAF Login Exception X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=commitdiff_plain;h=1161fe6e12f818ef59323799ac20986fb5e40dfa Licence: Provide CAF Login Exception With the current AGPLv3 licence, someone who deploys a modified CAF must make available their whole web application to all callers. This means that it is not possible to deploy a completely private web application using CAF. I don't think this is desirable. My intention in using the AGPLv3 is not to force everyone to publish their source code outside their user community. To put it another way: I want to flatten the power relationship between a website's users and its operators. But it is not my aim to undo the power imbalance between a website's authorised users and other people on the internet. Indeed such an objective would be bizarre for a module whose function is to enforce access control. I do want to try to make it possible for authorised users of a website, who don't like the decisions made by its operator, to set up an instance of their own, with modifications to their own taste. I'm therefore providing what I'm calling the "CAF Login Exception, v1" as an Additional Permission (as contemplated by AGPLv3 s7). I have also discussed this with my management at Citrix (since Citrix is also a copyrightholder). Permission was granted orally by my line manager in an in-person coversation on Tuesday the 27th of October. Signed-off-by: Ian Jackson Signed-off-by: Ian Jackson --- diff --git a/AGPLv3 b/AGPLv3+CAFv1 similarity index 96% rename from AGPLv3 rename to AGPLv3+CAFv1 index dba13ed..05146c7 100644 --- a/AGPLv3 +++ b/AGPLv3+CAFv1 @@ -1,3 +1,41 @@ +CGI::Auth::Flexible is a perl CGI authentication module. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version, with the "CAF Login Exception" +as published by Ian Jackson (version 1, or at your option any +later version) as an Additional Permission. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + + +------------------------------- + +CAF Login Exception (version 1) + +To avoid forcing users to make the source code of their whole +application available to non-users, I (Ian Jackson) have granted this +exception as part of the licence of CGI::Auth::Flexible. + +When considering AGPLv3 section 13 "Remote Network Interaction" (or +similar provisions in successor licences): + +If all interactions with the Program (other than interactions with the +user authentication system) require user authentication, the +provisions of that section apply only to interaction with the Program +by authenticated users. + +This is an Additional Permission as contemplated by AGPLv3 section 7. + +- Ian Jackson + +------------------------------- + + GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 diff --git a/cgi-auth-flexible.pm b/cgi-auth-flexible.pm index d4c740c..9b03f82 100644 --- a/cgi-auth-flexible.pm +++ b/cgi-auth-flexible.pm @@ -7,15 +7,19 @@ # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# (at your option) any later version, with the "CAF Login Exception" +# as published by Ian Jackson (version 1, or at your option any +# later version) as an Additional Permission. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# You should have received a copy of the GNU Affero General Public +# License and the CAF Login Exception along with this program, in the +# file AGPLv3+CAFv1. If not, email Ian Jackson +# . use strict; use warnings FATAL => 'all'; @@ -184,7 +188,8 @@ sub gen_srcdump_link_html ($$$$) { } sub gen_plain_licence_link_html ($$) { my ($c,$r) = @_; - gen_srcdump_link_html($c,$r, 'GNU Affero GPL', 'licence'); + gen_srcdump_link_html($c,$r, 'GNU Affero GPL with CAF Login Exception', + 'licence'); } sub gen_plain_source_link_html ($$) { my ($c,$r) = @_; @@ -471,7 +476,7 @@ sub new_verifier { srcdump_dump => \&srcdump_dump, srcdump_prepare => \&srcdump_dirscan_prepare, srcdump_licence_path => undef, - srcdump_licence_files => [qw(AGPLv3 CGI/Auth/Flexible/AGPLv3)], + srcdump_licence_files => [qw(AGPLv3+CAFv1 CGI/Auth/Flexible/AGPLv3+CAFv1)], srcdump_listitems => sub { (@INC, $ENV{'SCRIPT_FILENAME'}, $0); }, srcdump_filter_cwd => 1, srcdump_system_dir => sub {