Slashdot Mirror


Cross-Platform Development For Windows and OS X

An anonymous reader writes to let us know about an article in RegDeveloper detailing the use of Qt, Trolltech's cross-platform C++ toolkit, for development across Windows and Mac OS X. From the article: "QT not only goes across desktops but onto embedded devices as well. So any app you write with Qt will port to an embedded device with a frame buffer running Trolltech's embedded version of QT, called QtopiaCore."

198 comments

  1. wxWindows by also-rr · · Score: 5, Funny

    I have been doing cross platform development with wxWindows and I have to say it makes it easy. So far I have an application which crashes with exactly the same fault* on Windows, OSX *and* Linux! You just can't buy productivity like that with commercial development frameworks. *Error 5: Developer is an idiot who hasn't programmed much since the BBC Master was cutting edge technology.

    1. Re:wxWindows by PrescriptionWarning · · Score: 1

      I rather prefer Error -1: Array index out of Bounds, programmer forgot to check array size first, what a schmuck :(

    2. Re:wxWindows by also-rr · · Score: 1
      That should have been...

      I have been doing cross platform development with wxWindows and I have to say it makes it easy. So far I have an application which crashes with exactly the same fault* on Windows, OSX and Linux! You just can't buy productivity like that with commercial development frameworks.

      *Error 5: Developer is an idiot who hasn't programmed much since the BBC Master was cutting edge technology.


      Nothing like proving a point the hard way eh... can't even do crippled HTML right first time.
    3. Re:wxWindows by Shawn+is+an+Asshole · · Score: 1

      It's been called wxWidgets for a few years now. Microsoft made them change the name, but they did pay for their new domains.

      I do like wxWidgets and have done a good amount of development in it (C++ and Perl). It's really worth learning if you need to support more than one platform.

      --
      "It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
    4. Re:wxWindows by fistfullast33l · · Score: 1

      HTML, meet also-rr. also-rr, meet HTML. HTML, apparently also-rr hasn't coded since the BBC Master was cutting edge technology. Also-rr, HTML has been an internet programmer's staple since 1993.

    5. Re:wxWindows by Anonymous Coward · · Score: 0

      wxWidgets: supports more platforms and it is TRUE open source in that they don't charge you if you use it commercially. Enough said.

    6. Re:wxWindows by EzInKy · · Score: 4, Insightful


      wxWidgets: supports more platforms and it is TRUE open source in that they don't charge you if you use it commercially. Enough said.


      No, it's really not enough said. If you want to get paid for your work then they should get paid for theirs.

      --
      Time is what keeps everything from happening all at once.
    7. Re:wxWindows by Anonymous Coward · · Score: 0

      Does this include paying Dave Jewell (the author of this article) to evangelize Qt?

      From one of his books in the 'About the Author' section: "He has a regular programming column in PC Plus and in recent years has become an unashamed .NET evangelist."

      He gets paid to write stuff like this. Otherwise the article would have either contained at least some comparison with other toolkits, or been written as a tutorial posted within the Qt development community rather than a "news" article.

    8. Re:wxWindows by Anonymous Coward · · Score: 1, Insightful

      EzInKy,

      News flash the vast majority of Qt contributors are NOT paid from those fees. Your logic is flawed. Don't pass GO, and don't collect $200.

      The wxWidget community is proof positive that a true open source community approach can work. The wxWidget community supports each other and no one bitches like a little girl.

    9. Re:wxWindows by Anonymous Coward · · Score: 0
      News flash the vast majority of Qt contributors are NOT paid from those fees

      You seem to have no idea what you are talking about. Please, who are those unpaid contributers?

      The wxWidget community supports each other and no one bitches like a little girl.

      Well, but the wxWidget community seems to contain a lot of people who bitch about everything not wxWidgety. (Check the comments here)
      Which is for me a very big turn off...
    10. Re:wxWindows by Anonymous Coward · · Score: 0
      He gets paid to write stuff like this. Otherwise the article would have either contained at least some comparison with other toolkits

      Cool down and read before you write that ... lets be nice and call it "stuff"

      see here (from the article)
      In future articles, I hope to look at other cross-platform solutions such as wxWidgets and Free Pascal.


    11. Re:wxWindows by be-fan · · Score: 1

      Trolltech does almost all the Qt development.

      --
      A deep unwavering belief is a sure sign you're missing something...
  2. Qtopia? by Anonymous Coward · · Score: 1, Funny

    How Qt.

  3. Isn't that what YellowBox is for? by parvenu74 · · Score: 3, Interesting

    There are the persistent rumors that the YellowBox technology from NextSTEP is still alive and well on the Apple Campus, and is just waiting for The Steve to give the "And one more thing..." signal for it to come back into the light. But whom does that help, exactly?

    1. Re:Isn't that what YellowBox is for? by WillAdams · · Score: 2, Informative

      Well,there is GNUstep. http://www.gnustep.org/

      At least one commercial app for Mac OS X is using it to get a Windows version, Nova Mind:

      http://www.nova-mind.com/

      William
      (who is still pretty miffed that Apple had to cave in to Adobe and Microsoft et. al., so that instead of Rhapsody w/ Yellow Box, we got Mac OS X w/ Carbon --- I'd give my interest in Hell to get back all the time I've wasted at work using foetid Carbon apps)

      --
      Sphinx of black quartz, judge my vow.
    2. Re:Isn't that what YellowBox is for? by R3d+M3rcury · · Score: 1
      There are the persistent rumors that the YellowBox technology from NextSTEP is still alive and well on the Apple Campus, and is just waiting for The Steve to give the "And one more thing..." signal for it to come back into the light.
      I'm not convinced that it will happen.

      First, there are better "least common denominator" approaches than YellowBox and the industry has already chosen Java. So YellowBox doesn't really give you any advantages.

      Second, it adds more hassles for Apple to keep it compatible with Windows. Why should Apple bother with this? Remember that Apple doesn't make any money off it's development tools, so where's the advantage? I suppose that developers would buy Macs to develop on instead of Windows machines, but Mac developers already do this.

      Finally, Apple uses Cocoa as an "easy" way to roll out access to Mac OS X features to developers. How is Apple going to roll out, say, Spotlight support to Mac developers if Windows doesn't support it. You would essentially end up with two flavors of Cocoa--least common denominator Cocoa to run in Mac OS X and Windows and "full on" Mac OS X.

      So, in the end, you end up with YellowBox costing Apple money in development time with next to no benefit for Apple (unless they sold YellowBox for money). I'm not sure why Apple would choose to do this.
    3. Re:Isn't that what YellowBox is for? by TheRaven64 · · Score: 1

      GNUstep, while a great system to work with on *NIX, is still quite immature on Windows. The problem is that most of the core developers use a combination of Linux/BSD/Solaris and Mac OS X; very few of them have Windows programming experience. It pretty much works these days, I believe there is even a patch that attaches the menu bar to windows in the broken Windows sytle, and there is a Windows style available for Camaelon.

      --
      I am TheRaven on Soylent News
    4. Re:Isn't that what YellowBox is for? by TheRaven64 · · Score: 1
      You would essentially end up with two flavors of Cocoa--least common denominator Cocoa to run in Mac OS X and Windows and "full on" Mac OS X.

      In a way, you already do. OpenStep is an open specification on which Cocoa is based. If you develop to OpenStep, you can write code that works on OS X and GNUstep (and the Solaris implementation, if you can find a copy). Cocoa and GNUstep both support some extensions to the specification (including some Cocoa extensions ported to GNUstep). You'll find that OpenStep is a fairly complete API; a lot of applications don't need anything beyond it. It's also quite easy to separate code that goes beyond the base specifications into categories and not compile them on whatever platform doesn't support them.

      --
      I am TheRaven on Soylent News
    5. Re:Isn't that what YellowBox is for? by R3d+M3rcury · · Score: 1

      ...and that's fine. But the concept that Apple is going to do this or actively support developers doing this is wishful thinking.

    6. Re:Isn't that what YellowBox is for? by Anonymous Coward · · Score: 0
      First, there are better "least common denominator" approaches than YellowBox and the industry has already chosen Java. So YellowBox doesn't really give you any advantages.
      Wrong. Java apps needs JVM to run it, so it's always slower than compiled apps. When you code with Yellow Box, the resulting apps are compiled and run as native apps. There are many reasons one may end up choosing Java as the preferred or the most advantageous solution, but saying that Yellow Box does not really give any advantage is plainly incorrect.
    7. Re:Isn't that what YellowBox is for? by RAMMS+EIN · · Score: 1

      Wasn't YellowBox the name of Apple's OpenStep implementation, which is now called Cocoa?

      --
      Please correct me if I got my facts wrong.
    8. Re:Isn't that what YellowBox is for? by Anonymous Coward · · Score: 0

      I'm pretty sure it's there if you look at the Windows port of iTunes... It has bundles and plists and typical cocoa strings.

      Of course Apple does not let just anybody use it. There is where, as someone pointed out, GNUstep can come in. The windows port is right now pretty primitive but.. Definitely something to watch.

    9. Re:Isn't that what YellowBox is for? by Anonymous Coward · · Score: 0


      I'm pretty sure it's there if you look at the Windows port of iTunes...


      No. iTunes (for OS X) is a carbon app, originally written by Cassidy & Green(e) in the OS 9 days.


      For the Windows version, the Quicktime dll holds the GUI code (used by Quicktime player and iTunes). However, they're not written in Objective C/cocoa/openstep/yellowbox/etc

  4. Re:And this is news? by FunkyELF · · Score: 1

    It sure is news. It is OSNews. They posted this a little while ago too.

  5. First things first by Anonymous Coward · · Score: 3, Informative

    Its Qt and not QT which means Quicktime.

    1. Re:First things first by enigma9 · · Score: 3, Funny
      It is QuickTime, not Quicktime.

      My pedantry is bigger than yours.

      --
      My other post is +5, Interesting
    2. Re:First things first by Mr0bvious · · Score: 0

      It's "It's" not "Its".

      --
      Never happened. True story.
    3. Re:First things first by Salmar · · Score: 1
      Thank you Mister Obvious for that incredibly insightful information!!1

      I really would not have known.

      You know I'm joking, right? Right??
      --
      This is not the signature you're looking for.
    4. Re:First things first by Mr0bvious · · Score: 0

      My intent was not to imply that you did not know the difference between "its" and "it's" or whatever.

      Nor did I mean any offense, but when correcting someone, it is poor form to make such an obvious mistake yourself. I was merely (badly) trying to highlight that fact.

      Seems to have rubbed you up a little, that was unintended.

      Have a good one..

      --
      Never happened. True story.
  6. new book on QT development by Anonymous Coward · · Score: 0

    It looks like Apress is publishing a new QT book next year -- Foundations of QT Development. That's kinda cool. It's not up on their website yet, but there's some info on amazon http://www.amazon.com/Foundations-Qt-Development-J ohan-Thelin/dp/1590598318/sr=11-1/qid=1164053202/r ef=sr_11_1/104-1082812-6109546

  7. Title by Anonymous Coward · · Score: 0
    Cross platform development for windows and OSX

    What do windows or OSX have to do with this? Cross platform means exactly that and there are more platforms than these.

    1. Re:Title by Ruby+Wednesday · · Score: 1

      Err... It works with X11, too (seeing as how KDE is based on it, and all...)

  8. well.. by ADRA · · Score: 3, Insightful

    I'll be the first to admit that I'm not very partial to QT, but the title of the article is horribly named. The title implies that the body encompases a general approach to cross-platform development. It doesn't. The article is about "Cross-platform QT development". More importantly, no alternatives are mentioned. The entire development piece is about using QT based technologies to tackel the cross-platform problem. All of this is well and great, but don't sell the article as -the- solution when its a very specific howto implement X for problem Y.

    --
    Bye!
    1. Re:well.. by RAMMS+EIN · · Score: 1

      ``The article is about "Cross-platform QT development"'' ...and that's not even cross-platform, it just means you use Qt for your platform. As soon as you do something outside of Qt that isn't portable, you're stuck again.

      --
      Please correct me if I got my facts wrong.
  9. Better alternative by DraconPern · · Score: 3, Informative

    This is blatant slashvertisement. Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead. Further more, it requires you to use non-standard c++ syntax together with a 'qt preprocessor'. The better choice is wxWidgets. It supports platforms, more compilers, has native controls, and it is open source.

    1. Re:Better alternative by Shawn+is+an+Asshole · · Score: 1

      QT4 is opensource under the GPL. The commercial license is a bit rediculous, though.

      --
      "It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
    2. Re:Better alternative by Ruby+Wednesday · · Score: 1

      How does it use non-standard C++?

      Also, it might just be me, but wx apps always seem to look a bit off compared to 'native' ones (in GTK, at least).

      There's also ease of use. In my experience, Qt is much easier to work with than wx (although that's subjective)

    3. Re:Better alternative by molnarcs · · Score: 3, Informative
      The commercial license is a bit rediculous, though.

      Why? It seems pretty popular (Adobe, Skype, Google, Opera, etc..) Trolltech's modell is an excellent example of how you can make money on free software. QT - free for free software development, pay for it if you develop commercial software. Which means they have a good revenue stream to pay some of the best coders on earth to enhance QT, which in term, serves the community (being the basis of some of the best free software apps, like scribus for instance). Nice. (oh, and as a bonus, those who pay also get some of the best support services in the industry - check trolltech's customer satisfaction :))

    4. Re:Better alternative by Anonymous Coward · · Score: 0

      And why would you use SWT instead of Swing?

    5. Re:Better alternative by molnarcs · · Score: 1
      This is blatant slashvertisement. Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead. Further more, it requires you to use non-standard c++ syntax together with a 'qt preprocessor'. The better choice is wxWidgets. It supports platforms, more compilers, has native controls, and it is open source.

      Informative? Well, this comment could have been a lot shorter: qt suxxz, wxwidgets rulez :))

      Oh, and tell me, where are the wxWidgets killer apps?

      QT - Adobe, Opera, Skype, Google uses QT, not to mention free software apps (KDE and its rather huge application stack), amarok, Scribus, Koffice, etc. Yeah, good luck convincing those folks developing these apps that they made a bad choice :)))

    6. Re:Better alternative by Anonymous Coward · · Score: 1, Informative

      You use Qt but you've never seen moc mangle the non-C++ code into something usable?

    7. Re:Better alternative by Kjella · · Score: 4, Insightful

      This is blatant slashvertisement.

      For an OSS product. We seem to get a lot of those around here

      Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead.

      Well, they don't look emulated or feel emulated, unlike java. But hey, I'm sure there's some technical reason you're right and noone cares.

      Further more, it requires you to use non-standard c++ syntax together with a 'qt preprocessor'.

      Yep. Which is what permits it to use a signal-slot mechanism which spanks wxWidgets and any other C++ system out there. No more crashes due to dangling pointers, yay!

      The better choice is wxWidgets. It supports platforms, more compilers, has native controls, and it is open source.

      Qt supports plenty platforms, plenty compilers, much better UI design tools and it's open source. I could mention it's a much better library too, but now you're just embarassing yourself.

      --
      Live today, because you never know what tomorrow brings
    8. Re:Better alternative by Yokaze · · Score: 1

      Bogus. It is standard C++ and compiles as such. Qt simply introduces some "keywords", which are either macros or empty defines and therefor interpreted or stripped by any standard preprocessor. moc interpretes those keywords and generates another (standard-conform) C++-file. You are free to write that generated code by hand, but I'd rather not.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    9. Re:Better alternative by stuuf · · Score: 1

      Actually, it's "free for GPL free software development, pay for proprietary or non-GPL free software." And that's only for Qt 4. Before that, it was "pay even if you're writing GPL software for windows." Compared to the wxWidgets and GTK+, which use the LGPL, it is ridiculous.

      --

      Everyone is born right-handed; only the greatest overcome it

    10. Re:Better alternative by Shawn+is+an+Asshole · · Score: 1
      I said it's redicious becuase of this:


      License Pricing (per developer)

      One Platform
      Console Edition: $1780
      Desktop Light Edition: $1990
      Desktop Edition: $3300

      Two Platforms
      Console Edition: $2670
      Desktop Light Edition: $2990
      Desktop Edition: $4950

      Three Platforms
      Console Edition: $3560
      Desktop Light Edition: $3980
      Desktop Edition: $6600


      That's much higher than even Visual Studio. wxWidgets is $0 and is under the LGPL. DialogBlocks (gui builder for wxWidgets) is $70/developer and can be used on as many computers as the developer uses.
      --
      "It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
    11. Re:Better alternative by Anonymous Coward · · Score: 0

      Oh, and tell me, where are the wxWidgets killer apps?

      I don't know, it's not very widely used, but you may possibly have heard of a little program called BitTorrent. Apparently it was really easy to write because of wxWidgets. (Qt wasn't an option at the time because the Windows version was not free.)

    12. Re:Better alternative by Yokaze · · Score: 1
      > Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead.

      So? If Swing were as fast as native widgets (which in my experience Qt widgets are), and integrate in the native OS desktop as any other application (dito), would there even be SWT?

      Another advantage of wxWidgets is its ease porting from MFC due to its similarity.


      BEGIN_EVENT_TABLE(MyFrame, wxFrame)
          EVT_MENU(ID_Quit, MyFrame::OnQuit)
          EVT_MENU(ID_About, MyFrame::OnAbout)
      END_EVENT_TABLE()

      I rest my case.
      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    13. Re:Better alternative by tonigonenstein · · Score: 1
      Oh, and tell me, where are the wxWidgets killer apps?
      Right Here: http://www.aolepk.com/communicator/index.html (Seriously!)
      --
      The sooner you fall behind, the more time you have to catch up.
    14. Re:Better alternative by tonigonenstein · · Score: 3, Informative
      Yep. Which is what permits it to use a signal-slot mechanism which spanks wxWidgets and any other C++ system out there. No more crashes due to dangling pointers, yay!
      libsigc++ (used in gtkmm) gives you typesafe slots/signals in ISO C++, no need to invent your own language. (No granted this wasn't possible at the time QT was originally designed).
      --
      The sooner you fall behind, the more time you have to catch up.
    15. Re:Better alternative by molnarcs · · Score: 2, Insightful

      Still don't see your point - the price is determined by the market. If they can sell it for that much, and at the same time, they can be vastly more popular than wxWidgets (they have LOTS of customers, even though they provide a fully GPL version), that means that the pricing is just right, not ridiculous ;)) QT is simply so good, that people are willing to pay that much for it (and the support you get, which I heard is excellent).

    16. Re:Better alternative by Anonymous Coward · · Score: 0

      wxWidgets apps? Plenty. Look here

      http://www.wxwidgets.org/about/screensh.htm

    17. Re:Better alternative by metamatic · · Score: 1

      One ridiculous part of the QT commercial license is that you can't buy it for existing open source applications.

      In other words, if you've written something as open source using Qt under GPL, and now want to make a commercial version of your product, you can't.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    18. Re:Better alternative by Anonymous Coward · · Score: 1, Funny

      >Another advantage of wxWidgets is its ease porting from MFC due to its similarity.

      That statement by itself is good enough of a reason to discard wxWidgets as a possible alternative for cross-platform development.

    19. Re:Better alternative by Jerry · · Score: 1
      QT4 is opensource under the GPL. The commercial license is a bit rediculous, though.


      How is the commercial license ridiculous? I just renewed my commercial license for a single user, two platform copy, for only $830, and find it a bargain when one considers how quick AND good the support is.
      http://www.trolltech.com/products/qt/licenses/pric ing

      QT's "signal & slots" technology is much more powerful and easier to implement than traditional callback functions.

      I tried wxWindows when it was part of Boa-Constructor. I found Boa very enjoyable to use, but development on it seemed too slow and combine that with the fact that wxWindows requires gtk+ and other libs with specific version numbers for the version of wxWindows that I was using. Keeping them synchronized became a pain. I found DevC++ and MinGW equally pains.

      Compare that with QT, which supplies the UI designer, the API doc (Assistant), the Meta-Object-Compiler (moc), the User-Interface-Compiler (uic), qmake and other utilities, all of them at the same version and installed from the same tar or exe. The tools are a joy to use.

      On Windows I use MS VC2003 as my dev tool and on Linux I use Kate, believe it or not. It's easier to program in Linux than Windows because Kate is MUCH easier to use then MS VC2003, and compiling the SAME app under Linux is 10 times faster than under Windows using nmake. I use compiler defines to automatically select code specific to either Oracle or PostgreSQL, or for Win_32 or Linux, so I don't have to make code changes to compile the same app under either platform or backend.

      I never wrote a C++ app before I used QT4 to write one of our major in-house apps. Learning both at the same time was made considerably easier because of QT4. As a former VFP6 coder I found that once I became familiar with the QT API, Signals & Slots, and the other QT tools, development in QT4 is comparable with VFP6. Very easy, quick and enjoyable. Compate to the VFP6 apps I replace, the QT versions were several times faster. It didn't hurt that I was using Oracle as the back end, either.

      --

      Running with Linux for over 20 years!

    20. Re:Better alternative by Anonymous Coward · · Score: 1

      I'm using PyQt for a large system at work, so I feel at least somewhat qualified to comment on this.

      Well, they don't look emulated or feel emulated, unlike java. But hey, I'm sure there's some technical reason you're right and noone cares.

      They *look* OK, but they still feel emulated to me. I'm using a PyQt app on WinXP and they don't act *quite* right. For example, the resize-grip in the corner of a window, for native windows, stops you from dragging it behind the taskbar (just like if you grab the edge of a window), but for PyQt resize-grips it doesn't. There are a dozen other little things like this that it gets wrong -- espcecially for complex widgets like tree views. No single one is horrible, but together they give the impression of being not-quite-native. (And when you run into one that your testers declare a showstopper, it takes forever to come up with a workaround to make Qt act more native.)

      Yep. Which is what permits it to use a signal-slot mechanism which spanks wxWidgets and any other C++ system out there. No more crashes due to dangling pointers, yay!

      Qt actually has two event systems: some things you can only get to via the "signal-slot" mechanism (which Qt advocates seem to think is oh so revolutionary, which it's not), and some you can only get to by subclassing, and there seems to be no rhyme or reason for what gets what. (Did the user click? Use a signal. Did the user drag? Subclass.)

      Of course, with bindings and an HLL, you don't get crashes with any toolkit, but Qt's dueling event systems are still a PITA.

      Qt supports plenty platforms, plenty compilers, much better UI design tools and it's open source.

      "Better UI design tools"? I've heard nothing but bad things about them, even from the most hardcore Qt advocates.

      Many toolkits (Aqua, Gtk+, wxWidgets, etc.) let you use a layout tool to design your UI, and then save it as a resource, and load it from whatever language you're using.

      Qt lets you use a layout tool to design your UI, and then export source code that you're not supposed to touch (and which is virtually impossible to read). To use it, you're supposed to import and subclass it. If you change the .ui file, you have to re-run the script to regenerate the source file again. You can't use the .ui file directly at runtime.

      I have not heard any reasons why this two-step process should be better than the one-step process that everybody else uses. Even the Qt fans here think it's dumb.

      I could mention it's a much better library too, but now you're just embarassing yourself.

      You can say whatever you want, but having used all three big ones (Gtk+, wxWidgets, and Qt) on large projects, none is better in all areas, and Qt is worse in most. The only people who think any criticism of Qt is "embarassing yourself" are Qt fanatics.

    21. Re:Better alternative by Jerry · · Score: 1

      Yet another library that has to be synchronized with the version of wxWidgets you have to use. Just hope they coordinate them so that you aren't waiting months for one or the other to catch up, or that you don't get into finger pointing wars when one lib says your problem is someone else's fault.

      --

      Running with Linux for over 20 years!

    22. Re:Better alternative by Angostura · · Score: 1

      It's ridiculous.

    23. Re:Better alternative by oohshiny · · Score: 1

      Trolltech's modell is an excellent example of how you can make money on free software.

      Imagine every piece of software on Linux were to adopt Troll Tech's model: $2k/developer for the commercial exception for the C library, another $2k/developer for the math library, another $1k/developer for XML libraries, another $4k/developer for the kernel. Where do you think Linux would be today?

      Both GNU and Linux have deliberately adopted licensing policies that permit commercial usage. Troll Tech is unfairly taking advantage of the situation. If Troll Tech's model caught on, Linux would be in deep trouble. And, in fact, on PDAs and cell phones, Troll Tech is probably one of the major reasons why Linux hasn't caught on that much there.

      Yeah, so you're right: Troll Tech is an excellent example of how you can make money on free software--by unfairly taking advantage of the free commercial usage exceptions of other open source contributors.

      (A further problem with Qt is that it's not an open source project, it's a proprietary project that happens to be released under an open source license.)

    24. Re:Better alternative by oohshiny · · Score: 1

      For an OSS product. We seem to get a lot of those around here

      Qt is not an "OSS product"; it's a commercial product that happens also to be released under an open source license. That's a big difference.

      For example, it's not possible to fork Qt and compete with the original. That means, among other things, that Troll Tech has full control over where Qt is going and there's not a damned thing anybody can do about that. Furthermore, unlike OSS projects, licensees of Qt end up having to pay for contributions that third parties make to Qt.

    25. Re:Better alternative by Anonymous Coward · · Score: 0

      That statement by itself is good enough of a reason to discard wxWidgets as a possible alternative for cross-platform development.

      In fact, Qt-like signal handling is fully supported in wxWidgets, and without the need for Qt's non-standard C++ constructs.

    26. Re:Better alternative by Anonymous Coward · · Score: 0
      And, in fact, on PDAs and cell phones, Troll Tech is probably one of the major reasons why Linux hasn't caught on that much there.


      Wait, you are saying that because Trolltech is offering a product that is based on Linux for PDAs, Linux has not taken off there?

      Wow, you are so messed up. So if there would be no product by Trolltech, everybody would walk around using their bash on cellphones? What hinders anybody else to bring a phone Linux product to market? <exageration-on>Is Trolltech standing behind their backs with big baseball bats?</exageration-off>

      Troll Tech is an excellent example of how you can make money on free software--by unfairly taking advantage of the free commercial usage exceptions of other open source contributors.


      Hmm...where does Trolltech take advantage of "other open source contributers" on Windows and MacOs?
    27. Re:Better alternative by Jeremi · · Score: 1
      For example, it's not possible to fork Qt and compete with the original.


      Who is stopping you? Qt is licensed under the GPL, so fork away.


      (If your objection is that your forked product will have to be under the GPL also, which would make it harder for you to sell it... well, tough titties. Write your own damn GUI library if that bothers you)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    28. Re:Better alternative by Jeremi · · Score: 1
      It's ridiculous.


      If you are paying for it out of your own pocket, then yes, it's really expensive. However, I expect most programmers get their employer to buy it for them -- a few thousand dollars isn't such a big deal for a company (even a small one... it's comparable to buying an extra developer's workstation or two), and given the amount of developer time it saves (a decent computer programmer's billable hours are not cheap!), I think the licenses usually pay for themselves fairly quickly. Which is why so many companies buy licenses, despite the price.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    29. Re:Better alternative by Jeremi · · Score: 1
      In other words, if you've written something as open source using Qt under GPL, and now want to make a commercial version of your product, you can't.


      That doesn't sound right to me. Assuming you own the copyright to your code, you can do whatever you like with it -- it doesn't matter whether you previously released your code under the GPL or not, it's your code. You own it, and neither TrollTech nor anybody else can tell you what you can or can't do with it.


      Now if you are merely licensing somebody else's GPL'd code, things might be a little different...

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    30. Re:Better alternative by Anonymous Coward · · Score: 0

      There is nothing wrong with Qt, but what won me over to wxWidgets is that it supports more platforms and is more economical if I want to go commercial (hey we all have to eat!). Also, it seems to me that wxWidgets based apps run faster than Qt based apps, but I haven't done any real analysis of this.

    31. Re:Better alternative by Jeremi · · Score: 1
      Imagine every piece of software on Linux were to adopt Troll Tech's model: $2k/developer for the commercial exception for the C library, another $2k/developer for the math library, another $1k/developer for XML libraries, another $4k/developer for the kernel. Where do you think Linux would be today?


      I imagine a lot more software would be GPL'd, since a lot more developers wouldn't want to pay those fees and would therefore avoid them by GPL'ing their software.


      Troll Tech is unfairly taking advantage of the situation


      Troll Tech isn't unfairly taking advantage of anything. They wrote their code, and they wrote it well. They've put tens of thousands of man-hours into it. They've hired the best people. They came out with a high quality product, and they released with terms that are more liberal and OSS-friendly than just about any other commercial product in existence. You are welcome to accept their terms, or reject them -- nobody is forcing you to develop with Qt if you don't like their license. Feel free to use wxWidgets or Java or Win32 or whatever you like. Nobody owes you free software. Sheesh.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    32. Re:Better alternative by J.R.+Random · · Score: 2, Informative

      Qt is not an "OSS product"; it's a commercial product that happens also to be released under an open source license. That's a big difference.

      QT is distributed under the GPL. That means it can be forked like any other GPLed software. As with any GPLed software, if you write software based upon it your own software must also be GPLed. Commercial users who don't want to GPL their code can buy licenses for the unfree version, since QT is dual licensed. This gives you more choices than you would have if it were only available under the GPL, yet strangely people who have no problem with GPLed software are always bitching about Trolltech's licensing options.

    33. Re:Better alternative by TheRaven64 · · Score: 1

      If Swing were as fast as native widgets (which in my experience Qt widgets are), and integrate in the native OS desktop as any other application (dito), would there even be SWT?

      I take it you've never used Qt applications on OS X. They stick out like a sore thumb. Until Qt 4, they didn't even use the same shortcut keys for skipping words / lines in text boxes as every other OS X application. I'd take a Swing app over a Qt app on OS X any day.

      --
      I am TheRaven on Soylent News
    34. Re:Better alternative by Caesar+Tjalbo · · Score: 1
      I use PyQt too, I like it in general.
      Qt lets you use a layout tool to design your UI, and then export source code that you're not supposed to touch (and which is virtually impossible to read). To use it, you're supposed to import and subclass it. If you change the .ui file, you have to re-run the script to regenerate the source file again. You can't use the .ui file directly at runtime.
      Yes. I've written some CLI 'tools' for code generation-and-then-add-some-missing-lines. It's a pity it has to work this way, although it does work.
      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    35. Re:Better alternative by pherthyl · · Score: 1

      Like you, I have also worked with all three of those toolkits (Gtk+, wxWidgets, and Qt), and had quite the opposite experience. Granted I was working from C++, so maybe there are some PyQt bugs that I'm not seeing.

      I agree that Qt apps don't look quite 100% native, but it's so close that I bet most users wont notice. Think about how many toolkits are in use on Windows already. Every second app rolls their own, so users are accustomed to little differences.

      GTK I can't use, because it looks and behaves horribly on Windows, which is one of our primary targets, and thus is right out.

      wxWidgets would have been a contender, but last time I tried it, I found a bug (in the Timer) within a few hours of learning it. Now it may have just been bad luck, but finding a bug that quickly indicates to me that actual serious use would uncover a lot more. Also I can't stand the horrible MFC style message maps for events. Maybe if they get rid of that I'll give it another look.

      "Better UI design tools"? I've heard nothing but bad things about them, even from the most hardcore Qt advocates.

      Personally, I like Designer. It does the job for me, and I like the way of generating code from the UI file. I always thought loading an XML file for the UI at runtime was a waste of time. In 99% of the cases, you won't be changing the UI at runtime, so why load it every time? It adds overhead both in terms of load time, and in terms of you having to have a full featured XML parser included with your program. It makes much more sense to compile the UI to code. Qt 4.2 allows you to theme your UI with stylesheets at runtime if you really want to.

      I don't understand your complaint about the event system either. For custom widgets you always use the inheritance method. Whether that is to handle a click, or to handle a drag event. There is no inconsistency there. If you want to get an event from another object, you use the signal/slot method for obvious reasons. There is no overlap between the two.

    36. Re:Better alternative by pherthyl · · Score: 2, Insightful

      One other thing. Toolkits like Qt and wxWidgets are complex beasts with lots of corner cases that can screw things up. It takes a lot of testing to get it right. That's another reason I choose Qt over wxWidgets. Qt gets hammered on by the KDE project all the time. Millions of lines of code and just about every type of app you can imagine. What is wxWidgets used in? I can only think of Audacity and VLC, neither of which has a particularly good UI.

    37. Re:Better alternative by kimvette · · Score: 1

      metamatic is right, go read the license.

      It's been 19 seconds since you hit 'reply'.

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    38. Re:Better alternative by molnarcs · · Score: 1
      I don't agree with you - but you raised an interesting question: what would happen if everyone adopted their modell? I've been thinking about this for a week now (I'm writing a book about the history of gift giving, from the aztecs trough potlatch to free software), and it is a difficult question. It is easy to say "imagine what would happen if..." - but did you really think it through? I'm not going to go through all the details, because I'm in the middle of watching The Deadly Assassin (Tom Baker's Doctor Who :)) - but suffice to say that nothing will happen on a larger scale.

      Basically, if everyone adopted trolltech's model, that would mean that all software is BSD licensed (just think about it why!) - with a twist: the community producing the software will get money from customer's whose work don't benefit the community at large. Microsoft wouldn't be able to go and steal the code (as in a purely BSD licensed world) - but it could use it... for a price. That money can than invested in the development of the software sold by paying free software developers... And that is how basically it works today if you think about it... A fairly large portion of the free software pool is developed by programmers who are actually payed for their work (or their employer lets them hack on free software in their work-hours). This is oversimplification - I really suggest that you think this through.

      Otherwise, I agree with Jeremy's reply

    39. Re:Better alternative by kimvette · · Score: 2, Interesting
      yet strangely people who have no problem with GPLed software are always bitching about Trolltech's licensing options.


      . . . because the commercial version is unreasonably restricted. If you develop a project and release it under the GPL, and later decide to release it as a commercial app, you are forbidden to do so, or you have to reimplement the Qt components in your app. Honestly, I don't think ANYONE will abide by this and will simply just buy the commercial license, recompile, and release, but technically you are not allowed to do so.


      Trolltech Offers Both Commercial and Open Source Licenses

              * Trolltech's Commercial licenses allow customers to develop, use and distribute their applications under standard commercial terms.
              * Trolltech's Open Source versions are available under the terms of the GPL - General Public License. The main obligation for software development under the GPL is that anyone using your software must have access to complete source code, and must be able to modify and redistribute that software to anyone free of charge.
              * Please note that it is necessary to choose either the Open Source or Commercial license at the outset of development. Trolltech's commercial license terms do not allow you to start developing proprietary software using the Open Source edition.


      This, IMHO, is unreasonable. Obviously, their goal is to prevent a company from rolling out Qt to hundreds of developers' workstations, developing using the open source license, and then buying ONE seat for the release engineer to compile the final product. A very reasonable concern, of course, but their solution is unreasonable.

      A happy medium would be to simply require that one buy a seat of Qt per Qt developer prior to release of the commercial product. After all, folks ARE going to develop prototype code prior to choosing an API, and that prototype code may be retained in the final product. Also, some companies may choose to keep startup costs low by delaying the cost until later in the project, so that $2,000 per seat could be spent on better workstations, salaries, and whatnot, let capital reap interest, and THEN buy commercial licenses for the open-source libraries. They're not going to throw away prototype code.

      This is why you see more commerical Gtk apps than commercial Qt/KDE apps (despite GTK's annoying, retarded, fudged-up-for-simpletons file dialogs). GTK does not have this restriction, plus it's LGPL.
      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    40. Re:Better alternative by Anonymous Coward · · Score: 0

      (If your objection is that your forked product will have to be under the GPL also, which would make it harder for you to sell it... well, tough titties. Write your own damn GUI library if that bothers you)

      You betcha; I have contributed to other GUI libraries. Troll Tech is a leech on the open source community, and the sooner we're rid of them the better.

      Who is stopping you? Qt is licensed under the GPL, so fork away.

      A forked Qt wouldn't be under the same license as the original Qt, so it wouldn't be competitive with the real thing.

    41. Re:Better alternative by metamatic · · Score: 1

      "You must purchase a Qt Commercial License from Trolltech or from any of its authorized resellers before you start developing. The Commercial license does not allow the incorporation of code developed with the Open Source Edition of Qt into a proprietary product."

      Trolltech commercial licensing page.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    42. Re:Better alternative by RAMMS+EIN · · Score: 1

      ``Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead.

      Well, they don't look emulated or feel emulated, unlike java. But hey, I'm sure there's some technical reason you're right and noone cares.'' ...until someone changes the look and/or feel of the native widgets, and the Qt ones don't match anymore. That is, assuming that Qt's widgets aren't native, which I know nothing about. They're "native" on my system, because the only GUI programs I use are Konqueror and KPDF.

      --
      Please correct me if I got my facts wrong.
    43. Re:Better alternative by oohshiny · · Score: 1

      You are welcome to accept their terms, or reject them -- nobody is forcing you to develop with Qt if you don't like their license.

      Indeed, I don't develop with Qt. And I am trying to convince others not to develop with Qt either because I think it's a lousy deal for the open source community. I'm saying that if more people behaved like Troll Tech did, open source would die. In fact, I think Troll Tech is largely responsible for the failure of Linux on phones and PDAs.

      Now, what's your problem with me stating my opinion and analysis? In your world, should everybody other than corporate marketing just shut up?

      Troll Tech isn't unfairly taking advantage of anything.

      Oh, yes, they are. I mean, look at what happened with the KDE project: originally, the started using Qt despite the fact that their license was incompatible with the QPL. People don't understand licenses well, and people don't understand the consequences of choosing software under particular licenses, and Troll Tech marketing is taking full advantage of that. That's why one needs to talk about this, over and over again until people get it. Qt is bad for open source.

      I imagine a lot more software would be GPL'd, since a lot more developers wouldn't want to pay those fees and would therefore avoid them by GPL'ing their software.

      Well, apparently the people who created the GPL don't believe so, since they have chosen a license that permits commercial developers to link to many of their libraries for free. They have done so because they believe such licenses to be in the best interest of open source.

      In contrast, Troll Tech has chosen the GPL as their second license because it's in their best corporate interest, not the interest of open source. Troll Tech chose a nuisance library that effectively prohibits forking to keep control of Qt while getting the open source community to do the marketing for them. I think open source is getting a bad deal.

    44. Re:Better alternative by bigberk · · Score: 1
      Oh, and tell me, where are the wxWidgets killer apps?
      Audacity (audio editor) comes to mind. A fantastic piece of software, and looks and feels native both under Linux GTK and Windows. That's exactly the way it's supposed to be. Applications with wx can also be compiled standalone in pretty small place. The bare bones wx win32 apps come in at a couple hundred K
    45. Re:Better alternative by Anonymous Coward · · Score: 0
      <exageration-on>Is Trolltech standing behind their backs with big baseball bats?</exageration-off>

      That should be:

      <exageration>Is Trolltech standing behind their backs with big baseball bats?</exageration>

      The first rule of being pedantic is to get is right...
    46. Re:Better alternative by Dionysus · · Score: 1
      Well, apparently the people who created the GPL don't believe so, since they have chosen a license that permits commercial developers to link to many of their libraries for free. They have done so because they believe such licenses to be in the best interest of open source.

      Then you don't understand the goals of the FSF (the people behind the GPL).

      To quote them:
      Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Library GPL in certain cases. The most common case is when a free library's features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Library GPL for that library.
      ...
      However, when a library provides a significant unique capability, like GNU Readline, that's a horse of a different color. The Readline library implements input editing and history for interactive programs, and that's a facility not generally available elsewhere. Releasing it under the GPL and limiting its use to free programs gives our community a real boost. At least one application program is free software today specifically because that was necessary for using Readline.

      Read about it here

      --
      Je ne parle pas francais.
    47. Re:Better alternative by oohshiny · · Score: 1

      People permit commercial usage of Linux and many FOSS libraries in the hope that others create useful commercial applications and thereby actually help open source platforms and APIs succeed.

      But in the phone market, Troll Tech has managed to insert itself into Linux in such a way that they are the only ones reaping financial benefit. And Troll Tech designed their system so that other toolkits would be difficult to port to their platform, and they made license agreements with manufacturers that ensured that users wouldn't have a choice. And they screwed up so badly with their platform that they probably put off lots of manufacturers from it.

      Of course, they can legally do all that--the license permits it.

      But people like me can and should also point out how harmful their behavior is for open source and users in the long run, just like people can and should point out how Microsoft's licensing model is a bad deal for users.

    48. Re:Better alternative by molnarcs · · Score: 1
      Audacity is quite good actually, I admit that. Has its own interface (doesn't feel native actually), but looks fine and is usable. There are some alternatives, but for what I need (which is not much - a few mix CDs I occasionally do) it's perfect. Not in "killer app" category though, at least not in my vocabulary.

      Scribus would be one for instance, which absolutely lacks any equivalent in the free software world, and it's a good desktop publishing app on its own. Tellico is another one - and the most envied one by my windows using friends. Amarok - not a unique app, but still can find anything that comes close on any platform. And these are individual apps - I didn't even mention KDE or Koffice. I think wxWidgets and QT are simply not in the same league - I don't have anything against wx, but it is not directly comparable to what QT has to offer. Grandparent's post was simply silly, uninformed and redundant (as far as the gpl vs lgpl license meme goes whenever QT comes up). My reply wasn't any better, because this QT vs. wxWidgets is silly (and I contributed to that part). It's like sasying kde is better then fluxbox... apples and melons. Yeah.

    49. Re:Better alternative by Salmar · · Score: 1

      BINGO! LGPL is way better for these types of frameworks; that is, as long as the framework's makers are willing to let it go for free. Even still, I support TrollTech for providing the two options. The open source community loses nothing from the dual nature of their licenses, and their commercial license prices are not unreasonable.

      --
      This is not the signature you're looking for.
    50. Re:Better alternative by abigor · · Score: 1

      "This is why you see more commerical Gtk apps than commercial Qt/KDE apps"

      That's incorrect. There are far, far, FAR more commercial Qt apps than GTK apps. Hardly anyone uses GTK for commercial development, whereas Qt is used by everyone from Adobe to Google to Disney to NASA.

    51. Re:Better alternative by sbrown123 · · Score: 1

      >Well, they don't look emulated or feel emulated, unlike java. But hey, I'm sure there's some technical reason you're right and noone cares.

      You mean "don't look emulated or feel emulated, unlike Swing". SWT, which is a Java widget toolkit, uses native widgets. Also, after toying with a few Qt apps on Windows, it appears their emulation is about the same as Swings in many regards. I don't think this is a negative though, since native widgets on Windows are pretty ugly.

      >Qt supports plenty platforms, plenty compilers, much better UI design tools and it's open source.

      My problem with Qt is that is its license. If you want a commercial app you have to pay the Troll. wxWidgets license is, IMOH, much better in that regard.

    52. Re:Better alternative by priyank_bolia · · Score: 1

      For an OSS product. We seem to get a lot of those around here Ya, because stuff that matters only appears here. Slashdot is for the open source community and the hackers and not for commercial company advertisement like trolltech. But hey, I'm sure there's some technical reason you're right and noone cares. Atleast I care that my app looks native or not and whats its performance, then what the benefit of using cross platform C++, just use JAVA. permits it to use a signal-slot mechanism which spanks wxWidgets half knowledge is worst than no knowledge, wxwidgets provide different ways, you can also use the signal slot mechanism but I prefer the event tables, its so easy.

    53. Re:Better alternative by Listen+Up · · Score: 1

      No, the better choice is Java. I have developed both J2SE desktop/web and J2EE server/webservice applications for years on Windows, Linux, and OS X. SWT is crap and has bugs which will apparently never be fixed in Cocoa. JDK 6 is specifically being designed for desktop application development. Once JDK 6 is released, Java will be the best choice for true cross-platform development. I am currently working on game development targeting desktops and in the future J2ME mobile devices. Java is truly incredible.

    54. Re:Better alternative by kripkenstein · · Score: 1

      >> The commercial license is a bit rediculous, though.

      > Why? It seems pretty popular (Adobe, Skype, Google, Opera, etc..) Trolltech's modell is an excellent example of how you can make money on free software.

      First, note that all of those companies are not 'open-source' companies (Google standing out somewhat, but still). When you compare Qt to important open-source projects like GNOME and the Linux kernel, you find that both allow commercial development - GNOME is LGPL, and the kernel lets you run whatever you want in userspace. Qt, on the other hand, wants to be paid for commercial development. This is a big deterrent for commercial developers to use Qt. (Especially since you need to decide at the beginning of development which license you want, commercial or free.)

      As I see it, the LGPL license was designed for exactly this sort of thing, and I think Trolltech could have made a better choice here. Especially since cross-platform development can be done without paying them (WxWidgets, and also GTK+ can run on various platforms, even Windows).

    55. Re:Better alternative by Anonymous Coward · · Score: 0

      Excuse me? Firstly, the controls are native. You're confusing Qt with GTK. GTK is emulated. Secondly, the non-standard c++ compiles down to generic c++. Have you ever used #ifdef before? Oh noes, a... pre-processor. yacc? lex? gperf? Shall I keep going? I really wish they had a "bury" button like on digg for misinformed opinions. Oh wait, that's what mod points are for *spends his wisely and then comments*.

    56. Re:Better alternative by priyank_bolia · · Score: 1

      * AOL Communicator * FileZilla * poedit * Audacity * ECMerge * wxQuickRun * AVG AntiVirus * CADToMill * Chandler * Chess Commander * CTSim * Display Doctor * EarthVision * Forte Agent * HelpBlocks * ImageLinks * Kirix Strata * Intuitive MX * iPodder * LDAP Explorer * ShareDaemon * Mahogany * MinGW Developer Studio * MojoWorld * Musik * StoryLines * TerraIM * TortoiseCVS * VietAnh * Voxel 3D * Vulcan * wxBlogger * xCHM * Zeemo * Zempt

    57. Re:Better alternative by Jeremi · · Score: 1
      Now, what's your problem with me stating my opinion and analysis? In your world, should everybody other than corporate marketing just shut up?

      I don't have a problem with you stating your opinion and analysis -- my problem is that your opinion and analysis are not only wrong, but (at least apparently) rather spiteful and selfish as well. When dealing with the OSS community, TrollTech could easily have kept with their original QPL license, or even gone fully closed-source -- but they didn't do either of those things. Instead, they went the extra mile and made their library available under the GPL... even the Mac and Windows versions. And instead of applauding their contribution to the open source community, you make them out to be some sort of villains. It makes me wonder, what exactly would TrollTech have to do to earn your good graces? Release Qt into the public domain and declare bankruptcy? Do you expect all the TrollTech engineers to work for free? A really well-done cross-platform GUI toolkit is not an easy thing to implement -- just look at all the failed attempts that litter the landscape.

      I'm saying that if more people behaved like Troll Tech did, open source would die.

      So you blame Troll Tech for wanting to run a viable company that makes money -- you think they should be writing top-quality code for the good of the Linux community alone. The thing is, you don't have that choice -- the possible alternatives to what we have now would be either a closed-source-only Qt, or Qt never being created at all. You can't always expect good code to be written for free. Troll Tech is only doing what every other software company in the world does -- writing software and selling it for money. But unlike, say, Microsoft or Electronic Arts or whomever, they have the temerity to offer you a GPL'd version. Horrors!

      If you want to blame someone for KDE using Qt, blame the KDE folks. It was their choice to use Qt, Troll Tech didn't force them to. And maybe, just maybe, it was the right choice. And as far as Qt killing Linux phones/PDAs, I have no idea how you came to that conclusion. How does offering a phone/PDA development kit that runs under Linux "kill" that area for Linux? Either the kit works well, in which case it promotes Linux phone/PDA development, or it doesn't, in which case nobody will use it and you're no worse off than you would have been otherwise. Btw, the market share of Linux-based cell phones grew dramatically in the last year, so your premise looks rather shaky as well.

      Well, apparently the people who created the GPL don't believe so, since they have chosen a license that permits commercial developers to link to many of their libraries for free. They have done so because they believe such licenses to be in the best interest of
      open source.

      The above makes me question your understanding of the GPL... or maybe you just mistyped something above. The GPL deliberately makes it impossible for commercial developers to link to GPL'd libraries for free. That (rather restrictive) condition is what lead to the creation of the LGPL.

      In contrast, Troll Tech has chosen the GPL as their second license because it's in their best corporate interest, not the interest of open source.

      Well, duh. Since when is TrollTech required to operate "in the interest of open source"? Just because they released something under the GPL doesn't mean they are morally beholden to uphold Richard Stallman's ideals at their own expense. Open source is not a religion, it's just a tool like anything else.

      Troll Tech chose a nuisance library that effectively prohibits forking to keep control of Qt while getting the open source community to do the marketing for them.

      What is this 'nuisance library' you are speaking of? As far as I know, the only thing stopping you (or anyone else) from posting up your own GPL'd OohShinyQt fork right now is that your fork wouldn

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    58. Re:Better alternative by oohshiny · · Score: 1

      When dealing with the OSS community, TrollTech could easily have kept with their original QPL license, or even gone fully closed-source

      Good! I think that would have been the right thing to do.

      So you blame Troll Tech for wanting to run a viable company that makes money -- you think they should be writing top-quality code for the good of the Linux community alone

      I don't "blame" them, I'm saying people shouldn't use their software. I'm saying that because people probably don't understand the costs and implications involved, and because it hurts the open source community.

      The above makes me question your understanding of the GPL... or maybe you just mistyped something above.

      I meant exactly what I said: the creators of the GPL chose, for many libraries, the LGPL and the GPL-with-linking-exception in order to enable commercial developers to develop freely for open source platforms. Troll Tech deliberately chose the GPL precisely because they didn't have that goal.

      Open source is not a religion, it's just a tool like anything else.

      Quite right. And I'm saying: Qt is a bad deal for both commercial developers and for open source, for simple, rational business and policy reasons. It's a bad deal for commercial developers because of hidden costs. It's a bad deal for open source because it discourages commercial developer from moving to open source platforms because Qt is so expensive compared to Windows and Macintosh.

      Seems to me they are getting a top-quality GUI library

      It only seems that; but that's a separate debate.

    59. Re:Better alternative by oohshiny · · Score: 1

      Good, you found the right quote. Now, you seem to be implying that people think that Qt offers "a significant unique capability" and should therefore be released GPL, not LGPL.

      Well, I disagree; toolkits for C++ are a dime a dozen. But, more importantly, the FSF disagrees, since they have put their own toolkit under the LGPL.

      Qt's licensing costs are way out of line with what people pay for Mac and Windows development. If Qt were the only toolkit for Linux, Linux development would cost a premium. That doesn't bother the kind of premium customers Troll Tech likes, but it would have killed desktop Linux if it had been the only choice. Fortunately, on the desktop, there are alternatives, in part precisely because the FOSS community did not want to hobble the Linux desktop with that sort of burden. However, for phones, there is no alternative, and Qt/Embedded's licensing structure is probably in part responsible for the failure of Linux for phones and PDAs.

    60. Re:Better alternative by Anonymous Coward · · Score: 0
      To use it, you're supposed to import and subclass it.

      For Qt 3 that is correct (apart from the import part that is), for Qt 4 that (while still possible) is not the normal way of doing things. Now it generatees a struct you put as member into your class and call a setup function.

      You can't use the .ui file directly at runtime.

      That is not true, both Qt3 and Qt4 have mechanisms to load ui files at runtime.
      Qt4: QUiLoader and Qt3: QWidgetFactory

      But then again looking at the style of your writing....
      [...]hardcore Qt advocates[...]Even the Qt fans here think it's dumb[...]Qt fanatics[...]
      ...I guess it is rather pointless starting a discussion with you as you seem not to be interested in a fruitfull discussion but rather than talk down the Qt toolkit.
    61. Re:Better alternative by a.d.trick · · Score: 1
      But hey, I'm sure there's some technical reason you're right and noone cares.

      I don't know if this is actually an issue with Qt on OSX, but often emulated features have pretty poor support for native accesibility related features, so it's not always just a silly technical reason.

      It's quite possible that Qt has built in support for all that kind of stuff. If the have, more power too them.

    62. Re:Better alternative by Anonymous Coward · · Score: 1, Insightful

      That's much higher than even Visual Studio.

      How much is the Windows + OSX + Linux version of Visual Studio? Better call your MS representative to check.

      No, "does not exist" is not an answer. Anything can be bought for the right price, *especially* at Microsoft. It could be the price of a smallish country though.

    63. Re:Better alternative by Anonymous Coward · · Score: 0

      GPL code is code to be used in free software.

      Your sig is incorrect. You should correct it like this:
      GPL code is code to be used in GPL software.

      PS - Qt is no good, because only GPLed open source projects can use it. Other open source projects can't. Until you release it under LGPL, we will use the wonderful and truly open source WxWidgets.

    64. Re:Better alternative by master_p · · Score: 1

      Nope, wxWidgets is not better, it is worse:

      -the non-standard c++ of Qt works with any platform Qt works.
      -the Qt preprocessor is invisible. You don't have to call it, it is invoked automatically.
      -wxWidgets violates the C++'s message passing model by using the same horrible message map architecture MFC uses.
      -Qt works out of the box; wxWidgets has lots of bugs.
      -Qt is infinitely more powerful than wxWidgets.

    65. Re:Better alternative by Anonymous Coward · · Score: 0

      Vuescan which is a shareware legend (1M+ downloads) is using WxWidgets for its UI.

      It is maintained on Windows, OS X and Mr. Hamrick (Developer) said it was rather trivial to port it to universal binary. It had a release on Linux not maintained anymore which could happen because of lack of interest.

    66. Re:Better alternative by TeXMaster · · Score: 1

      Well, Audacity's GUI is not that bad. However, interestingly, the VLC developers are working at a Qt-based GUI.

      --
      "I'm never quite so stupid as when I'm being smart" (Linus van Pelt)
    67. Re:Better alternative by Anonymous Coward · · Score: 0

      I'm a professional developer using QT.
      When you're on the native platform the UI elements are not emulated. If I'm on
      windows using themes, its not drawing them by hand.
      QT is also open source, it just has a separate license for commercial apps.

    68. Re:Better alternative by Anonymous Coward · · Score: 0

      that's easier than having to deal with QT fanboys.

    69. Re:Better alternative by ksheff · · Score: 1

      what applications are available from those vendors that use Qt?

      --
      the good ground has been paved over by suicidal maniacs
    70. Re:Better alternative by abigor · · Score: 1
    71. Re:Better alternative by fredrik70 · · Score: 1

      um , they do not encourage people to release stuf under LGPL, quite the opposite.
      There;s a reason they changed the meaning of LGPL from 'Library GPL' to 'Lesser GPL'

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    72. Re:Better alternative by fredrik70 · · Score: 1

      >LGPL license was designed for exactly this sort of thing, and I think Trolltech could have made a better choice here.
      What? a choice that would mean that tey wouldn't get paid by people using their framework to earn dosh?

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    73. Re:Better alternative by fredrik70 · · Score: 1

      bitTorrent was originally written in Python, source here: http://en.wikipedia.org/wiki/BitTorrent

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    74. Re:Better alternative by baxissimo · · Score: 1

      Yes your code is your code, and you still own the copyright to it. However Qt Commercial is *their* code, and *their* licensing terms dictate under what conditions you can use it. Of course they cannot stop you from releasing *your* code under a commercial license, but you'll have to do it without any Qt libs.

      At least that's the way I read the license.

      I can only guess that the reason is so that start-up companies don't get the idea to develop under GPL internally first and then switch to commercial just before release or when they get their venture funding. Trolltech wants to make sure they get their pound of flesh before such start-ups go bust. I guess it also prevents 3rd party widget developers from selling their wares without buying a license.

      But I think it's kind of silly and short-sighted. How on earth are they even going to know if you started with GPL? And say you did and you managed to get to the point where you're ready to buy 5 Qt licenses, and they somehow did find out. Are they really going to say "no, sorry your $25,000 isn't good here because you developed your code with the GPL version of Qt". A company saying no to a done-deal sale like that would just be dumb.

      Really they should be encouraging everyone to try out the GPL version, especially startups. "Sure! Go ahead the first hit's free..." Yeh, most startups will go belly-up without Trolltech seeing a dime. But if you get em all hooked early there's no way they're going to switch away from Qt once they do have money. Rewrite everything from scratch or pay Trolltech a few thousand in licensing... Not a very tough choice if you're sitting on a pile of venture funding.

    75. Re:Better alternative by oohshiny · · Score: 1

      um , they do not encourage people to release stuf under LGPL, quite the opposite.

      Quite right: they do not "encourage" people to release stuff under the LGPL, but they do use the LGPL or GPL w/linking exception when it serves the purposes of open source software.

      The GNU C library, as well as Gtk continue to be released under licenses that permit commercial developers to deliver applications for free on Linux. The FSF and lots of other people believe that that's important.

      Troll Tech deliberately makes it costly for commercial developers to develop for desktop and embedded Linux because that's where they make their profit, but in doing so, they make Linux uncompetitive for commercial developers. Fortunately, in the case of desktop Linux, we have a good alternative. For embedded Linux, Troll Tech's licensing structure has probably doomed the platform for now until the open source world can establish a good, free alternative standard.

      You and Troll Tech are trying to confuse the issue by talking about generalities and association: yes, the GPL is a FSF license and the FSF generally discourages non-GPL licenses. But each license needs to be considered on its own merits, and Troll Tech's licensing structure is harmful to the goals of free software.

    76. Re:Better alternative by kripkenstein · · Score: 1

      What? a choice that would mean that tey wouldn't get paid by people using their framework to earn dosh?

      They can still make money, by (1) selling support, (2) charging for a license to extend Qt - i.e. you can link to it for free, but creating a derived work will cost you (or, you must release the derived work under the GPL).

      Their expectation to earn money off of every single commercial application that uses their framework - and if KDE were the dominant DE on Linux, then every single commercial application on Linux - is a bit 'optimistic'. On the one hand, there are alternatives (GTK+), and on the other, expecting to monetize all commercial applications in this way is a bit Microsoft-ish - we may as well call it the 'Qt tax'.

    77. Re:Better alternative by pestilence669 · · Score: 1

      What about Gtk? There's glademm for the C++ crowd and regular glade for C coders. The API is really nice, or perhaps, it simply suits my liking. In any case, Gimp uses it (duh) and runs rather well. Oh yeah, WxWidgets is nice too.

    78. Re:Better alternative by Angostura · · Score: 1

      Uh, no - I was correcting the spelling - this is a pet peeve of mine. The bolding of the 'i' doesn't really show - does it?

    79. Re:Better alternative by Raenex · · Score: 1
      People permit commercial usage of Linux and many FOSS libraries in the hope that others create useful commercial applications and thereby actually help open source platforms and APIs succeed.

      If that's the case then those people should choose the LGPL instead of GPL. Instead, the vast majority of GNU software and the Linux kernel are under the GPL, the same as Trolltech's Qt.

      You're seriously wrong if you think GNU wants to help commercial applications succeed. Linus is probably ok with it, but then the license he chose isn't very friendly to commercial applications. I don't know if that was just convenience on his part so that he could work with the GNU toolset or what.

    80. Re:Better alternative by Raenex · · Score: 1

      Hmm, I used Audacity recently on a GTK Debian box and thought the UI was awful. Not the design of it, but just the widgets. Reminded me of old school Motif. I thought wxWidgets was supposed to use native widgets?

    81. Re:Better alternative by TeXMaster · · Score: 1

      Could be. I only used it on Windows, so this is probably why it didn't look that bad.

      --
      "I'm never quite so stupid as when I'm being smart" (Linus van Pelt)
  10. What about the GUIs? by Yvan256 · · Score: 2, Informative

    If you use these things, do the programs look native to the operating system or do they look like Java?

    I mean, one of the reason I don't use Firefox on OS X is because the form widgets look like crap (i.e. look like Windows).

    1. Re:What about the GUIs? by molnarcs · · Score: 3, Informative

      They work like native apps (check the comments below the article), and as far as I know, they can use native widgets as well. Skype and Opera are also written in QT (the interface) - do they look like native enough on windows or MacOS X? I've seen the windows versions of these only, they look like... well, windows programs (so consistency is not a problem, they just blend in fine the rest of the application stack on windows ;))

    2. Re:What about the GUIs? by Ruby+Wednesday · · Score: 2, Informative

      They use the native widgets. Aqua on OS X, and Luna (or whatever) on WinXP. (this is why these 2 themes only work on their respective platforms)

    3. Re:What about the GUIs? by Vexorian · · Score: 1
      Could swear there was a MacOSX firefox theme around.

      Anyways, wxwidgets (not wxwindows like some are still calling them) make truly cross platform GUI applications, with the OS native GUI! It is great to use Code::Blocks in windows and then use the same IDE to open the project on Linux. The only problem is that wxwidgets is kind of a huge library, which hardly has support from linux distros (I've seen things like SDL always included in distros, but wxwidgets must be downloaded) . In windows the problem is worse because it makes your exe distribution a lot bigger so it is still only cool for big projects.

      --

      Copyright infringement is "piracy" in the same way DRM is "consumer rape"
    4. Re:What about the GUIs? by Mercano · · Score: 4, Informative
      If you use these things, do the programs look native to the operating system or do they look like Java?
      Java apps should look like native apps, at least, if the developer thinks they should. Its not to hard. Either use AWT for your GUI which will use native widgets (though shoots for the least common denominator at times), or use swing and have it emulate native controls (more or less) by calling UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); early on in your code. Granted, neither is perfect, but they don't stick out like swings default (why?) Metal look and feel.
      --
      #include <signature.h>
    5. Re:What about the GUIs? by cyber-dragon.net · · Score: 1

      Opera at least has a "native" look mode which works wonderfully on OS X and Windows. I have not tried skype on windows so cannot comment but on Mac it blends in well.

      Opera, and skype I beleive but am not sure, also offer "skins" one of which for opera will make it look the same on MacOS or Windows. I imagine any of the other skins would come out the same as well. I usualy stick to "native" mode on both though as I am a fan of a consistant UI.

    6. Re:What about the GUIs? by iJed · · Score: 1

      Actually Skype on the Mac is a Cocoa application. You can look inside the application package and view all the content .nib files very easily. I've yet to see a QT interface on the Mac looking native.

    7. Re:What about the GUIs? by pherthyl · · Score: 1

      Actually that's not true. They are only written in Qt on Linux. Opera actually made their own widget set on Windows (so much for consistency) and Skype uses Delphi on Windows. As someone else mentioned, skype uses Cocoa on OS X. No idea about what Opera does there.

    8. Re:What about the GUIs? by Anonymous Coward · · Score: 0

      skype is written in delphi.

    9. Re:What about the GUIs? by shutdown+-p+now · · Score: 1

      They don't use native widgets, but they do go to great lengths to make their own custom-drawn widgets look like native ones. The result is much better than what Swing currently has to offer, even in Java 6 (mainly because Qt uses native font rendering).

    10. Re:What about the GUIs? by Ruby+Wednesday · · Score: 1

      Quotes from Qt Reference Documentation:

      The QMacStyle class provides a Mac OS X style using the Apple Appearance Manager.
      This class is implemented as a wrapper to the HITheme APIs, allowing applications to be styled according to the current theme in use on Mac OS X. This is done by having primitives in QStyle implemented in terms of what Mac OS X would normally theme.
      Warning: This style is only available on Mac OS X because it relies on the HITheme APIs.

      The QWindowsXPStyle class provides a Microsoft WindowsXP-like look and feel.
      Warning: This style is only available on the Windows XP platform because it makes use of Windows XP's style engine.

      Doesn't this mean it's using native widgets? (If it was just making it's own versions of them, then these 2 themes would work on other platforms, wouldn't they?)

    11. Re:What about the GUIs? by shutdown+-p+now · · Score: 1
      No, they are using native API calls to draw widgets where available, but otherwise implement them themselves. For example, on WinXP, this is uxtheme.dll, which basically offers a function to draw different parts of standard widgets on any DC you give. It was introduced with new theme support in WinXP, so that developers could create their own Win32 controls that are theme-aware; but it can also be used the way Qt (and Swing) use it - to provide their own implementations of all controls while keeping the same look. Of course, any application doing that will be tied to that API, and thus, to WinXP - which is why you can't get XP look in Qt applications running on other platforms. I do not know how things work on MacOS, but I'd imagine it's largely the same thing as uxtheme.dll, with a different API.

      There is an easy way to check this, actually (aside from looking at the source code) if you have MSVS6 or higher. Just run Spy++ and have a look at a Qt application. You'll notice that all its windows, including buttons, textboxes, and other controls, are of window class "QWidget", and not one of the stock "Static", "Button" etc classes.

    12. Re:What about the GUIs? by Ruby+Wednesday · · Score: 1

      Aah...

      Now I see...

  11. Re:And this is news? by 1iar_parad0x · · Score: 3, Informative

    It's not a news article, it's more of an overview for programmers. Actually, it's pretty well written, just not a 'headline'. Incidentally, I hadn't heard about the KDE/GNOME stuff until recently. I only ran across Qt when I was looking for an OSS (or just free) RAD tool.

    --
    What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
  12. wxWidgets instead of Qt by Anonymous Coward · · Score: 0

    For when you need to make money and 2500$ per seat per platform licenses hurt.

  13. Re:Don't Waste Unnecssary Resources by bluekanoodle · · Score: 1
    Wait for it.....

    3,2,1... Go!

  14. Anyone hear of a language called Java? by Anonymous Coward · · Score: 0

    I think it is made by a company called sun and is supposed to be cross platform?

    Pfffft, what do I know...

  15. Re:Don't Waste Unnecssary Resources by Anonymous Coward · · Score: 0

    Software development is expensive? So are Windows licenses you frigtard. Tell ya what, bundle a copy of XP with your app so I can run it and we'll talk. Oh, and send me an Intel iMac to replace my G5 and we'll talk. Errr...nevermind ya friggin troll, you can keep your stupid POS with the terrible UI, lack of Mac integration (AppleScript, QuickTime, iLife, Dashboard, etc etc.)

  16. Re:Don't Waste Unnecssary Resources by lpcustom · · Score: 0, Troll

    I'm sure they all rush at the opportunity to install Windows on their $2000 Mac. Thanks for your help in assuring Microsoft keeps it's strong hold on the market. Hopefully they are giving you a commission.

    --
    Beer! It's what's for breakfast!
  17. Re:Don't Waste Unnecssary Resources by Anonymous Coward · · Score: 0

    Maybe that's a sound business decision for your company, but it isn't universally true. If I were a Mac user, given two similar products with one that was only for Windows and one available for the Mac, all other things equal, I'd pick the Mac version. Less hassle.

    For some companies, the extra advantage of having a Mac version might outweigh the development costs, especially if you have a high sales volume. Also, if you've written everything reasonably cross-platform, then the additional testing, packaging, and support may only be a small fraction of the development costs compared to creating the core product.

  18. Re:Don't Waste Unnecssary Resources by MightyMartian · · Score: 2, Interesting

    So I gather you guys sell Windows licenses as well, right? Or are you advocating your customers commit acts of piracy just because you're too cheap and/or incompetent to do a little leg work to recompile for OSX.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  19. Why use Qt? by Anonymous Coward · · Score: 0

    Why use Qt with its horrible licensing issues for commercial software creation when you can use a better solution like REALbasic?

    1. Re:Why use Qt? by Jerry · · Score: 2

      When I tried RealBasic 1.0 their demo tutorial produced code which crashed.
      IF they can't be sure their first release is reliable, what does that say about their quality control and testing?
      End of lesson. End of RB, for me.

      --

      Running with Linux for over 20 years!

    2. Re:Why use Qt? by Anonymous Coward · · Score: 0

      [begin sarcasm]Funny that -- when I used Linux for the first time (10+ years ago now), it was well past its first version, yet very little hardware worked for it and it was about as visually stunning as my graphing calculator when compared to Windows and Mac. Sure am glad I decided never to give Linux another try as I'm sure it would only continue to suck worse as time goes on.[end sarcasm]

  20. Re:Don't Waste Unnecssary Resources by everphilski · · Score: 1

    Assuming its a multi-thousand dollar product (hell, a several hundred dollar product) a legit copy of XP is rounding error ... this makes business sense for niche programs.

  21. Qt's widgets are NOT emulated by Anonymous Coward · · Score: 0

    As with newer versions of Swing, if a widget in a given configuration can be displayed natively, it is. This is true of Windows and Mac OS where theming and frequent UI changes required it. Widgets are only emulated if their configuration cannot be drawn using the underlying native type, or if you've sub-classed them (something not possible under wxWindows).

    If you look up Java 6, you'll see Swing controls blending in perfectly with Vistas environment: this is because Swing, like Qt, uses the native controls as much as possible. Indeed, it's ironic that you mention SWT as an example of a native-looking widget-set, given that it is looking increasingly non-native, with its fanciful tab bars being the most obvious example.

    --
    Bryan

    1. Re:Qt's widgets are NOT emulated by luzr · · Score: 1

      Ah, not, that is misunderstanding - by emulated it is meant that the platform code for widgets (like managing mouse events) is not used. Theming widgets is another thing. In reality, as long as there is not difference to the end user, why not. But for clarity of terms, Qt widgets indeed are emulated.

  22. GNUstep by stivi · · Score: 2, Informative
    GNUstep

    • majority of Cocoa classes implemented
    • can use OS X NIB files (user interface)
    • uses Objective C - OS X "native" language
    • can be used on MS Windows, Linux or other systems with UNIX taste as well
    AFAIR, there was a project going on that will even convert your X Code files into GNUmakefiles that can be used directly on MS Windows, or at least someone was planning to do that. Contact the lists mentioned on their homepage for more information.

    See also: GNUstep and Cocoa

    --
    First they ignore you, then they laugh at you, then they fight you, then you win.
    1. Re:GNUstep by cbv · · Score: 1

      You remember correctly, and it's already there: http://svn.gna.org/viewcvs/gnustep/tools/pbxbuild/ trunk/

    2. Re:GNUstep by Anonymous Coward · · Score: 0

      1988 called, they want their widget theme back. Not to be an ass, but GNUstep needs a serious overhaul in the looks department before it's ready for deployment. It can work wonders internaly but if it looks like that they will find it hard to get app developers.

    3. Re:GNUstep by cbv · · Score: 1

      Beauty lies in the eye of the beholder -- however, theming is possible, though not really propagated.

  23. Have a point by willy_me · · Score: 4, Interesting

    While everyone here appears to think that this is a troll, he actually has a point. Depending on the market it could be the best solution. However, if there is enough demand a competitor could release a MacOS version and steal your clients. And not just the MacOS clients. A company of say 100 with 2 Macs could decide to go with your competitor because of those two lousy Macs... Or a company thinking that someday they might want a Mac would have that much more incentive to avoid your product.

    I read a blog about the business decisions behind the upcoming Mac port of IBM Notes (or do they still call it Lotus Notes?) Anyway, the comment was that Macs make up only 1% of the market but carry 99% of the weight. (Probably a slight exaggeration on their part.) When I say weight I'm referring to making purchasing decisions. They're a very vocal group and the decision to make a *good* native version of Notes was not based on Mac numbers but on the influence that those few Mac users wielded. Moral of the story, don't dismiss Macs just because only a few of your clients have them.

    Willy

    1. Re:Have a point by Anonymous Coward · · Score: 0

      They're a very vocal group and the decision to make a *good* native version of Notes was not based on Mac numbers but on the influence that those few Mac users wielded. Moral of the story, don't dismiss Macs just because only a few of your clients have them.

      This is true. I heard from an inside source (hence anon post) that when Skype released their version with video support, the press conference was a bit of a disaster because the journalists all had Macs. Skype had at the time only updated the Windows version to support video ...

      Anon

  24. Used it, loved it. by WPIDalamar · · Score: 2, Informative

    We used Qt for several rounds of development and it was always great to work with. In fact, I prefer their utility classes to the STL. Even if I was writing a single-platform project in c++ these days, I think I'd go for Qt.

    Nowadays we're using Flash for the win/osx cross platform development. Big things are starting to come in that front.

    Oh.. and Qt does use native (not emulated) widgets for win/osx.

    1. Re:Used it, loved it. by TemporalBeing · · Score: 0, Offtopic
      Nowadays we're using Flash for the win/osx cross platform development. Big things are starting to come in that front.
      Glad you like to alienate your users that require 508 compliance (US - don't know what it would be referred to for other countries). Flash may give you a little bit of cross-platform, but it requires one to use the mouse, and basically forbids use of (i) keyboard navigation, and things like (ii) screen readers, which are very important for certain groups. Any company that wants to do a good, capable product - web or otherwise - would be concerned with 508 compliance, and Flash does not provide that.

      I've heard that the folks behind Flash are looking at 508 compliance, but I do not see that any time soon. And that is more or less rumor mill, so who knows if they actually are.

      Me - I'll still to using Qt and like technologies as I can get my 508 compliance easily enough.
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    2. Re:Used it, loved it. by luzr · · Score: 1

      Oh.. and Qt does use native (not emulated) widgets for win/osx. No, this is not quite true. It has own non-native implementation, but uses platform theming API to make them look native. In the end, of course, there is little difference, as long as trolltech does it right. (And they do, otherwise people would not claim widgets are native ;)

  25. Re:And this is news? by LubosD · · Score: 1

    May I know why do you call KDE/GNOME a nonsense?

  26. Example of GNUstep cross-platform in action by stivi · · Score: 1
    --
    First they ignore you, then they laugh at you, then they fight you, then you win.
    1. Re:Example of GNUstep cross-platform in action by Anonymous Coward · · Score: 0

      I'd hardly call it suitable for cross-platform development. Sure, you can get the same application running on Linux, Mac OS X and Windows. But that's only a very small portion of developing a truly cross-platform application.

      Having used NeXTSTEP extensively back in the day, I know the merits of the GNUstep theme. But things have changed. Windows users basically demand that the main menubar be vertical, rather than horizontal, even if all of the menus themselves are horizontal.

      And yes, I know that GNUstep is themable to some extent. But it's still nowhere near the quality of Swing, let alone Qt or wxWidgets.

  27. They look native, but they don't behave native. by smurfsurf · · Score: 1

    Opera does not behave like a native application in OS X, unfortunately. E.g. you cannot drag text or images from a webpage (and you miss all the Cocoa goodness). Might be something Opera borked up though.

  28. Re:And this is news? by ErroneousBee · · Score: 2, Funny

    He probably was referring to the KDE/Gnome flamewars that erupt on slashdot occassionaly. Evenyone knows those arguments are nonsense as Gnome is clearly inferior to KDE in every respect, apart from its gname.

    --
    **TODO** Steal someone elses sig.
  29. understand what you're getting into by oohshiny · · Score: 3, Insightful

    People like to say how wonderful Qt is, but you should think carefully about what you're getting into.

    Almost all of our projects are open source, but occasionally will do some custom commercial stuff. Yet, because the commercial version of Qt has a per developer license, we'd end up paying as much for it as if we did all closed-source development, since it would be impractical to divide our developers that way. And Qt isn't cheap: a couple of thousand dollars per developer. Think carefully about what it would cost you if you introduce Qt and start using it.

    An additional problem with it is that it (gratuitously) uses non-standard C++ extensions. That causes additional development headaches. And the Qt/Embedded version is not even fully compatible with the desktop version, and it's an all-or-nothing proposition (forget about using other toolkits on Qt/Embedded devices).

    Overall, I fail to see the point of Qt for most people. For cross-platform development needs, between Java, J2ME, and wxWidgets, I think all the bases are covered at lower licensing costs and (in the case of Java and J2ME) lower development and maintenance costs and better platform coverage.

    1. Re:understand what you're getting into by kramulous · · Score: 1

      Nicely said.

      --
      .
    2. Re:understand what you're getting into by bigberk · · Score: 1

      This is the same reason I chose to avoid it. I develop all kinds of applications, some are for internal use, some are heavily commercial. Learning and developing with Qt is a bad investment because their licensing severely limits my ability as a creator (since I am not going to pay for the commercial license); I am not going to tolerate those limitations when I can use free libraries like wxWidgets

    3. Re:understand what you're getting into by master_p · · Score: 1

      I do not have a problem paying for Qt...it is money well spent. Qt is the best application library out there, and it really proves the power of C++.

      The non-standard C++ extension it uses is no problem at all: it has never caused a single problem either in Windows or Linux.

      I have no experience on Qt/Embedded, but even if the embedded version was as bad as you claim, it has nothing to do with the desktop version.

    4. Re:understand what you're getting into by oohshiny · · Score: 1

      The issue isn't whether you have a problem with paying for it, the issue is that people should understand the consequences of their choice and make an informed decision. The KDE/QPL license problem itself is a good example that people don't. I'm not convinced you do, but that's your problem.

    5. Re:understand what you're getting into by master_p · · Score: 1

      I am only talking about the technical side of it. The economics of it is a different story. If you want to make free software (as in beer), then Qt may not be the right piece of code to you. But that does not mean Qt is not the best toolkit there is, or that money spent on it are not well spent. These guys deserve to get paid for such a beautiful and consistent API, unlike Microsoft and much of the free software out there.

    6. Re:understand what you're getting into by oohshiny · · Score: 1

      These guys deserve to get paid for such a beautiful and consistent API, unlike Microsoft and much of the free software out there.

      What kind of fairy-tale land do you live in? Why do you think Qt is as mature as it is? It's because of the feedback and contributions from large numbers of open source developers. If the KDE guys hadn't wasted their time on Troll Tech's software and instead rallied around Gtk, Gtk would be as "beautiful and consistent" as Qt.

      Software gets valuable by being used, and Troll Tech has gotten many times their value back compared to what they have made available. It's been a lousy deal for users.

      But that does not mean Qt is not the best toolkit there is, or that money spent on it are not well spent.

      Neither Gtk nor Qt are "the best toolkit there is" by a long shot.

      And even if you limit yourself to C++ toolkits, Qt simply isn't worth the extra money compared to free alternatives like Gtkmm and wxWidgets.

  30. Flash can be 508 compliant, in fact... by mad.frog · · Score: 1

    Actually, Flash content can be completely 508-compliant... *if* designed properly.

    Keyboard Nav and ScreenReader compatibility is present; it has to be factored into your Flash design work (just as with any other development environment)

    http://www.adobe.com/resources/accessibility/flash 8/faq.html

    1. Re:Flash can be 508 compliant, in fact... by TemporalBeing · · Score: 1
      Actually, Flash content can be completely 508-compliant... *if* designed properly. Keyboard Nav and ScreenReader compatibility is present; it has to be factored into your Flash design work (just as with any other development environment)
      Yes - the FAQ for Flash8/9 does support that. However, reading the release notes for the versions back through Flash6 reveals that screen readers were first supported in Flash6 - and even then only with a "Microsoft Active Accessibility-compatible screen reader", meaning that it is only available on Windows (even though Flash6 supported both Windows and Mac). There is no references in the release notes of 7, 8, or 9 as to any change in this status.

      Thus, I will maintain my statement that by using Flash you are "alienat[ing] your users that require 508 compliance" - though I'll amend it to say: "unless they are using Flash6 or newer, and are running Microsoft Windows". There are a lot of people out there that do not run Windows and still require 508 Compliance.
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  31. Check out Apple's wrongdoing! by Anonymous Coward · · Score: 0

    Right here, lads! http://malfy.org/

    1. Re:Check out Apple's wrongdoing! by eluusive · · Score: 1
      Your website is ridiculous. I'm all against corporations but your lists include ridiculous things which are not by any means "Malfeciance"
      A class-action suit was filed against Apple over the illegal bundling of iTunes with iPod. This practice is anti-competitive.
      So they should just leave you up shit creek without a paddle? Every single Mp3 player comes with some form of software to handle loading music on to it.
      Apple's iPod has been found to come with a virus called RavMonE. CNet story.
      What does this have to do with anything other than you hate Apple?
      There is a class-action lawsuit against Apple that claims that permanent hearing loss can occur due to their iPod ear buds' design. Link1 Link2.
      Gasp?! Loud music can hurt your hearing?!
      Non-Americans should realize these are essentially legalized bribery of public officials. Jobs gave money to Edward Kennedy who is no friend of US workers. Kennedy has worked to increase the number of foreign tech workers who can come to the USA (by raising the visa cap) alongside Republicans, at a time when unemployment in the tech industry is probably far above 25%.
      Complete malarky. I don't see any DOD contracts going to Apple or any laws being passed in their favor. They'd be financing republicans too if they were interested in visa caps.

      Some of what you say is valid, but cut the crap out. It makes you look foolish.

    2. Re:Check out Apple's wrongdoing! by Anonymous Coward · · Score: 0

      Every single Mp3 player comes with some form of software to handle loading music on to it.

      Not true. I have a cheap no-name MP3 player, and it didn't come with any software. You just plug it into a USB port and copy MP3 files onto it like a removable disk. Of course, there are drawbacks to that approach, but it works well enough for a low-end tiny player.

  32. Lets hope the Qt people see this by adamkennedy · · Score: 1

    Dear Qt.

    I write in Perl, a cross-platform language.

    WxWindows has good Perl bindings, and can be compiled and installed from CPAN on the fly as a dependency, so that in any Perl application I just make a dependency on "Wx", and the someone can go...

        sudo cpan MyApplication ... and it Just Works. Everywhere. And it's free. Everywhere.

    Qt has decayed binding for legacy Qt 3, and no bindings AT ALL for Qt 4. And I have to install it seperately. And if I ever used it even lightly for work, I'd have to pay. Which I'm assuming means it would be hard or impossible to have CPAN install it on the fly.

    So given the two major choice for me are Wx and Qt, I have a situation where one works, installs and is free for all uses, and another one that doesn't work, doesn't install, and isn't free for all users.

    Now don't get me wrong, this isn't a troll. I really do like Qt. I think it's prettier than Wx, and I'd use it if I could. I even came to your offices to gave a talk about Perl that time, remember?

    But if you could take a little time and make it so that it's actually possible to in ANY way use your GUI toolkit with the most well used dynamic language (bindings? on CPAN? or something?) then I'd pay more attention.

    But for our community, Qt has pretty much become legacy software at this point.

    1. Re:Lets hope the Qt people see this by Anonymous Coward · · Score: 0

      Actually sudo would not work on a default debian install, or Windows ;)

    2. Re:Lets hope the Qt people see this by Anonymous Coward · · Score: 0

      I am also a wxPerl developer. To date I've had pretty good experiences with the wxWindows library. The only complain I have though is that the documentation ain't that easy to get; you'll end up read wxWindows docs instead.

  33. Re:And this is news? by Anonymous Coward · · Score: 2, Insightful

    You, sir, just made the most insightful post ever on this blog. I have long held the opinion that anyone who thinks Gnome is better than KDE is suffering from an almost-incurable mental illness and is thoroughly deranged. I once suffered from the mental illness known as "thinking Gnome is superior" but I have since switched to KDE and got cured.

    If you are a Gnome user, have no fear. The cure of your illness does not hurt. Simply install KDE, and don't worry, as long as you keep your Gtk libraries around, all those wonderful Gnome apps will still run. Granted, you will still suffer from brain-dead file dialogs designed for people with all of the intelligence of mucous, but you will be well on your way toward stable mental health.

  34. Not to sound like an MS zealot... by mlw4428 · · Score: 1

    But if MS released .NET on all platforms then they'd take the cake. I love Linux and have been using it for a little while now, my problem is that currently I can't just always write an app for one distro of even Linux and guarantee compatibility on other distros. With .NET it's easier just to say "I wrote it for .NET x.x which runs on any computer if you meet these requirements [and then you'd list em]." Not only would things have a well set of standard libraries, but it'd be able to support any language one wished (Perl .NET, Ruby .NET, C++ (already implemented) .NET, etc). And now I await the slanders of those who disagree :-)

  35. Trolltech at SCALE by irabinovitch · · Score: 1

    TrollTech the company behind QT will be exhibiting at SCALE 5x this February in Los Angeles.

  36. TrollTech at SCALE 5x by irabinovitch · · Score: 0, Redundant

    TrollTech the company that develops QT will be at SCALE 5x this February 10-11 in Los Angeles.

    1. Re:TrollTech at SCALE 5x by socallinuxexpo.org · · Score: 2, Informative

      Use the promo code "SLASH" for 40% off on registration.

    2. Re:TrollTech at SCALE 5x by Anonymous Coward · · Score: 0

      Exhibitor list is avaialble at socallinuxexpo.org.

    3. Re:TrollTech at SCALE 5x by Anonymous Coward · · Score: 0
  37. Re:And this is news? by Anonymous Coward · · Score: 0
    Incidentally, I hadn't heard about the KDE/GNOME stuff until recently.

    Glad you were able to get out from under that rock!
  38. fltk by noddyxoi · · Score: 1

    I choose fltk because: -> is LGPL -> comes with support for opengl -> its easy to get things done -> multiplatform -> has this cozy friendly feeling to it

    1. Re:fltk by mhackarbie · · Score: 1

      Second that. FLTK is sweet!

      --
      Building a better ribosome since 1997
  39. Re:And this is news? by Anonymous Coward · · Score: 0

    FVWM Biatches!

  40. ... and wyoGuide by wysiwia · · Score: 2, Informative

    Easy cross-platform development can be learned at wyoGuide (http://wyoguide.sf.net/). If you are serious and considers to sell your software anytimes in the future, there's no better choice.

    If you know that one of the top inhibitors of Linux desktop adoption is applications (see http://www.osdl.org/dtl/DTL_Survey_Report_Nov2005. pdf), you would wish that more developers would follow wyoGuide.

    O. Wyss

    --
    See http://wyoguide.sf.net/papers/Cross-platform.html
  41. advertise? by Anonymous Coward · · Score: 0

    or what is this about?

  42. Take the cake and kill milking cow ?!? by Anonymous Coward · · Score: 0

    Do you think MS will kill the Windows milking cow by pushing .net as a "better" alternative to windows platform ? Sound like shooting in your left foot ey ! Not sure shareholders will agree.

    IMHO, .net as a platform is already dead (not for technical but strategical reason) and back at home : Windows !

    Obviously you can still try to implements specs, mimics all the missing and follow the haze like mono is doing. Bu how is this diferent from WineHQ ? Never will WineHQ not Mono compete with .net as enterprise grade solution.

    That is reality.

  43. Qt not the only game in town! by Anonymous Coward · · Score: 0

    Since Qt's evil empire is getting heaps of free publicity out of this topic, I feel morally obliged to give a quick plug to my favourite toolkit - JUCE. Same kind of deal as Qt, but IMHO the code is a lot nicer to work with. Unlike Qt it doesn't have a big corporation behind it doing aggressive marketing, but I feel it deserves to be on a lot more people's radars...

  44. Ultimate++ by luzr · · Score: 1

    If you are looking for alternatives, do not forget about Ultimate++ - www.ultimatepp.org, BSD licensed C++ platform, including IDE. IMHO, Ultimate++ completely dominates not only other C++ development options, but is on par with scripting languages - with C/C++ exection speed. Unfortunately, that "HO" is biased, as I am the member of U++ project team :-) Nevertheless, you can still try it to find out. An introduction to U++ is here: http://www.codeproject.com/useritems/IntroUpp.asp and library overview here: http://www.ultimatepp.org/www$uppweb$overview$en-u s.html

    1. Re:Ultimate++ by Anonymous Coward · · Score: 0

      I looked at U++ a while back and basically liked it, but it's a non-starter for me without first class support for multithreading.

      I dug throught the docs and found nothing, eventually found some stuff on the web site that said it might be possible but wasn't well integrated and was a pain to do.

  45. Are you talking about GNUstep? by Traumflug · · Score: 1

    It runs natively on Mac OS X, Linuxes, BSDs and Windows; It implements the NextSTEP as well as the OpenStep API (+ some modern Cocoa additions); You can make it to look and behave just like NextSTEP. It's not owned by Apple, though.

  46. Re:And this is news? by rhfixer · · Score: 1

    I still use the command line...

    --
    Hi.
  47. "Shockingly Unintuitive Interface Builder"??? by borgheron · · Score: 1

    Wow... not to engage in Ad Hominem, but I don't know anyone who holds that opinion of IB. IB has been hailed by many people as the best GUI builder around.

    That said, his POV is not exactly neutral.

    Then again... neither is mine... I am the maintainer of Gorm (the IB equivalent for GNUstep).

    GJC

    --
    Gregory Casamento
    ## Chief Maintainer for GNUstep