I'm working on packaging perl-RT-Client-REST, a Perl module from CPAN.
It claims to be under the Perl license (GPL+ or Artistic) except for
one class, RT::Client::REST, which it claims is under the GPL since
the author copied those bits from RT, which is in fact under GPLv2
according to the web site:
http://code.bestpractical.com/project/RT (Request Tracker)
Should the License tag be:
License: (GPL+ or Artistic) and GPLv2
or just:
License: GPLv2
or perhaps:
License: GPLv2 or Artistic
?
The README says:
...
Author:
Dmitri Tikhonov <dtikhonov(a)yahoo.com>
RT::Client::REST is based on 'rt' command-line utility distributed
with RT 3.x written by Abhijit Menon-Sen <ams(a)wiw.org> and
donated to RT project.
License:
Original 'rt' utility is GPL, therefore so is RT::Client::REST.
The rest of the modules are licensed under the usual artistic
license. (I am not sure it makes sense to do this. Does GPL
override artistic license? Someone let me know if you have a
definite answer.)
The source code mentions that RT::Client::REST is under GPL:
./lib/RT/Client/REST.pm:=head1 LICENSE
./lib/RT/Client/REST.pm:Since original rt is licensed under GPL, so is this module.
./lib/RT/Client/REST/Queue.pm:=head1 LICENSE
./lib/RT/Client/REST/Queue.pm:Perl license with the exception of
L<RT::Client::REST>, which is GPLed.
./lib/RT/Client/REST/Attachment.pm:=head1 LICENSE
./lib/RT/Client/REST/Attachment.pm:Perl license with the exception of
L<RT::Client::REST>, which is GPLed.
./lib/RT/Client/REST/Transaction.pm:=head1 LICENSE
./lib/RT/Client/REST/Transaction.pm:Perl license with the exception of
L<RT::Client::REST>, which is GPLed.
./lib/RT/Client/REST/User.pm:=head1 LICENSE
./lib/RT/Client/REST/User.pm:Perl license with the exception of L<RT::Client::REST>,
which is GPLed.
./lib/RT/Client/REST/Ticket.pm:=head1 LICENSE
./lib/RT/Client/REST/Ticket.pm:Perl license with the exception of
L<RT::Client::REST>, which is GPLed.
AFAICT these are where the RT::Client::REST class and derived classes
are defined:
./lib/RT/Client/REST.pm:package RT::Client::REST;
./lib/RT/Client/REST/Queue.pm:package RT::Client::REST::Queue;
./lib/RT/Client/REST/HTTPClient.pm:package RT::Client::REST::HTTPClient;
./lib/RT/Client/REST/Forms.pm:package RT::Client::REST::Forms;
./lib/RT/Client/REST/SearchResult.pm:package RT::Client::REST::SearchResult;
./lib/RT/Client/REST/Object.pm:package RT::Client::REST::Object;
./lib/RT/Client/REST/Object.pm: package RT::Client::REST::MyType;
./lib/RT/Client/REST/Attachment.pm:package RT::Client::REST::Attachment;
./lib/RT/Client/REST/Transaction.pm:package RT::Client::REST::Transaction;
./lib/RT/Client/REST/User.pm:package RT::Client::REST::User;
./lib/RT/Client/REST/Ticket.pm:package RT::Client::REST::Ticket;
./lib/RT/Client/REST/Exception.pm:package RT::Client::REST::Exception;
./lib/RT/Client/REST/Object/Exception.pm:package RT::Client::REST::Object::Exception;
Thanks.