Re: Cost of qt development license
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
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
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
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
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
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
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
-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
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
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
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
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
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]