Re: Cost of qt development license

2003-09-03 Thread linux-il
guy keren wrote:
that into account. assuming the GUI library is not thread-safe, you'll
need to make sure you perform all GUI operations from within one thread
only - this requires some 'thread-to-thread' delegation mechanism - not
hard to implement, but requires _some_ time.
Why is 'thread-to-thread' delegation required?

What's wrong with Mutexes at the right spots, so only one thread gets
to run the critical sections at any point in time?
Cheers,

--Amos

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]


Re: Cost of qt development license

2003-09-03 Thread guy keren

On Wed, 3 Sep 2003 [EMAIL PROTECTED] wrote:

 guy keren wrote:
  that into account. assuming the GUI library is not thread-safe, you'll
  need to make sure you perform all GUI operations from within one thread
  only - this requires some 'thread-to-thread' delegation mechanism - not
  hard to implement, but requires _some_ time.

 Why is 'thread-to-thread' delegation required?

 What's wrong with Mutexes at the right spots, so only one thread gets
 to run the critical sections at any point in time?

because normally, the GUI library runs inside a 'main loop' that waits for
events and handles them. so you'll dedicate one thread to run this 'main
loop'. and since this thread might wake up whenever, in order to handle a
new event, and this thread cannot wait on a mutex (cause no one told it
to) - so you'll not want to start messing with the GUI library from within
another thread. what you'll normally do (again, all this - iff the GUI
library isn't thread safe) is that other threads that want to update the
GUI will delegate the operatoin to the main thread (e.g. writing a
'command' on a GUI commands queue, and waking this thread by writing a
byte into a pipe, and having the GUI thread add this pipe's file
descriptor to the set of file descriptors it select(2)-s on. (all GUI
library i saw have a method to ask the main loop to add file descriptors
to its select()/poll() loop).

-- 
guy

For world domination - press 1,
 or dial 0, and please hold, for the creator. -- nob o. dy


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-09-03 Thread linux-il
Thanks.
Reminds me how long it was since I last played with this stuff
(Motif on IRIX circa 1996-7).
guy keren wrote:

On Wed, 3 Sep 2003 [EMAIL PROTECTED] wrote:

 

guy keren wrote:
   

that into account. assuming the GUI library is not thread-safe, you'll
need to make sure you perform all GUI operations from within one thread
only - this requires some 'thread-to-thread' delegation mechanism - not
hard to implement, but requires _some_ time.
 

Why is 'thread-to-thread' delegation required?

What's wrong with Mutexes at the right spots, so only one thread gets
to run the critical sections at any point in time?
   

because normally, the GUI library runs inside a 'main loop' that waits for
events and handles them. so you'll dedicate one thread to run this 'main
loop'. and since this thread might wake up whenever, in order to handle a
new event, and this thread cannot wait on a mutex (cause no one told it
to) - so you'll not want to start messing with the GUI library from within
another thread. what you'll normally do (again, all this - iff the GUI
library isn't thread safe) is that other threads that want to update the
GUI will delegate the operatoin to the main thread (e.g. writing a
'command' on a GUI commands queue, and waking this thread by writing a
byte into a pipe, and having the GUI thread add this pipe's file
descriptor to the set of file descriptors it select(2)-s on. (all GUI
library i saw have a method to ask the main loop to add file descriptors
to its select()/poll() loop).
 



=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]


Re: Cost of qt development license

2003-09-01 Thread Voguemaster
On Sun, 31 Aug 2003 19:26:01 +0200, Alexander Maryanovsky 
[EMAIL PROTECTED] wrote:

At 17:54 31.08.2003 +0300, Aviram Jenik wrote:
Hi,

We are currently debating on what GUI infrastructure to use for one of 
our
products, and the main downside of qt seems to be its constraining 
license.
Can anyone shed more light on this subject? How much does the qt license 
cost
to develop a non-GPL product that uses qt library?
Does it also apply for tools like kdevelop?
Are there any free (read: completely free, with no we're-free-but fine
print) alternatives other than gtk and WxWindows?
Java/Swing? Java/SWT? Not Free, but certainly free.

Alexander (aka Sasha) Maryanovsky.


That might work, I'm a great supporter of Java. Again, it all depends on 
the
type of application. If it's a local administration tool, that might be a 
viable
option. A remote administration tool for example would require a little 
extra.

Other interesting options exist, like HTML and server-side code. User 
interfaces
such as those found in routers are a prime example.

Aviram, can you provide some more details ?

E

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]


Re: Cost of qt development license

2003-09-01 Thread Aviram Jenik
On Monday 01 September 2003 13:59, Voguemaster wrote:
 
  Java/Swing? Java/SWT? Not Free, but certainly free.
 
Ok, to avoid expressing my thoughts on Java and specifically swing (despite 
the fact I've been programming in it for almost 8 years now), I'll just say 
the application will be written in C++ and skip that argument altogether.



 Aviram, can you provide some more details ?


The application is very simple in terms of GUI, and heavy on internal logic - 
so the GUI is just a few buttons/edit boxes/progress bars, etc. Nothing too 
complicated.
Cross platform is also not an issue: this GUI will be Linux only.

-- 
It was only a one liner. A semi-illiterate chipmunk could've written
it.  -- MBY about his 2.5.73 kernel patch in tpam_queues.c

- Aviram

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-09-01 Thread guy keren

On Mon, 1 Sep 2003, Aviram Jenik wrote:

 The application is very simple in terms of GUI, and heavy on internal logic -
 so the GUI is just a few buttons/edit boxes/progress bars, etc. Nothing too
 complicated.
 Cross platform is also not an issue: this GUI will be Linux only.

in that case, and assuming this application is not for internal use, i'll
avoid using Qt, and just use the toolkit that looks most appealing,
visually-wise.

by the way, if your application might be multi-threaded, you should take
that into account. assuming the GUI library is not thread-safe, you'll
need to make sure you perform all GUI operations from within one thread
only - this requires some 'thread-to-thread' delegation mechanism - not
hard to implement, but requires _some_ time.

by the way, gilad - did you personally use fltk for a real (non-trivial)
application? if so, can you comment on that? technically-wise, it looks
like i should dump gtk+ in favor of fltk - if i find the widgets visually
appealing ;) - but i want to know, form someone who actually used it, how
their experience with it was - and without information hiding :)

-- 
guy

For world domination - press 1,
 or dial 0, and please hold, for the creator. -- nob o. dy


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-09-01 Thread Gilad Ben-Yossef
On Monday 01 September 2003 22:19, guy keren wrote:

 by the way, gilad - did you personally use fltk for a real
 (non-trivial) application? if so, can you comment on that?
 technically-wise, it looks like i should dump gtk+ in favor of fltk -
 if i find the widgets visually appealing ;) - but i want to know,
 form someone who actually used it, how their experience with it was -
 and without information hiding :)

Sadly or gladly, I am not a GUI programmer by far. Having said that, I 
am advising to a certain commercial project which looked for a toolkit 
and after considering the requirements I have recommended they use FLTK 
and they seem very happy with it.

Apart from looks (the widgets look very SGI-ish, if you know what I 
mean...), FLTK biggest strength (for me at least) is also it's biggest 
hurdle - it's damn lightweight and fast. A Hello World program is 52k. 
In fact, It's lightweight enough that most implementation that use it 
don't use it as a shared library at all but simply statically link it.

But such terse coding has a price - some people will call it's OO style 
lacking, because it focuses on speed and compatiability, not on good 
OO. It also plays some other tricks to use as little resources as 
possible, which makes life interesting for the developer.

My expirence thus far with FLTK has been in conjunction with embedded 
systems. In this league, it shines with it's remarkable feature set to 
footprint ratio and the multi platform support (enabling the pesky GUI 
people to develop on their favorite platform) is icing on the cake. 

I do know some relativly complicated commercial application without low 
footprint constraint were developped with it, especailly in the field 
of animation (just google for fltk and you'll find them) so some people 
obviously find it a viable option also in non embedded system kind of 
jobs.

Hope this helps,
Gilad

-- 
Gilad Ben-Yossef [EMAIL PROTECTED]
http://benyossef.com


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-08-31 Thread Meir Kriheli
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sunday 31 August 2003 14:54, Aviram Jenik wrote:
 Hi,

 We are currently debating oEnterprisenfrastructure to use for one of our
 products, and the main downside of qt seems to be its constraining license.
 Can anyone shed more light on this subject? How much does the qt license
 cost to develop a non-GPL product that uses qt library?
 Does it also apply for tools like kdevelop?
 Are there any frecapabilitympletely free, with no we're-free-but fine
 print) alternatives other than gtk and WxWindows?

No definitive answer, but since we were facing the same situtation lately, 
here's what we've come up with so far.

The features needed by us were provided by QT enterprise (mainly DB 
connectivity), but the pricing of duopack for linux/win is way too high (3495
$ single developer license, 3160 per seat for 2-5) for us. After an emails 
exchange, they were ready to give us a single developer license at the price 
of the one they're charging for 2-5 licenses, but it's still too high.

- From tests we've made, GTK+ was not ready for prime time for windows. The db 
connectivity I could come up with (gnome-db) is dependant on gnome, is it 
won't cross platforms easily (if at all), and doesn't look native on windows.

wxWindows seems nice, but they're facing sort of rewrite, unification of 
toolkits. right now they're dependant on underlying ones, as it's an 
abstraction layer. For linux, you can use the build against GTK+2. One 
problem (at least on theory) is how do you handle bidi layout of the app 
itself ? If you use the GTK+ as wxWindows UI on linux, you can set LANG=he_IL 
and the app will bidi-reorder itself (QT has the capability when using 
- -reverse as a switch), including menu layout etc. Windows has no such option, 
so you either work with some #ifdefs or give up natural bidi layout order of 
apps. I didn't test it on windows yet.

For DB connectivity wxWindows uses ODBC IIRC.

I couldn't come up with another toolkit which can replace those (meeting our 
requirements). Since the app is multilayered using different front ends, the 
linux frontend right now uses XUL generated by apache/php server. We haven't 
decided on a toolkit for native app yet.
- -- 
Meir Kriheli
MKsoft systems
http://www.mksoft.co.il
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/UkDxRkS5DWK1mZkRAq4MAJsHoLIBzs/9Tb92MQrPDx9Y5D8wcwCfYy63
nyrRmjs+eabFp9/JtD06Fyg=
=+xyh
-END PGP SIGNATURE-

To unsubscribe, send 
mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-08-31 Thread Alexander Maryanovsky
At 17:54 31.08.2003 +0300, Aviram Jenik wrote:
Hi,

We are currently debating on what GUI infrastructure to use for one of our
products, and the main downside of qt seems to be its constraining license.
Can anyone shed more light on this subject? How much does the qt license cost
to develop a non-GPL product that uses qt library?
Does it also apply for tools like kdevelop?
Are there any free (read: completely free, with no we're-free-but fine
print) alternatives other than gtk and WxWindows?
Java/Swing? Java/SWT? Not Free, but certainly free.

Alexander (aka Sasha) Maryanovsky.

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]


Re: Cost of qt development license

2003-08-31 Thread Shlomi Fish
On Sun, 31 Aug 2003, Aviram Jenik wrote:

 Hi,

 We are currently debating on what GUI infrastructure to use for one of our
 products, and the main downside of qt seems to be its constraining license.
 Can anyone shed more light on this subject? How much does the qt license cost
 to develop a non-GPL product that uses qt library?

First of all, you can develop any open-source product whose license is
compatible with the GPL with Qt. This includes modBSD, X11, Clarified
Artistic, LGPL and other licenses. Secondly it can be used to develop any
product that is meant for internal/in-house use. The GPL specifically
gives way to such a posssibility.

If this is not the case for you, then the pricing can be found here:

http://www.trolltech.com/products/qt/pricing.html

 Does it also apply for tools like kdevelop?

No. You can fully use GPL tools to develop proprietary applications. The
KDE support libraries are licensed under the LGPL so there's no added cost
there.

 Are there any free (read: completely free, with no we're-free-but fine
 print) alternatives other than gtk and WxWindows?


There are plenty others:

http://www.geocities.com/SiliconValley/Vista/7184/guitool.html

Of these the dominant ones are: The FOX Toolkit, Mozilla's XUL and the
FLTK. None of them require a license to be used commercially.

Also check:

http://freshmeat.net/articles/view/928/

for a review and comparison of Qt, Gtk, FOX, wxWindows and FLTK.

Regards,

Shlomi Fish

 --
 It was only a one liner. A semi-illiterate chipmunk could've written
 it.  -- MBY about his 2.5.73 kernel patch in tpam_queues.c

 - Aviram

 =
 To unsubscribe, send mail to [EMAIL PROTECTED] with
 the word unsubscribe in the message body, e.g., run the command
 echo unsubscribe | mail [EMAIL PROTECTED]




--
Shlomi Fish[EMAIL PROTECTED]
Home Page: http://t2.technion.ac.il/~shlomif/

There's no point in keeping an idea to yourself since there's a 10 to 1
chance that somebody already has it and will share it before you.


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Cost of qt development license

2003-08-31 Thread Aviram Jenik
Hi,

We are currently debating on what GUI infrastructure to use for one of our 
products, and the main downside of qt seems to be its constraining license.
Can anyone shed more light on this subject? How much does the qt license cost 
to develop a non-GPL product that uses qt library?
Does it also apply for tools like kdevelop?
Are there any free (read: completely free, with no we're-free-but fine 
print) alternatives other than gtk and WxWindows?

-- 
It was only a one liner. A semi-illiterate chipmunk could've written
it.  -- MBY about his 2.5.73 kernel patch in tpam_queues.c

- Aviram

=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-08-31 Thread Gilad Ben-Yossef
On Sunday 31 August 2003 17:54, Aviram Jenik wrote:
 Hi,

 We are currently debating on what GUI infrastructure to use for one
 of our products, and the main downside of qt seems to be its
 constraining license. Can anyone shed more light on this subject? How
 much does the qt license cost to develop a non-GPL product that uses
 qt library?
 Does it also apply for tools like kdevelop?
 Are there any free (read: completely free, with no we're-free-but
 fine print) alternatives other than gtk and WxWindows?

I think you're going to love FLTK:

It's free and Free as the LGPL, plus certain exemptions that make it 
more friendly for propritery software writers (subclassing isn't 
derivative work, static linked application with no source are OK, etc 
etc...)

sizeof(Fl_Widget) == 64 to 92.

The core (the hello program compiled  linked with a static FLTK 
library using gcc on a 486 and then stripped) is 114K.

The FLUID program (which includes every widget) is 538k.

Written directly atop core libraries (Xlib, WIN32 or Carbon) for maximum 
speed, and carefully optimized for code size and performance.

Precise low-level compatability between the X11, WIN32 and MacOS 
versions - only about 10% of the code is different.

Interactive user interface builder program. Output is human-readable and 
editable C++ source code.

Support for overlay hardware, with emulation if none is available.

Very small  fast portable 2-D drawing library to hide Xlib, WIN32, or 
QuickDraw.

OpenGL/Mesa drawing area widget.

Support for OpenGL overlay hardware on both X11 and WIN32, with 
emulation if none is available.

And most important:

Text widgets with Emacs key bindings, X cut  paste, and foreign letter 
compose!

http://www.fltk.org/

Qt is cool, If say that for it. But FLTK kicks ass :-)

Gilad

-- 
Gilad Ben-Yossef [EMAIL PROTECTED]
http://benyossef.com


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]



Re: Cost of qt development license

2003-08-31 Thread guy keren

On Sun, 31 Aug 2003, Aviram Jenik wrote:

 We are currently debating on what GUI infrastructure to use for one of our
 products, and the main downside of qt seems to be its constraining license.
 Can anyone shed more light on this subject? How much does the qt license cost
 to develop a non-GPL product that uses qt library?
 Does it also apply for tools like kdevelop?
 Are there any free (read: completely free, with no we're-free-but fine
 print) alternatives other than gtk and WxWindows?

you didn't state what kind of application you need to develope - which, i
think, is quite relevant to the choice of toolkit.

i had the opportunity to develope some linux GUI application for some
company, which needed to show both simple windows (canvas display,
dialog-boxes, tables) and some time-based graphs - and was supposed to
run on linux, with no real portability requirements. i went for gtk+
(programming in C, mind you) because i could use it for free, and i could
find the proper extentions to show the time-based graphs for it.

eventually, we managed to come up with a GUI that looked mostly decent (it
wasn't an application meant for end-users, althought it was used in a
trade show in the USA, to demonstrate the hardware that company
developed).

the down-sides i stumbled on were:

1. documentation. gtk+'s reference manual (that was 1-1.5 years ago, and
   we used gtk1.2, when gtk2.0 was just released) was very 'empty' (i.e.
   each function had an enrty, but often with no text attached to it). i
   used some experience i had with gtk+ previously (on a hobbist level)
   and lots of looking in the header files, and guessing, to overcome this
   issue.

2. the time-based graph widget i used contained a fundamental bug.
   ofcourse, since it was open-source, i was able to debug it and fix the bug.
   yet, i had to spend about 2-2.5 days on decyphering the code ;)

3. the timers of glib/gtk do not account for drifting, which caused the
   time-based graphs to come out with shifts. i had to re-write the timers
   code several times, eventually implementing my own delta-list on top of
   gtk's basic timer, to overcome the problem, until i managed to get the
   graphs to display properly, with a normal deviation of about 50ms per
   dot (we drew 1 point per second).

4. gtk's GUI builder, glade, has two modes. one is 'code generation'
   (un-useable in a proper project, since it re-writes the same code you
   modify). the other is using libglade (less convinient due to the way it
   handles callbacks - but useable). glade itself has some quirks which
   require getting used to, but if you don't try to play with it too much,
   and use it systematically, it is useable. the libglade mode also made
   it easy to write code that dynamically loads windows on-the-fly - which
   is a feature we needed for part of the application.

overall, the time we spent on the overcoming gtk+'s shortcomings, had
cost (in a rough estimation) less (money-wise) then buying a Qt license
(and Qt did not have a time-based plotting widget - i found one freely
available such widget on the net, that i did not like) - and i don't think
that using Qt would make the development time shorter then it was - when
you're using some 3rd-party library - any library - for a
less-then-trivial project, you're bound to hit the library's rough points.

in general, it _looks_ like the greatest trade-off between open-source and
closed-source code, is having the source and not having to pay
royaltees/licenses, against having good documentation and having no source
(well, with Qt you have the full source, which is useful for debugging
your code - that alleviates a lot of the problem). i find the same
trade-off exists with other libraries (e.g. ACE Vs. Roguewave's commercial
libraries) - and which of those suites you, depends alot on your
personality. after developing using commercial tools for ~4.5 years, and
free software for 1.5 years - i know which side i want to be on - but
that's me.

if you'll have an intention of using gtk+ (and judging by your letter -
you currently don't) and would like some more details - feel free to mail
me.

-- 
guy

For world domination - press 1,
 or dial 0, and please hold, for the creator. -- nob o. dy


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word unsubscribe in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]