[Scribus] GTK version of Scribus
Craig Ringer
craig
Thu May 4 17:38:56 CEST 2006
Christopher Anthony wrote:
> I would like to use Scribus on a friendly, truly open desktop. Would it
> be too difficult to port Scribus to use the GTK libraries instead of the
> non-free QT libraries?
You are incorrect. Qt is in fact "free" according to the Free Software
Foundation definition - it's released under the GPL. With Qt4, it's GPL
on all platforms, and we will be moving to Qt4, but Qt3 is still GPL on
Mac OS X and UNIX/Linux. Qt has been GPL on UNIX/Linux since late Qt2 or
early Qt3, prior to which it was under the only slightly less free QPL.
Get the source code to Qt3/Mac, Qt3/X11, Qt4/Mac, Qt4/X11 or Qt4/Win32
from trolltech.com or get the source package / SRPM from your local
mirror, and start reading. Just so you don't have to do any research,
here's a link to all available Qt sources for your perusal and use:
ftp://ftp.trolltech.com/qt/source
According to Stallman, whose opinion I expect you revere given the tone
of your message, the GPL license used by Qt is more free than the LGPL
used by Gtk, as the LGPL permits (and to his mind therefore encourages)
the use of the library by proprietary software. Don't believe me? Read this:
http://www.gnu.org/licenses/why-not-lgpl.html
(My own opinions are not the same as Stallman's, but that's not relevant
to this discussion.)
Qt is dual-licensed, so you can buy a commercial license that frees you
from the restrictions placed upon you by the GPL. This does not affect
the GPL version in any way, or programs that use that version. It's not
really any different from Gtk permitting its use with closed-source
software via the LGPL, except that TrollTech charge people who want to
make closed-source software on top of their toolkit.
Not only is Qt as free, or more free, than Gtk according to the
definition used by the founder of the Free Software movement, but it's
also technically somewhere between impractical and completely stupid to
move from Qt to Gtk. In an app that had a well-abstracted GUI layer and
stuck carefully to standard ISO C++ in its core, it'd be possible to do
(just a huge amount of work), but Scribus is not such an application. Qt
is not just a GUI toolkit, it's an app development toolkit, and Scribus
makes use of that fact (for better or worse). It uses the Qt collection
classes extensively, as well as the signal/slot mechanism and QObject's
memory management and parent/child trees. There are alternatives to all
these mechanisms, but they're all different, would require massive
amounts of work to convert to (think total application re-write, or very
nearly), and some require extremely modern compilers and/or libraries.
In short, it'd be a mind boggling amount of work that'd result in a
product that would be in no way better than what we already have, and
frankly there's already plenty to do.
I'm heartily sick of people whining about things not being free enough
when they haven't the faintest clue what they're on about. Please
research before posting next time. The debate about Qt ended six years
ago, and it's time for you to catch up:
http://www.linuxplanet.com/linuxplanet/reports/2269/1/
I, for one, am bored of it. I've wasted too much time on this anyway.
</rant>
--
Craig Ringer
More information about the scribus
mailing list