Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Whenever I hear about QT licensing changes I can't help but wonder if they had started off with a GPL based license and GTK never happened how the whole "Linux on the Desktop" situation would have panned out. Would open source developers eventually opted to just use QT for GUI applications? Would KDE have become the defacto standard DE across the top 10 Linux distributions? Would there have been a unified installation package allowing cross distribution installation of QT/KDE based applications thereby facilitating commercial software vendors being more open to porting their Windows applications to Linux? I realize it's a moot point but having spent my teen to college years heavily invested in Linux and being frustrated with the lack of standards at the time I can't help going down this thought experiment.


It was GPL (or pay license) to start with. I believe you mean you wonder if it had been LGPL to start with. Subtle, yet enormous difference for a library.

As to the speculation, I don't know. Special preprocessing phases to extend C++ are odd. The signals and sockets paradigm is a mixed bag. Plus there are serious trade offs to the entire application framework vs a library choices in the first place. On the other hand, the runtime type system and heavily stylized macro style of GTK's gobject system was certainly an odd duck to say the least.

Personally, between the web, mobile, "modern" UX/UI ideas, desktops that want to be tablets, etc, I think the 20-30 years of GUI exploration is coming up very empty handed. Character cell terminal, and CLI are more popular and mainstream than ever.

Where things are going from here?


> It was GPL (or pay license) to start with.

No, it was originally not open-source at all, and it was QPL (which was just barely open-source, and crucially GPL-incompatible) for a long time. Of course we're talking a decade ago now.


Heh. Qt was released in 1995 and the The Cathedral and the Bazaar was released in 1997 with the OSI being formed in 1998. This means Qt pre-dates the term 'open source' by approximately 3 years!


Well, to be fair, Qt was aware of the free software movement from near the beginning. Richard Stallman tried to convince them to liberate their code, and resulted in pushing for a free software replacement. The existence of that free software replacement forced Qt's hand and they released their code under the LGPL. The OSI, Eric S. Raymond and the other "open source" people were not involved AFAIK.


I was part of the Qt community at the time (and still am) and that's really not how it happened.


So give a more informed account


> Character cell terminal, and CLI are more popular and mainstream than ever.

By mainstream do you mean the 1% desktop share or in the GNU/Linux world?

Actually it was this PDP-11 mentality one of the reasons I eventually moved back into Windows / Mac OS X worlds.

I had my share of CLI starting with Timex 2068, AmigaDOS, MS-DOS, multiple UNIX flavours in the 80 - 90's, to keep doing it daily in the 21st century.

Xerox PARC REPLs were way more interesting way of interacting with the computer and live in modern IDEs.


Obviously I having some fun with it. Developer/technician/hacker users a different audience. In my office for instance, people can use 'doz/osx/nix. If you walk around, 95% of every monitor you see has at least one terminal open. These are people doing totally different types of work for all sorts of projects.


I am a developer.

And being one doesn't mean I am obliged to love a UNIX CLI.

I love Xerox's REPLs, Powershell and scripting languages.


I didn't actually say unix cli. Powershell is cli.


In the context of Qt vs GTK, I assumed CLI == GNU/Linux CLI.


> Special preprocessing phases to extend C++ are odd.

You should see Unreal Engine, which uses preprocessing to extend C++ with a garbage collector, reflection, interfaces, and runtime class objects.



It is - thanks for sharing!


My god, why not just make your own language at that point?


I suspect a lot of the creative uses of C++ in Qt will fade over time as C++11/14/17 support in compilers improves. There are more options in the language now that would allow the project to move away from so many macros, etc.


I hope you're right. It's hard reasoning about large qt projects that use special external qt tools like moc compiler.


I was under the impression that it was only at v2.2 that they finally GPL'd it. Prior it was there "QPL" license. Regardless valid points. I'll always wonder though :)


> Character cell terminal, and CLI are more popular and mainstream than ever.

No they are not -- mobile interfaces are the complete opposite of CLI, and they're more popular than anything else in absolute numbers.

CLI wins on the desktop because its flexibility allows for easier automation of "work", stuff humans don't really want to do, stuff that is still predominantly carried out with keyboard-based workstations (desktops and laptops). What you refer to is basically mainstream OS developers finally recognizing that first-class automation support via text interfaces is extremely efficient for power users in professional settings -- hence the rise of Powershell and the demise of graphic-based alternatives like Apple's Automator.

But that's it. For everything else, graphical icon-based interfaces are much more popular: they allow for easier exploration and are more finger-friendly.


> I think the 20-30 years of GUI exploration is coming up very empty handed

I think you are vastly overestimating the actual "exploration" that occurred over this time.

Windowing toolkits have extremely high barriers to entry as well as high networking effects.

The whole idea of a very hierarchical, single-threaded entity controlling all of your user interaction is very much anathema to modern CPU's. However, we are stuck with it because a new windowing toolkit would take a huge amount of effort.


I would say it's reasonably fair to call Qt's moc system "odd". Not the worst thing in the world. But you'd probably be interested to know that there are some working on experimental fork of Qt replacing the moc and a few other necessary-oddities with C++11 constructs http://www.copperspice.com/


Qt started off with a commercial license in 1995, adding GPL in 2000. But the lack of an LGPL option is what (arguably) lead to the rise of GNOME/GTK when that project started in 1997, because it's the LGPL that allows organizations to write closed-source proprietary software without paying a license fee. [Edit: corrected Qt's original license history.]


They started with their own license, which was considered to be incompatible with GPL. Only later it was changed to GPL.

https://en.wikipedia.org/wiki/Qt_(software)#Licensing


Thanks for the correction. I'll update my comment. Either way, GNOME started out as LGPL, and it was the lack of the LPGL in Qt option (added much later in 2009) that I believe lead to GNOME/GTKs larger uptake early on.


The first decade was non-free with later various shades of semi-free. Around the turn of the century it was apparent Gnome was going to dominate the market unless they acted quickly, so they GPLed at that time to maintain relevance. They're still around; guess that strategy worked.

Having lived thru it, the situation was much worse than you imply. Its not that the non-free licenses didn't allow closed source or whatever, they more or less intentionally carefully prevented distros from legally including Qt. Just barely tight enough that on technicalities it failed the DFSG, intentionally. Debian couldn't include Qt and therefore KDE in main until the 2000 relicense.


i don't think so, because it's really hard to write bindings to qt, and relatively easy to write them for gtk. gtk therefore became the default choice for a lot of language communities when they wanted a more modern alternative to tk. had gtk never existed, i think tk could have become a lot more popular, and seen faster improvements, rather than qt taking over the desktop entirely.


I suspect it wouldn't have made a meaningful difference. There are people who are opposed to KDE/Qt for reasons that have/had nothing to do with the Qt license at the time.

GNUStep (the official GNU desktop under a GPL license) predates KDE and it didn't stop KDE from happening.


As someone that tried AfterStep | WindowMaker + GNUStep, I doubt it will ever be finished.

Last time I checked they might eventually be compatible with Pather or something like that.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: