Qt ported to Mac OS 9/X, BeOS

Trolltech have announced that they have successfully ported Qt to the Macintosh platform. A demo can be downloaded here, and screenshots can be viewed here, here, and here.
At the same time, Qt Free Edition has been ported to BeOS (screenshots: 1, 2, 3, 4, 5, 6, 7, 8, 9) by Zenja Solaja, who is also considering a port of KOffice, Konqueror and KDE to BeOS. Along with Qt/Embedded and Cygwin/KDE, KDE/Qt might soon be the most ported toolkit and desktop environment.

Dot Categories: 

Comments

by Stentapp (not verified)

That's what I call pure screenshots! Cool! :)

by Navindra Umanee (not verified)

What a coincidence. I was just talking to someone who works at Autodesk, a company which uses Qt internally, and two comments which stuck out were that although they liked Qt, it was:

1. Expensive.

2. They would use it much more if a Mac port existed.

The actual emphasis was on 2, so good to see it being taken care of! Trolltech strategy is just getting better and better (what with Qt/Embedded and all), and what's good for Qt is good for us. ;)

Cheers,
Navin.

by Marko Samastur (not verified)

> 1. Expensive

I find this odd considering that Autodesk is not known (to me) for:
- making cheap products
- being so broke that they can't spend 1.2k$ on a developer for a toolkit they know saves them time (hence money)

P.S: Is it possible to type html in comments or no? Encoding gives me only plain text, but a little bit lower there's a list of valid html tags.

by DCMonkey (not verified)

Escpecially since the ACIS (3D solid modelling) toolkit they use was upwards of $100K per developer seat last time I checked.

by jh (not verified)

does that mean, that sooner or later
there will be AutoCAD for Linux ?!

bye,
jochen

by DCMonkey (not verified)

A couple of years/releases ago Autodesk started making a big deal of how they were shifting the customizable GUI of Autocad from thier textfile based DCL to MFC. Maybe they are starting to realize that MFC is a dead end with MS pushing .NET (and WinForms, its GUI framework), and are exploring alternatives that will also give them the cross-platform capability that, IMO, they foolishly abandoned in the rush to a Windows-only product. AutoCAD used to run on a few unices and its UI framework (Menus, Toolbars, Dialogs, Command Line, Status Bar) was, and I suppose still is to some extent, completely customizable by text files. QT would be a great complement to thier ObjectARX c++ programming interface.

PS: You haven't lived till you've helped students write custom menu files for AutoCAD R10 using nothing but EDLIN !! Ack!!

by SilverSun (not verified)

I like the Troll's concept of proprietery/free double licensing under *nix. They need money to live.

But if I got it right, my GPLed Qt/*nix app cannot be compiled by others under Windoze/BeOS/MacX without paying fees. Is that right? If so, why this asymmetry? Isn't double licensing good for all platforms?

Cheers,
Peter

by Marko Samastur (not verified)

> But if I got it right, my GPLed Qt/*nix app
> cannot be compiled by others under
> Windoze/BeOS/MacX without paying fees. Is that
> right? If so, why this asymmetry? Isn't double

Yes, that's right. Well, if my memory serves me right, it's because of free software community on free Unix clones (btw, AFAIK Qt for proprietary Unixes is also not free) and because they use and like free software.

> licensing good for all platforms?

I'd presume so, but it's their call.

by Marko Samastur (not verified)

I'm an idiot. Qt free edition is available for all supported Unix OSes.

by nap (not verified)

No, you didn't get it quite right. You can take the Free Qt/X11-version and port it to any platform you want (Windows, Mac, whatever), because it's licensed under QPL/GPL.
The "official" Windows and Mac ports that are made by Trolltech are not licensed under QPL/GPL, and you probably won't even get your hands on them without showing the money first.

by Marko Samastur (not verified)

Yes, but he has to port it. Which is more than just fixing few Makefiles and is probably the reason that KDE project for Win uses Cygwin (to make Windows look as much as Unix as possible) and why there's no free Qt edition for Windows.

So, in effect, he's right. You can't do what he wants.

by nap (not verified)

The point I was making that there isn't any gotchas like "You cannot use this code on other platforms" in the license of the Qt Free Edition.

About the difficulty of the porting, Mosfet had a few insights couple of days ago here:
http://dot.kde.org/990126889/990222387/

by thil (not verified)

>I like the Troll's concept of proprietery/free double licensing under *nix.
>They need money to live.

Yes, it's a realistic way:
-If you want to learn or try QT, you can do it for free.
-If you want to develop in open source, you can do it.
-If you want to make money, you can buy a licence.

And they don't dream on hypothetical support.

Thank you!!

by Bryan Feeney (not verified)

The way it works is this -

You can get Qt licensed using the GPL, but anything you do with it must also be released under the GPL (good for students, not for companies). Under this someone could port Qt to Windows, but the Windows port would have to be under the GPL, and so any Windows programs using the port would have to be under the GPL

or

You can get Qt under their proprietary license, and then release your software under any license you feel like.

by Evan "JabberWok... (not verified)

Looking at that Aqua QT Designer is almost scary; I keep thinking that it's a faked screenshot.

But, to a certain extent, all OSes seem to be going POSIX/*nix based, with even Windows vaguely heading in that direction. It would be very interesting if KDE/Qt became the "write once/run anywhere" environment that Java always promised to be. (Sure, there is a compile for each platform in there, but it's a painless one).

Let's review, shall we:

BSD, AIX, Solaris, Linux with X11 - Qt/X11, KDE

OSX - Qt/Mac, KDE pending

BeOS - Qt/Be port 90% complete, KDE pending

Windows 95, 98, NT4, 2K, XP - Qt/Cygwin getting there, KDE getting there

Any OS with a Framebuffer (PocketPC, Internet Appliances, Tablets) - Qt/Embedded, Konqueror ported, KDE pending

What else *is* there? What OS did I miss (I'm sure a few *nix flavors), and what ports did I miss?

Any core developers care to talk about how they feel about KDE expanding out to a portable desktop environment?

--
Evan

by Steven Bosscher (not verified)

It's probably a good thing for Trolltech that they can sell Qt for yet another platform, but I don't see why KDE should follow were Qt goes.

It's hard enough just to make an excellent desktop environment for *nix. I think that pording to so many new platforms will result in worse performance on *nix.

So the question should be wether or not KDE should be ported to all of the above.

by Underground (not verified)

IF KDE works under BeOS Than BeOS denvolopers will help denvolop KDE

by Thorsten Schnebeck (not verified)

But there are things like the new administration system. Its hard to coordinate different linux distros but its harder to maintain complete different systems. You need _some_ developers, more discussions, more coordination...

Another point:
If you take a look at QT3 I see some danger:
With all the different ports and the new features it is not so interesting for the commercial programmers to write native KDE-apps but QT-only.
This is the point, where I say, ok TrollTech should use the QPL for _all_ systems, if the user wants to write free software. This would be KDEs chance to present this free desktop or some of its apps. But I *think* we are not strong enough for being such a big player. So lets face Unix and maybe embedded systems and stay community-based.

(other opinons? ;-)

by Matthias Ettrich (not verified)

> Looking at that Aqua QT Designer is almost scary; I keep thinking that it's a faked screenshot.

It's real, it runs pretty fast and it magically uses the common Mac menubar.

Matthias

by Evan "JabberWok... (not verified)

>> Looking at that Aqua QT Designer is almost scary; I keep thinking that it's a faked screenshot.

> It's real, it runs pretty fast and it magically uses the common Mac menubar.

Just in case anyone was wondering about my starry-eyed post above, I *don't* think the screenshots are fake (you can stop emailing me, especially the three Gnome trolls that wanted proof to "topple the joke" (?!?)), just that it was so impressive and integrated it looked like a concept shot... I wanted to jump in and play with the controls.

As for the rest, I never said it was a *good* idea to port KDE to every platform... and I'm not now saying it's a bad idea. It seems Qt is going everywhere, and it's something to mentally chew on; that's why I was wondering if any core developers had thought about it (since it's up to "those who do").

I had done a search several weeks ago looking for OSX in the devel mailing lists to see if anybody was thinking about a port. There was no mention in any of the lists I checked. And I will admit that part of it is because if I had the money right now, I'd snap up a Titanium PowerBook. Drool, drool. But I'd want to have Konqueror and a few other KDE apps for comfort factor (switching back and forth), while still running MacOS for the Video editing apps.

--
Evan

by Richard Dale (not verified)

You wrote: "But I'd want to have Konqueror and a few other KDE apps for comfort factor (switching back and forth), while still running MacOS for the Video editing apps."

No disrespect to the excellent Konqueror, but why wouldn't you use OmniWeb 4.0 for browsing on Mac OS X - it is arguably the World's best browser in typography terms, the longest established (under development for 8 years, and predates Netscape)?
Will Shipley, the developer discusses it here:

http://www.oreillynet.com/pub/a/mac/2001/05/11/w_talk.html

But other than that, I agree how great it would be to run Qt/KDE apps under Mac OS X.

-- Richard

by Richard Dale (not verified)

You wrote: "But I'd want to have Konqueror and a few other KDE apps for comfort factor (switching back and forth), while still running MacOS for the Video editing apps."

No disrespect to the excellent Konqueror, but why wouldn't you use OmniWeb 4.0 for browsing on Mac OS X - it is arguably the World's best browser in typography terms, the longest established (under development for 8 years, and predates Netscape)?
Will Shipley, the developer discusses it here:

http://www.oreillynet.com/pub/a/mac/2001/05/11/w_talk.html

But other than that, I agree how great it would be to run Qt/KDE apps under Mac OS X.

-- Richard

by Steve Hunt (not verified)

What would be really neat is if somebody decided to build an operating system from the ground up, and put KDE in its core! That would be great.

by Eric Nichlson (not verified)

A "KDE" based (or Qt based) OS would be really great in terms of of speed & power.

But, I think the birth of such an OS would be the crack that eventually fractured linux into a number of incompatible *nixes.

Maybe someday if a common GUI toolkit is supported and embraced across the current *nix platforms...

by Steve Hunt (not verified)

Personally, I think that Linux is already incompatible with itself. I love it anyway, but it already is very diverse. That is exactly a new OS would be nice. Probably not based on UNIX, also.

by Walter Reel (not verified)

I was wondering how hard it would be to cut X dependencies out of KDE and port Qt to GGI using KGI drivers for hardware acceleration. ICE would be the biggest problem, as far as I can see, but it doesn't sound impossible.

That would be a pretty tight package.

- Walt

by Justin (not verified)

Qt/Embedded uses the Framebuffer Console, which makes things even better. No need for GGI.

by not me (not verified)

Actually, QT/Embedded is quite slow due to the lack of hardware acceleration. If GGI has hardware acceleration, then a port to it would be much faster and therefore better.

by anonymous (not verified)

I thought I heard that the framebuffer was slow in comparison (even to X), I'm guessing due to a lack of hardware acceleration. Would GGI have hardware acceleration?

by DCMonkey (not verified)

Hasn't the Xfree86 4.X driver model been modularized (so that card makers can provide binary only drivers)? Would it be practical/advantageous to create a minimal layer between these drivers (source or no source) and a toolkit such as QT?

by Walter Reel (not verified)

Yes, the architecture in XFree86 4 provides for loadable drivers that can be in binary form (this is how Matrox distributes their HAL drivers now). The idea though, for the KGI project, is to provide a clean interface to hardware drivers without being specific to a particular display implementation (like an X server). That would be adventageous to video-driver writers because their efforts could be used by an X server or SDL or Berlin etc...

I was thinking that a GGI port would be adventageous for Qt/KDE because of the _potential_ performance boost that would be brought about via KGI and hardware accelerations like BLT's and ROP's not to mention ease of access to alpha channels, true transparent term sessions, fade effects, anti-aliasing blah blah blah. Mind you that that KGI project is in alpha and, to my knowlege, has only one card supported ~:|

XRender with DRI is supposed to be offering all those features too but I find that there are a lot off people who still would like to se an X'less desktop (especially me after XFree hardlocks my stand alone box and I have to hammer the reset button and fcsk!).

Just some ramblings...

- Walt

by not me (not verified)

One guy _has_ decided to build an operating system from the ground up. Furthermore, he has nearly finished! Check out AtheOS at www.atheos.cx. Only problem is QT is not available for AtheOS. Now that's a port I'd like to see.

by Michael (not verified)

That's exactly what came into my mind when I was reading this comment.

...if this guy only would have used Qt!

by Jono Bacon (not verified)

I think that now Trolltech every major UNIX, Windows, Mac and Embedded covered, the next step is to develop a Qt port of AWT/SWING for Java. Once that is done, I think most bases are then covered.

I would like to express great thanks to all the guys and gals at Trolltech. They make a great product and work very hard for it. If it were not for Qt and Trolltech I would not have learned so much about GUI coding, and it has been a real education for to learn about Qt and how to code a GUI app. One thing that many people seem to forget is that not only are you getting a great piece of software with Qt, but you are getting a great opportunity to educate yourself and learn a lot. This combined with the general goodwill of the developers makes Trolltech a very approachable company.

I hope that with all the fininacial difficulties that are being experienced by Linux distros and companies, that they keep afloat. I am particularly keen on Trolltech, theKompany and Mandrake to succeed. Keep up the good work, and thanks a lot. :-)

by Otter (not verified)

---------->
If it were not for Qt and Trolltech I would not have learned so much about GUI coding, and it has been a real education for to learn about Qt and how to code a GUI app. One thing that many people seem to forget is that not only are you getting a great piece of software with Qt, but you are getting a great opportunity to educate yourself and learn a lot.
<----------

Throw in a mention of KDevelop and you have my experience exactly. I knew how to write Hello World and how to read other people's code but it was the Qt/KDE libraries, tools and documentation that enabled me to step out on my own.

by Michael (not verified)

Since QT draws everything by itslef and doesn't use native peers like Java, it means that they implemented entire Aqua style, thus we will soon see real Aqua style in QT available on all platforms!

by me (not verified)

I can't comment on whether thats true from a technical point of view, but even if it were, I don't think the Aqua style will make it to Qt/X11.

Apple is sueing everyone *thinking* about cloning the Aqua style, be it only with themes. I'm sure Trolltech doesn't want to have those problems and will refuse to publish it.

by Richard Moore (not verified)

IIRC the only Cease and Desists it sent were to people using the name 'Aqua' for their theme.

by Alex Thurgood (not verified)

Hi, I would be interested if someone had a copy of one of those cease and desist letters they could send me or e-mail me, so I could check out what exactly it is that Apple are asking people not to do.

TIA,

Alex Thurgood
IP Attorney, France

by baxter (not verified)

Historically, Apple's lawyers have had no problem with you emulating the Mac look-and-feel on the macintosh, but they'll send cease-and-desists if you make Mac look-and-feel available on platforms other than Mac. That was the case back when I worked for Visix, yet another cross-platform gui toolkit company. (see e.g. http://www.byte.com/art/9507/sec9/art8.htm). Visix kept tighter control over its source code, though, so a compile time NO_MAC_LAF flag meant something. It will be interesting to see how trolltech handles this.

by Hubert Figuiere (not verified)

I don't see any mention of MacOS 9. So I suspect, since they talk about MacOS X, that the port is MacOS X only. That makes quite q difference. A MacOS 8/9 would surely be a great advantage.

by Matthias Ettrich (not verified)

Code-wise, a OS 9 port is not terribly difficult, just that OS 9 is a nightmare to develop for. Random resource limitations, no shell, no memory protection, ...

But the real question is: How many MacOS users will _not_ upgrade to MacOS X?

by Former Mac User (not verified)

I was a Mac OS 9 user. I heard of some $130 product called Mac OS X, but I decided to get Linux instead, because the LinuxPPC distribution was $20 and I didn't have to wait for March 24. Now I use KDE. (I could have chosen GNOME, but it didn't look as pretty, and I don't have an orange iMac for no reason...)

Anyway, I know most Mac OS X programs use an API called Carbon. So I would guess that Qt for Mac was also Carbon. Carbon programs work in Mac OS 8.6 and later, too, so Qt for Mac would also work in Mac OS 9 (and probably 8.6).

If it wasn't Carbon, it would have to be either something called Classic or Cocoa. Classic is the old API for writing a program in old versions of Mac OS. If Qt for Mac was Classic, it would work in OS 9 and OS X (but it the OS X Classic emulator). Classic doesn't do protected memory, and since the Classic and Carbon APIs are so similar, it makes since to use Carbon.

Cocoa is a so called "object oriented" environment. I thing this has something to do with OpenStep (I remember that Apple acquired NeXT) and the Cocoa API is so different from the Classic or Carbon ones. Cocoa programs don't work in OS 9, so if Qt for Mac was Cocoa, it wouldn't work in OS 9.

Bottom line: most Mac programs in OS X work in OS 9, so Qt would probably work too (my guess).

I think that the worst part about OS X is its $130 price tag (OS 9 was less than $100) and also that it is a very different OS from OS 9.

OS X is probably the best, and most user friendly unix distribution ever.

And now supports KDE with fink http://fink.sourceforge.net

by Shawn Gordon (not verified)

I have a Mac and based on my discussions with others in this arena it will be some time before there is a critical mass of people using MacOS X. It still really isn't done, they are releasing updates almost weekly. I'm very excited to hear that Qt 3 works with OS 9 and X, but I'm wondering what wizardry you used. Is it native for both or are you using the emulation layers?

by Navindra Umanee (not verified)

Hmmm, they have MacOS 9 as part of the HTML title on the announcement: Trolltech - Qt Mac OS 9 / X.

by Johnny Andersson (not verified)

To what extent does the KDE code rely on X11? I think it'd be wise to start taking out the X11 specific code from the core (Maybe this is already done? I haven't checked the code all that carefully; but if it was, I figure we'd have KDE for fbdev now) and put a layer between KDE and the display (manager).

We have a good start with QT. Even if we're not interested in porting KDE to other operating systems, we are, with any luck, going to get a better system to replace X sometime in the future. Better get ready for it!

by Justin (not verified)

I believe there is barely any X dependence in KDE, so they are in good shape. The desktop, window manager, and ICE are probably all that would need to be changed (IMO they should do something about ICE now though).

The reason you don't see an fbdev KDE is because Qt/Embedded doesn't support X applications, and I don't think it supports a custom window manager either (can anyone correct me?)

Here's a thought: What if someone wrote an X server for Qt/Embedded? Kinda like those win32 X servers. Find a way to use a custom window manager in Qt/Embedded and port Kwin. That might be pretty cool.

-Justin