[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