However, this hypothetical ignores the reality that companies will often simply not touch GPL code rather than deal with compliance. It's not a choice between the MIT licensed code and the GPL licensed code, it's a choice between the MIT licensed code or anything else. Including reinventing that particular wheel in house.
(opinion follows)
In other words, the GPL reduces the amount of quality (software) in the world and ties developers' hands for the purposes of an ill-thought-out political goal. More annoyingly, it does so in the guise of user freedom, when in reality, the GPL does almost nothing for people who don't hack on code.
If your software is good enough, has enough grass-roots support from developers, and has a good/large community around it then companies will bit the bullet and use it despite it being GPL.
Pretty easy to do if your only use of the machine is development work. Once you get into gaming you have to pile a ton of proprietary software (OS and otherwise) if you want to play anything recent.
That lots of companies refuse to touch GPL code is not an argument for the proposition that "the GPL reduces the amount of quality (software) in the world."
Some companies do they get a proprietary license from the authors in return for payment. I've seen companies pay for that. So answer doesn't necessarily have to be "we have to release all our code" it could also be the common business answer of -- pay and get a license.
I believe this is a plus point of GPLv3 (although more of a side-effect than a goal). I cheer for companies like Artifex which develops Ghostscript. It makes sense to me that if you're not willing to pay forward, you must pay back towards the cost of developing software.
But then, I've never had to make these hard choices so my naivety shows here.
Yes, it does. Because of copyleft reciprocity, all users benefit from modified and enhanced copies to the software.
If a company could be sure that nothing in their code could jeopardize their competitive advantage, there'd be no problem with exposing it to the world. But the real world often doesn't work that way. And to make matters even worse, people often get it wrong when deciding what needs to be protected, and what doesn't.
That's exactly the point of the GPL. Look, we as human beings would be all better off without trade secrets, without closed source, and with the explicit permission to tinker, modify, and improve the products we use every day.
You as a user should want all of the rights afforded to you by the GPL. You should want to know how all of your devices work. You should want to be able to do what you please with them and not just what the company you bought it from wants you to do with it.
Yes, we get it, companies don't want to tell people their secrets, but that's not the fault of the GPL. It's the fault of every user like you who is apathetic toward proprietary software, who thinks it's okay to exploit and profit off of others ignorance while perpetuating a legal framework that mandates that ignorance.
So, without Apple products? I don't think so. Far from it.
Not only is OS X by far the hardest to learn and use of any of the desktops, free or non-free, it is also the least customisable. I can't even buy software to make the window manager usable because Apple won't provide the API to make it possible.
If companies are going to choose closed-source license over open sourcing their own code if not GPL or MIT or similar code is available, they weren't going to help open source code to being with.
What is this insane logic?
If someone modifies my code and doesn't give it to me, it doesn't deplete me of anything. For that to be true I would have to lose something I already possessed.
You maybe meant "deprive," but at no time did I ever have a right to anything that they created. It seems you're asserting that because they used my code I suddenly should have a right to use their modifications. I think that logic is flawed.
I do believe I should have a right to use anything I've created [1]. And if someone feels they've made changes that would be generally useful, and submits code to add to the code I've released, then I would be thankful.
But I wouldn't feel that I had the right to something created by someone else just because I gave them a gift that didn't even cost me anything to give them (aside from possible opportunity costs).
That's not to say that GPLv2 isn't useful for dual-licensing situations (like Qt), so as to convince companies to pay for full commercial use. But the latter situation does NOT guarantee user freedom (people will only pay if they AREN'T willing to release code, after all), and the pro-GPL arguments on this article seem to focus on user freedom, so you can't really have it both ways.
[1] I would love to see a programmer's bill-of-rights that guaranteed a developer the ability to reuse any code that they'd ever written that didn't include any actual business or trade secrets. I once wrote an awesome string class for one employer that was even actually open source, but that was licensed in such an annoying proprietary manner that, even though I can still legally have and use the source code, I can never redistribute the source code. The company made games, so there was nothing at all about the string class that anyone would ever have cared about in a business sense.
It's important to recognize that software -- all software -- is subject to network effects. The more popular a piece of software is, the more work is likely to go into it, more features added etc. If your favourite MIT-licensed software gets forked by a proprietary company and the proprietary version eclipses the original in popularity, you are very likely to be deprived of future support. In a way, software is analogous to a river: it's important to preserve everybody's access not just to the part of the river they live near but also its entire length upstream and downstream.
And since when does a for-pay piece of software eclipse the original free version in popularity? If it did happen, then I'd assert that the "proprietary company" must have done a lot of work to make that possible. In that unlikely case, they must have invested a nontrivial amount in the creation of a powerful tool, and they deserve the profits it generates.
A far more likely scenario is that a proprietary company forks an MIT-licensed project, does something creative with it, sells it to a few people, and then the open-source community would copy the cool features and add them to the MIT project. The actual code to a new feature is typically not as hard to create as the design of the feature, which has already been done by our hypothetical proprietary company. Then the company will need to innovate again to stay relevant, and the free project can copy those features as well.
A healthy ecosystem can include some companies that don't share. It's all part of the network effect. If you can cite any situation where a community surrounding a free software library or other product has been killed or even harmed by a piece of proprietary software that is based on the same code, then you might have a point, but I don't think it's happened.
It DOES happen that proprietary software runs circles around the equivalent free software (Adobe Photoshop, for instance), but that's not because the for-pay software is stealing free code. It's because when you have hundreds of full-time developers you can produce a lot more than the same number of people can do in their spare time. And when those full-time paid developers can contribute to open source (as is frequently the case with MIT/BSD licensed projects), those open source projects flourish as well. Again, see LLVM/Clang.
I actually think you chose a bad example with the Adobe suite. Not one of the creative apps runs on Linux, I need an internet connection to keep the DRM system happy, and I have no guarantee that I will be able to open a PSD/AI/etc that I created 10 years ago on an older version of the software - a major concern for a serious amateur.
It's actually a perfect example:
* Any DRM it has obviously is annoying and could prevent you from using a valid copy (though I've never seen it not work).
* It's crazy expensive.
* Its UI is annoying.
And yet it's by far the most used piece of software when it comes to editing photos (with the possible exception of Adobe Lightroom).
FWIW, PSD is a pretty well standardized file format, and files created in older versions of PhotoShop have always reliably worked in newer versions of the app. It's the other way around, especially if you're using transformations that don't exist in the older app, where you most frequently encounter problems. Which means that if you don't pay their ongoing extortion fees, you might end up getting a PSD that you can't open because of some new feature the older app doesn't support.
Yes it's annoying. But it's also hands down the best, and no professional graphic artist would be taken seriously without it. Gimp doesn't even come close in functionality -- but even worse, the various tutorials and scripts you can follow or acquire for PhotoShop don't work in Gimp.
>The article was talking specifically about serving the interests of users of applications.
Sure it was, but in my example I point out one of many apps that is vastly superior to its open source equivalents, and yet it is the one that serves users the best. Yes Adobe extorts money from those users. Yes it would be nice if it were just open and free. But the reason that Adobe can make software that is so much better is that it can extort that money from users.
So what good is the GPL in fighting apps like this? It accomplishes nothing with respect to large companies like Adobe, because they can just pay to reimplement what they need.
The argument is that the GPL will allow better software to be written with capital-f-Freedom than proprietary. That the GPLed libraries will grow in quantity and eventually outcompete proprietary tools. Other than developer tools (and precious few of those even qualify, honestly), name a GPL application that's better than its closed source rivals. Write a list of all of them that you can think of, in fact. If you hit a half dozen, I'd be surprised -- and there are dozens if not hundreds of solid proprietary packages that make the open source packages look embarrassingly bad by comparison.
Yes you can find GPL apps that are Good Enough for some purposes. I do know people who use and swear by Gimp, for example, or Inkscape. But except for people who use Free tools for philosophical (or financial) reasons, the vast majority of end users want the mainstream, proprietary software that for the most part works the way they expect.
Users are being better served by apps that work well and have the features they need. It happens those apps typically are proprietary. Some philosophies sound good on paper, but in reality fall apart. The GPL largely falls into that trap, IMO, except for the awesome developer tools that are available for free. And Firefox. I still like Firefox. :)
I deliberately avoided comparing the 2 apps in terms of features in my last post to avoid the tit for tat that will inevitably follow.
PS is required by professionals because it is the de facto standard image editing tool and it's the one graphic designers learnt to use in school, and because once you've bought a copy you're locked in. Frankly, if XCF was the industry file format and Gimp was taught in school, Gimp would be the tool everyone uses.
And that's where most open source software completely falls down, because getting UI and polish into an app takes tons of time and experimentation to get right. Open source apps typically get to 80% and leave it there. Problem is, the last 20% of UI and feature improvement typically requires 80% of the time.
But even that is irrelevant, as you point out, because PS is the de facto standard, and Gimp can't open a multi-layer PSD and be expected to render it perfectly if it uses any nontrivial effects.
[1] Gimp seems to still be missing "adjustment layers," which I swear are used in 95% of the nontrivial tutorials I've seen for PhotoShop. I'm sure you can work around that, but that is a key feature of PhotoShop. Just because you don't find a feature important doesn't mean it isn't used by 90% of graphic professionals who use PhotoShop.
I've used both, and Gimp falls flat in the implementation
of the features that it does have.
I've also used both, regularly and for many years, and my experience is the opposite. As I keep saying, Gimp's UI and portability is what makes me keep using Gimp despite also having Adobe CC installed on my workstation. And that's where most open source software completely
falls down, because getting UI and polish into an app
takes tons of time and experimentation to get right.
I could just as easily say that this is where proprietary software falls down because software vendors sell their wares on features, not polish. As a professional software engineer, I know this first hand. PS continues to get feature after feature but its basic rectangle select tool is still a complete pain to use. Last time I checked, the Gimp team flat out refused to add support for 3D rendering. It took them along time to come round to the idea of adding vectors.Actually, if you look at Gimp's development history, you will find that their approach for a long time now has been to work very hard on making the features they deliver as powerful and usable as possible.
This is partly why features are added so slowly. The other reason is because the development team are a handful of people who work on the tool in their spare time.
Yet despite this, they have built an excellent image manipulation tool in Gimp itself, they've developed the GTK+ UI toolkit that is the backbone of the excellent Gnome and XFCE desktop environments and countless applications. They've also developed the excellent GEGL library, the non-destructive rendering engine built precisely to enable adjustment layers (or their equivalent) in Gimp that you can't live without, which in the meantime has enabled the rapid development of Darktable, a very capable alternative to Lightroom.
In a futile attempt to keep this conversation on topic, I'll just point out that both GEGL and GTK are licensed under the LGPL, while Gimp and Darktable are both licensed under the GPL.
Just because you don't find a feature important...
That's got nothing to do with it. I started working with Gimp because it was the only tool that ran on Linux that was capable enough to do what I required.A user of a tool like Gimp or Photoshop makes the application work for him. Before adjustment layers existed, Photoshop users duplicated layers and blended them with the original to get the flexibility they required. I do the same in Gimp. As Gimp introduces more powerful features, I will take advantage of them.
You pretend those improvements would happen anyway. In RMS's world, proprietary software is not a business. The only way those improvements get created are
1) People individually fix their own problems and support their own use cases. Then boring, unsexy problems that no one is passionate about don't get solved. See: Linux desktop.
2) Businesses perform the least amount of development they can as a cost center; their actual business is consulting.
3) Some wealthy, benevolent patron lights money on fire so that the engineers making that software can keep warm.
Moreover, in my experience it has always been basically solved (handwringing articles notwithstanding). I wouldn't be surprised if a part of that has been my needs being unusual, though.
"Readline is free software, distributed under the terms of the GNU General Public License, version 3" -- https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html#Int...