[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-freeqt
Subject:    [freeqt] How to start with Harmony? +vote
From:       Christian Boos <boos () arthur ! u-strasbg ! fr>
Date:       1998-11-22 9:35:51
[Download RAW message or body]

cet@elinux.net writes:
 > Hello,
 > 
 >      I'd like to start helping with the Harmony project, so I'd like some
 > advice on where to start.  I've never done any QT programming, so I need to
 > get up to speed on the basic concepts.  I understand Harmony uses a signal /
 > slot architecture?  Is there any place where I can get documentation to get
 > me started?

Qt's signal/slot mechanism is a nice idea, but the implementation is,
well, not as good as it could have been. 
Tero Pulkinnen did the original signal/slot implementation for
Harmony, but it wasn't source compatible with Qt.
This implementation can still be found in the CVS, and it is still
used in Gtk--, the C++ wrapper for GTK+.

See http://www.cs.tut.fi/~p150650/gtk/gtk--.html  

After that, Olivier Galibert wrote a signal/slot mechanism which is 
100% source compatible with Qt, using a precompiler named 'magna' in
place of TT's 'moc'.

Then, late august, I came in the Harmony project with a new
implementation idea, which wasn't meant originally to be 100% source
compatible with Qt. This evolved in a multi-threaded signal/slot
library which can be found at

ftp://arthur.u-strasbg.fr/pub/Harmony/Relay++-0.2.tar.gz

Since this library doesn't need a precompiler and use a slightly
different syntax for signal and slots, it hasn't merged with Harmony
yet. But this merge was planned, as in the meantime I found a way to
make it source compatible with Qt anyway. 

Now, I work on a patch to merge this stuff with an even more Qt-compatible
library than Harmony was... :)

 > 
 >      I've also heard that I can't look at any source code or headers from QT
 > if I'm to work on Harmony.  Is this true?  What about QT API documentation?

Look at the QT API documentation only. 

 >      I have many more years of systems programming experience that GUI
 > programming, especially communications and networking.  Are there any
 > networking components to Harmony? Do any still need work?  Is there anyone
 > who keeps track of which developers are working on which features?
 > 

No networking involved besides the connection with the X server and
the Qt socket notifier class.

 >      Any help would be appreciated, no matter how basic.

If you want to continue the Harmony project as it originally started 
(this is, ignoring what TT did in the meantime, which is your right), 
I suggest however that you read the Mailing List archive 
(http://lists.kde.org), especially the messages from RMS, which stated 
that a GNU GPL license was more appropriate. There was a hot debate
whether to choose between GPL or LGPL, and we finally went LGPL for
various reasons.


But now, I would consider that given the only serious reasons to not
be happy with the QPL are for GNU technicals, the correct choice is the 
license freeqt under GPL. 

I said freeqt on purpose, because I would like to see the name Harmony
to be used for something else (as it always had been btw), like Greg's 
proposal, or my 'Qt hacking discussion place' idea.


So, now I'm rembering that there has already been some vote going on
in the past on this list. As always, only the actual maintainers'
voices count. 

// ------------------------------------------------------------------

What I'm proposing is a new start for Harmony. Our legacy code should
still be kept around of course, but we could now focus on
real 'harmonizing' issues: 

1. KDE/GNOME interoperability
2. Qt 2 enhancements
3. KDE/Qt interaction

I vote yes for that.

As a side effect, we should change somewhat the web site to reflect
this idea, and send a letter to Qt for clarifying things (but I think
they now our feeling :)

// ------------------------------------------------------------------

 > 
 > 
 > Thank you,
 > Carl Thompson


-- Christian

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic