284 karma · joined June 25, 2013
If they don't care, they can use proprietary software, or proprietary extensions that make your software better.
Either way, the user has full control over their choice of software, and nobody's actions can make your original open source code disappear.
The GPL is really about enforcing your ideals onto other people's code if it happens to be reliant on yours. That's a legit quid pro quo for a license, but it has jackall to do with freedom or user rights.
If end users don't want to use proprietary extensions to open source code, they don't have to. The original code doesn't just disappear.
Users already had the right to not use proprietary products; what the GPL has actually done is to take away their right to use your code with a proprietary product.
As such, you've granted users fewer rights as compared to liberal open source licenses, not more.
If users don't want to use code that contains proprietary modifications to your code, nobody is forcing them to -- your opensource code hasn't disappeared.
Once released freely, the source code never stops being free, so I don't really know what they're talking about in terms of "freedom". MIT licensed code is almost infinitely free, it will never stop being free, and nobody can take it away from you.
It seems to me that they're interested in forcing other people's source code to be free.
I've literally never been fooled by a Qt app -- a Mac user can spot that hot mess from a mile away. It's not just a matter of visual layout and UX, although that matters and always falls somewhere between subtly or completely wrong.
The controls also tend to lag at weird times, behave slightly strangely, demonstrate unusual font metrics, etc. The apps tend to exhibit bugs related to menu bar event handling, window management, on and on, and crash more than any other apps I use daily.
This isn't a huge surprise given that Cocoa is designed to be the first and only gatekeeper between events, the OS, UI controls, and Cocoa's main event loop, and most of what makes Mac apps a Mac app has to do with the APIs and integration that you lose first-class access to once you deploy Qt -- that includes 'simple' things like UI layout metrics, which Qt has to re-implement.
I abandoned almost all those Qt apps on my list above. I even dropped EAGLE, despite being "native", in favor of Altera on Windows, which I paid a hefty premium for in no small part because it wasn't a pile of broken UX, Windows or not.
I still use IDA Pro, but the minute http://www.hopperapp.com/ can replace my IDA Pro usage, I'll switch in a heartbeat.
There aren't any competitors, however, so people use Mathematica.
I use high-end expensive that are Qt-only too, but I would gladly switch if there were other options, because Qt is buggy, uses non-intuitive non-standard UI, exhibits poor performance due to impedance mismatches between the Mac and Qt event/threading models, and ultimately decreases overall utility of the UX.
No wonder you're having issues on OS X.
So you integrate with the user's desktop environment, using standard local widgets, theming, integration with UX guidelines, local library dependencies, etc?
Or are you shipping a Qt app with your own dependencies included? If so, Qt is pretty notoriously buggy on OS X (and rightfully disliked by most users as it stands outside all platform conventions), perhaps explaining some of your complaints.
They're not nice people.
I'm not justifying Apple's ever increasing shift towards enacting strict constraints on their platform developers, but the comparison with Linux is pointless.
My preference isn't borne of ignorance, although I think Linux's failings have a lot to do with ignorance from Linux/GNU developers about how the professional development world produces a coherent platform.
- Dropped the entire Linux desktop software stack.
- Wrote a well-integrated top-down designed set of frameworks that provided a consistent API for desktop software, with binary-level ABI compatibility across major releases of the operating system.
- Promoted and encouraged the distribution of standalone applications that included all their dependencies, including distribution via an app store.
- Dropped the use of package management for anything other than OS components, especially for managing application dependencies.
- Leveraged their well-designed set of frameworks to advance the state of the art and simplify the lives of developers, making it easier to ship "great software" for their platform as compared to others.
As it is right now, Linux is a cess pool of poorly maintained, unstable, poorly designed, rapidly shifting crap. There's almost no centralized vision, and what centralized vision does exist is almost entirely co-opted and captured by massive ubernerds that don't seem to understand the first thing about producing a viable platform that end-user application developers would want to target.
What Canonical has done is put lipstick on a pig; it's not enough to throw money at making the operating system acceptably attractive to just end users.
If I have a Mac and need to virtualize things, 'free and open source' doesn't really matter.
The new APIs in iOS 7 do, but then you lose all the value of "transparent distributed store" and it winds up being a pretty sizable hassle.
That said, let's say I do -- so I download and double-click the MacPorts installer, and then run 'port install' to install an X11 app from a binary package.
Not that I'd want to.
If this was possible, iCloud+CoreData would have worked, and Oracle/PostgreSQL/etc would be shipping transparent, ACID, horizontally scalable RDMS.