Qt Released For OS X 244
AxsDeny writes: "It looks like Macslash is also reporting this, but Trolltech is now offering Qt for OS X. Long live cross platform development." Doesn't look like there's a Free version, but there is a non-commerical license called the "Qt Academic License," which "Allows schools and universities to acquire and use Qt for free in relevant courses."
Another good link (Score:5, Informative)
Qt non-free versions (Score:3, Interesting)
Don't flame them too much for charging money for stuff- everyone has to earn a living somehow
Re:Qt non-free versions (Score:5, Interesting)
And no, you can't get around this by using the commercial Qt. You aren't allowed to redistribute the source with that either.
However, IMO this is a strange necessity. I've seen some MFC windows apps claiming to be GPL. After reading this thing about Qt though, I wonder if that is even possible. MFC is closed source. Hell, so is Windows. Does that mean that pure GPL applications on Windows are impossible? That any GPL Windows app is actually GPL-with-exception by default?
Technicalities aside, if someone releases a GPL MFC app, you are _not_ allowed to make modifications unless you have a valid MSVC++ license. Granted, you can get MSVC loads cheaper than Qt, but it's the same principle.
Anyway, all I'm saying is Qt on Windows is no less evil than MFC when it comes to GPL. It's just more expensive (but then, it's also way better).
Re:Qt non-free versions (Score:1)
The MFC is not GPL'd, nor is the MFC free, but the source sure is available.
Re:Qt non-free versions (Score:2)
I did not realize you get MFC source with MSVC++ though, so thank you for pointing it out (I just now verified). I had thought it was always closed, even for developers.
Re:Qt non-free versions (Score:1)
Open source companies are not required to distribute source to people who do not own the app.
Remember when Yellow Dog Linux last released?
There was a huge discussion about that here. [slashdot.org]
Re:Qt non-free versions (Score:2)
You didn't read the GPL, it already has an explicit built-in exception that basically says that software components normally regarded as integral parts of a runtime environment, does not have to be GPL compatible by themselves. This is what makes GPL applications under Windows/MFC possible, as well as GPL apps under Java/Swing/etc.
From 3:
Re:Qt non-free versions (Score:1)
That and nothing in wxWindows behaved the way I expected it too. And it all looks way too much like MFC with all those message map macros.
In contrast, for whatever reason, Qt just works the way I expect it to. And whenever it doesn't it only takes a few seconds to bring up the appropriate page of documentation that explains where I went awry.
But, yes, wxWindows has got Qt beat hands-down on the licensing front. I feel like I have to hire a lawyer just to use the darned Qt library.
Re:Qt non-commercial license (Score:1)
This is good news. (Score:3, Insightful)
MacOS X really is the best of all worlds. You have the stability reliability and scalability of Unix/Mach with the familiar ease-of-use of the mac. Too bad the clunky old PC still seems to rule the roost with the general public :-(
Yes, but you're breaking the law (Score:2, Insightful)
This is great because it means a whole load of great apps can now be ported to run native on Macs.
Technically yes, but legally no. Many common apps that use Qt are under the GNU GPL and may not be linked with non-free libraries nor compiled with non-free headers.
Re:Yes, but you're breaking the law (Score:4, Informative)
You can write a GPL app and link it to non-free applications. What you cannot do is link to a GLPed library and release it with a non-free (well, non GPL) license. If the library is written under the LGPL you -can- link a non-GPL application to the LGPL library though.
If your above stated take on the license was true it would be impossible to write a GPLed application for any OS which isn't GPLed from the ground up. You can write a GPL app for Win32 or Solaris, right? Last I checked their standard C library wasn't GPL.
Re:Yes, but you're breaking the law (Score:1, Informative)
Trolltech says.. (from the FAQ) (Score:1, Informative)
Yes. Since Qt Free Edition is provided under both QPL and GPL, all license conflicts are avoided.
Is software based on the Qt Free Edition really free? Does it carry Trolltech license restrictions?
Yes, it is really free. No, there are no special Trolltech license restrictions on free software produced using the Free Edition. In fact, the opposite is true: The Qt Free Edition licensing demands that the software must be free. The receivers must have the rights to obtain the source code, change it, and redistribute it.
BUT!
Qt non-commercial edition and the GNU GPL
The GNU General Public License (GPL) is a popular free software license widely used in the Unix/Linux world. The GPL is published by the Free Software Foundation (see http://www.fsf.org ). One of the key features of the license is that it does not permit the distribution of software linked to non-system libraries that are distributed under different licensing terms. Although Qt non-commercial edition is available free of charge this prohibition nonetheless applies to it.
If you wish to port one of the many GPL'd Qt-based Unix applications to another operating system using the Qt non-commercial edition, you need to get that application's copyright holders to add an exception to its license. Similarly, if you develop a new application with the Qt non-commercial edition and wish to license it under the GPL you may wish to add such an exception to your license. The Free Software Foundation has provided the following wording for such exceptions:
As a special exception, gives permission to link this program with Qt non-commercial edition, and distribute the resulting executable, without including the source code for the Qt non-commercial edition in the source distribution.
Note that such an exception is not required for code released under other free software licenses like the GNU LGPL and BSD-style licenses.
AND!
The Qt Non Commercial Edition for Microsoft Windows is a binary only distribution requiring Microsoft Visual Studio version 6.
Re:Yes, but you're breaking the law (Score:2)
"However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
There's a big difference between QT/OSX and the standard C library of a system in terms of GPL compatibility.
More on the OS Loophole (Score:2)
However, as a special exception, the source code distributed need not include ... the operating system"
I have written more about this operating system loophole in the GNU GPL [everything2.com]. Some software publishers might claim, and some courts would believe, that Qt qualifies as an "operating system" under which other applications can run. It certainly is a "platform."
Re:More on the OS Loophole (Score:2)
It's possible you could argue that QT was part of SuSE and some other Linux operating systems, but that still doesn't give you the right to distribute binaries linked against QT for Solaris, as that's clearly not part of the OS.
Re:Yes, but you're breaking the law (Score:1)
"What do you earn your money with?"
Not by using other people's code and selling it off.
Re:This is good news. (Score:2, Flamebait)
Of course, if you are in Russia (seems to be the case for you) or in North Korea or in Iraq, you may want to risk. However, please don't generalize. I'm not a license zealot, but I'm not going to violate their license (e.g. pretend to be a university professor).
Re:This is good news. (Score:2)
QUICKTIME FOR OSX ? (Score:1, Insightful)
seems a bit stupid to call your project the same name esecially as its on a Mac too
confusion reigns
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Apple still putting the TOSH in Macs
Re:QUICKTIME FOR OSX ? (Score:1, Insightful)
It's not the same name. QT == QuickTime. Qt == TrollTech's widget set.
Caps matter!
Re:QUICKTIME FOR OSX ? (Score:1)
I dunno. I'd have been more excited if it had been quicktime, myself.
Re:QUICKTIME FOR OSX ? (Score:1)
Cross platform is definately good... (Score:2, Informative)
Eggplants! [eggforge.net]
Re:Cross platform is definately good... (Score:1)
Bravo.
-Ted
Re:Cross platform is definately good... (Score:1)
Well, here's some advice: if you're going to go posting your url all over the place, try to put some information up that actually explains what the damn project is about.
Re:Cross platform is definately good... (Score:2)
Although I'm surprised anyone would have difficulty understanding that - the descriptive material and code exampes made it quite clear what an eggplant is and that the site is satire.
I'd eat an eggplant to celebrate their achievement if I could stand to do so.
D
Re:Cross platform is definately good... (Score:1)
I must have thought that that FAQ link was to an external site when I first looked because it appears in the "Other Options" section after "AvantGo". Not where I would expect to find the only information on what the site is about. How about making an "About Us" link like 2nd in the main menu? Geez, they spend all that time making a slick looking site, you'd think they could organize the actual information a little better.
Good idea (Score:1)
It's refreshing to see that a company is offering proprietary software for free to schools and universities.
Microsoft, take note!
Lets not forget the other big news... (Score:3, Funny)
You know I am going to end up with whatever Steve Jobs shows off tomorrow. I already have a closet full of Netwons, QuickTake Digital Cameras, Power CDs and exploding PowerBook 5300 batteries for home defense.
Re:Lets not forget the other big news... (Score:2)
Yeah, well *I* have a PIPPIN, pose-boy. Top THAT.
Re:Lets not forget the other big news... (Score:2)
Re:Lets not forget the other big news... (Score:2)
Re:Lets not forget the other big news... (Score:1)
Qt (Score:4, Interesting)
I just can't comprehend why anybody uses GTK these days
Time to move? (Score:1)
I've got a biggish Win32 program and wonder about moving it to Qt. How big an effort? Any performance hits / gotchas? Any features that we'll lose?
Want to stop being dependent on MS before they collapse!
Re:Time to move? (Score:4, Informative)
Qt is quite a bit different from MFC, and I think porting would be more effort than simply rewriting it in Qt.
Any performance hits / gotchas?
Not really... don't pay any attention to the AC trolls who bitch and moan about moc (Qt's preprocessor)... it lets you do some really neat stuff that you simply can't do with normal callbacks. As for performance, I haven't noticed any speed hits using Qt as opposed to MFC.
Any features that we'll lose?
Nope. Anything that Qt doesn't support is EXTREMELY easy to add yourself... Qt is designed in such a way that subclassing a widget to add new features is a breeze, so you can make any widget do anything you want.
Qt also provides tons of utility classes, which make it simple to do stuff like asynchronous socket/file i/o and so on. It rocks.
Want to stop being dependent on MS before they collapse!
Heheh. Good plan
Re:Qt (Score:2, Informative)
The "restrictive" part is due to the fact that Qt takes a simplistic hierarchical view of resource ownership - parent objects own their children, and delete them when they are deleted. This forces you to implement most of your own code as subclasses of Qt toolkit classes. Aside from being aesthetically icky, this can get you into trouble when the rest of your own code has different ideas about object ownership and lifetimes. At the very least you need to write extra adaptor code or invent weak references for Qt objects.
The other problem of course is that Qt "only works from" C++. I've long since left static languages behind for GUI development; Python and friends are the way of the future. Sure there are bindings like PyQt, but PyQt has some serious memory management problems (since Python objects are reference counted, and can't easily mesh with Qt's object hierarchy). The result is segfaults and/or memory leaks even for simple PyQt programs.
Using Qt was an interesting and worthwhile experiment, but I much prefer Gtk's more reasonable resource management scheme (which has been designed from the ground up to cooperate with scripting language bindings).
Re:Qt (Score:2)
True, it only works in C++, but then again that's what the language was designed for, and using it in another language isn't how it was intended to be used. That said, its memory management is very nice... you don't have to delete stuff yourself! How is that bad? If you create a dialog box with lots of widgets, do you really want to have to delete each and every widget, or would you rather just be able to delete the dialog itself and have it automatically take care of deleting its children?
Granted, in some limited situations it would be nice to be able to turn this off, but for the most part it's very nice.
Re:Qt (Score:2)
Re:Qt (Score:3, Interesting)
Dude, did you read my comment? *I* prefer C. But Qt's API is so far above and beyond GTK's that, in my opinion, using GTK is just silly. The API makes my head hurt.
Anyway, I wasn't trying to start a flamewar, just pointing out my opinion.
Re:Qt (Score:1)
lets see the alternatives:
libsig++ - horribly importable (many compilers/linkers do not have the capaiblity to do this)
mfc/wxwindows - using large MACRO EVENT TABLES. Not really that elegant. Also not as versitile (cannot disconnect/stop/pause signals).
powerplant (for macos) - have to reimplment even trivial classes
beos- bmessages is interesting, but may not be the easiest for the programmer (often have to write large event receiving functions).
Re:Qt (Score:2)
Yep. Haven't updated it in a year and a half, though... I just can't deal with GTK+ anymore
COOL! (Score:2, Interesting)
Aqua l'n'f or native Aqua implementation? (Score:3, Interesting)
Re:Aqua l'n'f or native Aqua implementation? (Score:1, Interesting)
Re:Aqua l'n'f or native Aqua implementation? (Score:1)
Re:Aqua l'n'f or native Aqua implementation? (Score:3, Informative)
Re:Aqua l'n'f or native Aqua implementation? (Score:2)
I don't see anything saying that it uses native widgets. I don't think this press release is meant for the Slashdot crowd.
Re:Aqua l'n'f or native Aqua implementation? (Score:1)
They worked together with Apple in developing QT/Mac and I think they reimplemented the widgets and signed agreements not to ship these widgets for the other platforms.
Just my $0.02.
Re:Aqua l'n'f or native Aqua implementation? (Score:1)
do you have any links for this info? i'd be interested in pursuing this information...
Re:Aqua l'n'f or native Aqua implementation? (Score:2)
Anybody who thinks you can make a portable toolit using native widgets has not tried to write one.
As I understand it, the Aqua look-n-feel could easily be ported to other platforms, but Apple is not allowing that. It is also possible it uses OSX calls to draw some parts of the look-n-feel, this sounds like a reasonable idea since it is not supposed to run on other platforms. However I expect these calls are on the level of "draw a rounded translucent shape this big here", ie much lower than any toolkit interface.
Re:Aqua l'n'f or native Aqua implementation? (Score:1)
Unix Toolkits for MacOS X (Score:2)
While this is good for porting, unless it's ported as a true "localized toolkit" then it's not of much use. Take for example, GTK+ which works under MacOS X. Without an X server running to display everything on, it won't do much good.
What would really be icing on the cake is a translator of sorts, or porting the toolkit directly to MacOS X so that the same functions, etc. would transparently call MacOS X/Quartz functions.
Remember, Quartz/Aqua isn't X.
Re:Unix Toolkits for MacOS X (Score:1)
Hello? (Score:2)
Dumbass. How about YOU get a clue?
Carbonized? (Score:2)
Remember, Carbon is for porting old OS 9 apps easily to OS X. It is based on C. Cocoa is the "real deal" for OS X, and is based on C++. It just seems more logical that they would port QT to Cocoa, not Carbon.
Re:Carbonized? (Score:3, Informative)
Actually Cocoa is based on Objective C, which is an object oriented language based on C, but is significantly different than C++. There's also Objective C++, but I don't know anything about it.
Re:Carbonized? (Score:1)
/Erik
Re:Carbonized? (Score:2)
--jeff
Re:Carbonized? (Score:1)
Re:Carbonized? (Score:1)
/Erik
Re:Carbonized? (Score:3, Informative)
Re:Carbonized? (Score:2)
I'm glad it is at least available now! Thanks!
--jeff
Cocoa is for Objective-C (Score:1)
Cocoa is the "real deal" for OS X, and is based on C++.
No, Cocoa is based on Objective-C, the NeXTstep language. Objective-C is not C++, and C++ is not Objective-C. (Yes, the fact that the names of things in ObjC start with NS (NeXTstep) makes it confusing to read Mozilla C++ code, where things also start with NS (Netscape).)
Hmmm... (Score:2)
Re:Carbonized? (Score:2)
Cocoa and Carbon will run at the same speed, regardless. They both run under MacOS X. However Cocoa does not run under MacOS 9...
Re:Carbonized? (Score:1)
Re:Carbonized? (Score:1)
It also depends on a number of things.
The implementation - a good C++ implementation can be much faster than a bad C implementation
The code - fast C++ code can be much faster than slow or medium speed C code.
And Qt is good C++ code
I don't mind them charging ... (Score:5, Interesting)
It would be great if TrollTech learned this lesson. Remember, today's poor CS students are tomorrow's pro developers
Re:I don't mind them charging ... (Score:2, Flamebait)
wxWindows is not quite as professional as QT and last time I tried the mac port it was severely trailing the windows/linux port (About a year ago). But at least there's hope for people that both don't want to be starving for the rest of their life or have to be MS itself to afford their commercial lisence fees.
Re:I don't mind them charging ... (Score:1)
But I disagree with wxWindows not as professional. I have used many GUI toolkits and wxWindows seems really good. What I really love about wxWindows is their attention to printing and multiple languages. Something that is essential in any shareware.
Trolltech should be called on to make QT liscense (Score:1)
Re:Trolltech should be called on to make QT liscen (Score:2)
I think it's fine for Trolltech to straddle the fence:
Simple, right? Wrong. Add operating systems to the equation. Now it's:
Trolltech could make everyone's lives easier if they'd just forget about the operating system. Would I like to see Windows go Open Source? Sure. Would I like to see Apple open more of OS X than Darwin? Certainly. Is it going to happen? Not bloody likely. Are Trolltech's licensing terms going to change anything? Not bloody likely.
I just feel like Trolltech is robbing Peter to pay Paul. They're trying very hard to encourage adoption of Open Source operating systems. Unfortunately, their choice of licensing terms actively discourages cross-platform Open Source applications.
Paving the way for a Kylix port? (Score:1)
Re:Paving the way for a Kylix port? (Score:1)
wxWindows also works on OSX (Score:2, Informative)
Re:wxWindows also works on OSX (Score:1)
However, Qt/PyQT includes a visual form designer and complete GUI. WxPython has Boa, but it is incomplete and buggy (though impressive none the less).
We'll see if either of them is really complete, though.
Just be careful (Score:2, Interesting)
When I looked into their licensing in general (for possible work use) I noticed that if any project was ever touched by any free version of Qt, it could never be later realeased commercially by purchasing a Qt license at a later date.
This one limitation might be a severe one for those who care about complying with licenses. Read the whole thing carefully before proceding. And get your lawyer to check things for you.
Re:Just be careful (Score:1)
I couldn't find their details off-hand (eating up my bandwidth getting Enigma), however their one page [trolltech.com] does mention:
EEEEK! If that meshes with their previous licenses and FAQ's, extreme caution might be warranted. Their whole "once touched, forever tainted" doctrine makes things very dicey
Just read their FAQs and such. It be an issue for some, but no problem for others. Just be informed so you can make informed decisions.
Pricing - ouch (Score:3, Informative)
http://www.trolltech.com/purchase/qtpricing.html [trolltech.com]
US$1550 for one professional license, US$1950 for one enterprise license?
I believe all the people that say QT3 is the bees' knees, but yikes. Guess I won't be experiencing that coolness for myself.
(Wistfully remembering the days when Think C was $99, and the early CodeWarriors were around $199)
Re:Pricing - ouch (Score:3, Interesting)
Not everything is for everybody. The thing is - Qt has developers that actually eat and pay the rent and need a paycheck. And guess what - they deserve it. Qt is KILLER. I work for a small company and we pay for 5 Qt licenses (thats pushing $10,000 a year) - and you know what........ worth every freaking penny. Working with MFC was painful at best, and gtk made me want to go out and kick cars in the parking lot. The increased quality that Qt brings, plus the development time savings is worth the price ten times over. It's a beautiful toolkit.
It's always so sad whenever something is brought up on slashdot, all people do is bitch and whine because it's not free. Well, welcome to the real world. If you want everything to be free, then you lose the right to complain about the quality of what you get.
JWZ got it right - and it proves itself every day:
"linux is free if your time is worthless".
For those of us who's time isn't worthless, finding the tradeoff point is important. And anybody who can improve that deserves their money.
Now excuse me, i need to go start a linux system build of our project - it takes SIX @#$(*#&$ hours using GCC - gee, it's the 21st century, you think they'd discover precompiled headers. Once that build is running i'll go back to my MSDEV machine and get some real work done.
(and debugging with DDD ---------- eeeeshhhhhhh..... god help us all........ yet another way MSDEV kicks serious ass).
j
Re:Pricing - ouch (Score:1)
Re:Pricing - ouch (Score:2)
No it's certainly not - it is a complete application toolkit. The GUI portion is just a part of it (granted, it's a rather large part). It also provides beautiful asynchronous socket support, database connectivity, better-than-STL STL-like functionality (linked lists, hashes, and so on), settings management (uses the registry on windows, dotfiles on Unix), internationalization, threading functionality, process control, an XML parser, really good file I/O routines, printer support, and more. And all of it works perfectly, on any platform that Qt supports. Name me ONE other toolkit that even comes close to this.
I'm a professional developer and I use Qt, and like the previous poster said, it's worth every penny.
rubbish !! (Score:1)
Do you actually know how much it costs to buy hardware, software and licenses in commercial organizations these days? It's outrageous! $1500 as a one off cost per development seat is nothing!
you obviously don't work in commercial software development or you wouldn't have this opinion. and if you do, then go talk to your boss about costs and how much his budget is
Qt rocks (Score:3, Interesting)
Check out JabberCentral [jabbercentral.com] and you will see my client, "Psi", has both a Windows [jabbercentral.com] and Linux [jabbercentral.com] version. The programs are identical (all features are the same). By use of QSettings, application settings are stored in the registry on Windows and in a "dot" file on *nix. And the look&feel matches the OS.
The best part? All it took was a simple recompile. One source tree sure makes life easy.
-Justin
Qt/Mac may indirectly bring us Linux apps (Score:2)
Qt has always worked between Windows/Unix, but big application companies (like say, Adobe) care more about Windows/Mac. AFAIK, Photoshop has two codebases, one for Windows and one for Mac. With Qt 3.0 they could reduce it to just one. Even though their original intention might be to just have Windows/Mac versions, this would place them "one compile away" from having a Linux version. They may or may not go the Linux route at first, but the option would be obviously there.
Who knows, maybe this will actually happen.
academic licenses (Score:4, Insightful)
Reminds me of "Hey, the first one is on me, buddy." Seriously, working in the commercial world, these academic licenses are really tiring: companies get students hooked on some piece of software in the hope that they will then enter the workforce and demand that their employers buy their overpriced commercial software, even when good open source alternatives are available. I hope more and more employers will refuse to fall into this trap: someone who has experience with a costly commercial package where a free alternative is available simply lacks the relevant experience for the job and needs to be retrained.
Matlab is a huge offender in the engineering world (almost free for students, thousands of dollars in the real world). Qt doesn't seem much different.
My message to universities (as well as open source developers): if you want a cross-platform C++ toolkit, use wxWindows or FLTK; they are good enough. And if you think it needs improvements, make those improvements student projects and contribute them.
Re:academic licenses (Score:1)
Then this is strangely appropriate for MacOSX. For comparison, examine Apple's attempts to get students hooked on Macs in school by offering them loans and discounts.
rubbish !! (Score:1)
I'm really starting to get hacked off by this argument. $1500 is NOT overpriced in a commercial software development setting. It's peanuts, pocket change, it's nothing!!
I just finished doing a job where the development group were paying more than that for a consultant from Oracle to do development work on site, per DAY !!
What about Java? (Score:1, Interesting)
Re:What about Java? (Score:2)
I have found java on OSX to be outstanding. I am a java programmer and use it for dev all day, though we deploy to linux boxes.
But they're using QuickDraw... (Score:1)
Perhaps it makes the port of their Qt/Mac easier to maintain. But if you are really targeting OS X, use the OS X APIs...
Re:But they're using QuickDraw... (Score:1)
So it's all the same.
When the most mac users move to OSX, and application developers quit targetting Classic MacOS, I bet they'll switch.
So KDE and X are bit players ... (Score:1)
Re:Let me get this straight... (Score:1)
While I think our lives do deserve a bit of a refocusing on what are genuine priorities, I don't think our avocations or vocations should be excluded from our life until such time is reached.
That is what balancing life's activities is all about. Try it. A balanced life is usually more rewarding, and yes . . .
robi
Re:Let me get this straight... (Score:1)
Hey! (Score:1, Insightful)
Once again Rob, thanks for making your posters look like socially-stunted Lego fetishistic idiots! But then again, coming up with an anecdote portraying
Damn glad I've slipped over to the troll side, and consequently, nothing I say can be taken at face value. If I was a legitimate poster who actually cared about
Idiot gen-xer on NPR (Score:1, Informative)