Bug#287090: kaquarium: copyright file does not mention apparently unlicensed image files
Package: kaquarium
Version: 1.0-beta-3
Severity: serious
Justification: violation of Debian Policy 2.2.1
As noted on debian-legal on 20 August by Nathanael Nerode, kaquarium
appears to contain non-DFSG-free images files (some of the same ones as
shermans-aquarium).
It is unclear to me whether these files are even distributable by Debian
at all; that they come free-of-charge with a gratis screen saver for
Windows operating systems implies no grant of permission to the Debian
Project whatsoever.
Moreover, no indication is given in the debian/copyright file that the work
of anyone other than Ramiro Tasquer was involved in the upstream package.
I have attached the debian/copyright file and the only file that credits
Jim Toomey with the images, src/main.cpp.
The copyright holder in the images, Jim Toomey, should be contacted as soon
as possible for license negotiations. If those are unsuccessful and
distributable replacement images are not used, this package should be
withdrawn from the Debian archives. (Without a grant of license under
copyright law, we cannot distribute these images even in non-free).
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing')
Architecture: powerpc (ppc)
Kernel: Linux 2.4.25-powerpc-smp
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages kaquarium depends on:
ii kdelibs4 4:3.3.1-4 KDE core libraries
ii libart-2.0-2 2.3.16-6 Library of functions for 2D graphi
ii libc6 2.3.2.ds1-19 GNU C Library: Shared libraries an
ii libgcc1 1:3.4.3-6 GCC support library
ii libice6 4.3.0.dfsg.1-10 Inter-Client Exchange library
ii libidn11 0.5.2-3 GNU libidn library, implementation
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libqt3c102-mt 3:3.3.3-7 Qt GUI Library (Threaded runtime v
ii libsm6 4.3.0.dfsg.1-10 X Window System Session Management
ii libstdc++5 1:3.3.5-5 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-10 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-10 X Window System miscellaneous exte
ii libxrender1 0.8.3-7 X Rendering Extension client libra
ii xlibs 4.3.0.dfsg.1-10 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-4 compression library - runtime
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <qlayout.h>
#include <qvbox.h>
#include <qtooltip.h>
#include <qpixmap.h>
#include <qcolor.h>
#include <qrect.h>
#include <klocale.h>
#include <kglobal.h>
#include <kaboutdata.h>
#include <kaboutapplication.h>
#include <kconfig.h>
#include <kdebug.h>
#include <kstandarddirs.h>
#include <kapplication.h>
#include "misc.h"
#include "fishes.h"
#include "canvasview.h"
#include "bubbles.h"
#include "pref.h"
#include "configdlg.h"
#include "main.h"
extern "C"
{
KPanelApplet* init( QWidget *parent, const QString& configFile )
{
KGlobal::locale()->insertCatalogue( "kaquarium" );
return new kfish( configFile, KPanelApplet::Normal,
KPanelApplet::About | KPanelApplet::Preferences,
parent, "kaquarium" );
}
}
kfish *kfishApp = 0L;
kfish::kfish( const QString& configFile, Type type, int actions,
QWidget *parent, const char *name )
: KPanelApplet(configFile, type, actions, parent, name)
, confDlg( 0 )
{
kfishApp = this;
// random
srand( time(NULL) );
// Add layout
QVBoxLayout *vbox;
vbox = new QVBoxLayout(this);
resize(200,200);
connect( kfishPref::prefs() , SIGNAL( changePref() ), this, SIGNAL( signalSettingsChanged() ) );
connect( this, SIGNAL( signalSettingsChanged() ), this, SLOT( slotSettingsChanged() ));
// start canvas, where i'll show the fish
m_canvas = new QCanvas( 0, "Canvas" );
m_canvasview = new kfishCanvasView( m_canvas, this, "CanvasView" );
vbox->add(m_canvasview);
m_canvasview -> setCanvas( m_canvas );
// set some canvas options
m_canvas->setBackgroundColor( QColor(0,0,100) );
m_canvas->setAdvancePeriod( 30 );
m_canvas->resize( 1 ,1 );
m_canvas->setDoubleBuffering(true);
// set the background
setWall( locate("data", "kaquarium/pics/water.png"), m_canvas );
// start bubbles
m_bubble = new kfishBubbleManager( m_canvas, this );
// put CanvasView inside the layout
m_fish = new kfishManager( this );
// Mouse tracking, so i know if the mouse is over the widget (fishCanvasView)
setMouseTracking ( true );
// set the default width space for future usage
m_oldwidth = kfishPref::prefs() -> getWidth();
// set the orientation
kfishPref::prefs() -> setOrientation( orientation() );
}
kfish::~kfish(void)
{
delete m_canvasview;
delete m_fish;
delete m_bubble;
delete m_canvas;
}
int kfish::widthForHeight( int h ) const
{
kfishPref::prefs() -> setOrientation(Horizontal);
kfishPref::prefs() -> setPanelHeight(h);
kfishPref::prefs() -> setPanelWidth(kfishPref::prefs() -> getWidth());
// TODO: Get ride of this, do a emit with the new size... or something like that
m_canvas -> resize( kfishPref::prefs() -> getWidth(), int (h) );
m_canvas -> setChanged( QRect(0,0, int(kfishPref::prefs() -> getWidth()), int (h)));
return kfishPref::prefs() -> getWidth();
}
int kfish::heightForWidth( int w ) const
{
kfishPref::prefs() -> setOrientation(Vertical);
kfishPref::prefs() -> setPanelWidth(w);
kfishPref::prefs() -> setPanelHeight(int(w/1.5));
// i resize the canvas widget and this send a resized signal to all my classes and they do what they have to
// TODO: Get ride of this, do a emit with the new size... or something like that
m_canvas -> resize( int (w), int (w/1.5) );
m_canvas -> setChanged( QRect(0,0,int (w), int (w/1.5)) );
return (int) (w/1.5);
}
void kfish::orientationChange(Orientation orient)
{
kfishPref::prefs() -> setOrientation( orient );
}
void kfish::slotAbout()
{
KAboutData about("kAquarium", I18N_NOOP("KDE Aquarium Applet"), "1.0 Beta",
I18N_NOOP("KDE Aquarium"),
KAboutData::License_GPL_V2, "(C) 2002-2004 Ramiro Tasquer",
I18N_NOOP("An Aquarium Applet\nfor kicker"),
"http://scofmb.sourceforge.net");
about. addAuthor("Ramiro Tasquer", I18N_NOOP("Developer"), "tasquer@arnet.com.ar");
about. addCredit("Jim Toomey", I18N_NOOP("All fish graphics"), "www.slagoon.com");
about. addCredit("Tarzeau", I18N_NOOP("Bubbles graphics"), "tarzeau@space.ch");
KAboutApplication a(&about, this);
a.exec();
}
void kfish::slotPreferences(void)
{
if (confDlg) {
confDlg -> raise();
return;
}
confDlg = new configDlg( this, 0, FALSE, Qt::WDestructiveClose );
connect(confDlg, SIGNAL( destroyed() ), SLOT( slotConfigDlgDestroy() ));
confDlg -> show();
}
void kfish::slotSettingsChanged()
{
if ( m_oldwidth != kfishPref::prefs() -> getWidth() )
{
m_oldwidth = kfishPref::prefs() -> getWidth();
emit updateLayout();
}
}
void kfish::slotConfigDlgDestroy()
{
confDlg = 0;
}
void kfish::about()
{
slotAbout();
}
void kfish::preferences()
{
slotPreferences();
}
This package was debianized by Helen Faulkner <helen_ml_faulkner@yahoo.co.uk> on
Tue, 3 Aug 2004 16:31:07 +0100.
It was downloaded from http://scofmb.sourceforge.net/kaquarium.html
Upstream Author: Ramiro Tasquer <tasquer@zuper.net>
Copyright:
Copyright (C) 2002-2004 Ramiro Tasquer.
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 dated June, 1991.
This package 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
On Debian GNU/Linux systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
Reply to: