That's... not very fair. Apple contributes a fair amount to many random open source projects and also runs a number of important ones (Webkit, Clang, LLVM, ...)
The kernel to OS X/iOS is open source but this is not of any serious utility as far as I know :P
Aaaand the AppStore basically destroys Open Source since it doesn't allow distribution of GPL programs. If that's not FOSS hostile, I don't know what is...
GPL is not the only open source license out there.
I guarantee that practically every app you use incorporates open source code. Blocking GPL doesn't seem to have hampered the amount of open source code written for the platforms, either. Look how many libs/projects target iOS!
Hell, I consider GPL to be hostile party in that arena. As an open source author, I want people to use my code; that's it. I don't give a damn if they open source their own code base or fork. That's their choice.
I have interacted with more than enough contributors on the "more loose" licenses. Plus, by going GPL you're effectively cutting off contributions from large companies that play in the OSS space (like Google)
Apple refused to update to any GPL-3 software, including GCC and GDB. Clang/LLVM is great, but it's not a complete replacement given that it's lacking commonly-needed things like OpenMP, thread-local storage, Fortran, and others. Valgrind chronically does not work properly on OSX because the Valgrind developers don't use it and Apple hasn't invested a modicum of effort in helping.
I use BSD-2/MIT for my own work so I have to deal with not depending on libraries that are GPL-encumbered, but I still respect the GPL and think it's poor form for a platform to discriminate against it.
Wait, are you saying that Apple is hostile towards the GPL because it contributed developer resources towards GPLv2 projects and shipped hardware with preinstalled GPLv2 binaries, and refuses to spend developer resources on contributing to GPLv3 projects? And are you blaming Apple for not devoting resources to Valgrind?
From my perspective, GCC was becoming a tangled mess of code due to politically-motivated sabotage by the FSF. Nothing like LLVM bitcode would ever have made it into GCC because it would make GCC too modular, and because the FSF not only supports open-source software but opposes closed-source software, it is against modularity (since someone could potentially distribute closed-source frontend to GCC, if it were modular). This is not mere speculation, people have tried to fix architectural issues in GCC in the past and been shot down for explicitly this reason. You could even say this behavior is hostile.
But this is nothing special. This is just another iteration of the conflict between BSD and GPL.
> Apple refused to update to any GPL-3 software, including GCC and GDB. Clang/LLVM is great
To be fair the problem with GCC isn't just GPL, v3 or otherwise. Apparently its design is deliberately convoluted to reduce modularity, making it harder for people to use parts rather than the whole, and the architecture also makes dynamic compilation much more difficult to implement than LLVM's tool chain (this was one of the key drivers, rather than the GPL thing).
Apple is no more responsible for contributing to Valgrind than you or I am. I do wish Valgrind worked properly on Mac OS X, but I don't have the right to demand someone make it happen for me, especially for free.
Same with GCC and GDB. If the GPLv3 is an unacceptable contract to Apple, they have a right not to agree to it. It's not exactly an uncontroversial license.
Apple did not create the need for the App Store any more than locksmiths created the need for us all to live in locked homes. The App Store was created by a small group of Malware writers, virus creators and Spammers who exploited their freedoms to make computers a dangerous, confusing environment for the majority of its users who are also the less technically able members of society.
The fact that many geeks seem to think that the App Store reduces their freedom in any way beggars belief. You have the freedom to use other devices or create new devices that live outside this eco-system: your Grandparents and young children do not.
Get of your high-legged blinkered horse and take a look at the real users of the technology you no-doubt help create. They are exploited, patronised, ridiculed and blamed for merely wanting to share the most important technology of the last 200 years with us. Rather than try to include them we ostracise them and call them idiots.
Once again I was recently reminded why we need the App Store. I spent some of my weekend helping my ex and our 10-year-old son discover why his innocent use of his mothers' work laptop to look at a flash gaming site has caused her PhD thesis to become infected with a virus and all her emails to be sent back to her as containing malware.
Is it my ex's fault for letting our son use her work laptop? Is it his fault for not understanding the dangers of the internet? Is it her fault for not having the correct settings set or the correct anti-virus protection? Is it her department's IT guys' fault for not enforcing a stricter policy?
It's the fault of the fucking arseholes who write malware and deliberately target children and other computing novices by presenting them with ten choices of download button and flashing click-me-now popups that look like system controls.
Either that or it's my fault for not buying my sons an iPad.
I wanted to say that your answer really doesn't address what the parent was saying, but I see your point now...
Integral part of GPL is the ability for users to change their software, and Apple doesn't allow that (both for the reasons you stated and because... well, a work "monopoly" comes to mind ;).
Ha. Yes, maybe I went slightly tangential due to my weekend experience but I think the core is relevant:
Some geeks accuse the App Store of eroding our freedoms (and the freedom of free software). I say that truly free software is a luxury that we geeks afford ourselves but make no real effort to share with the less-technical while we intellectually discount the mountainous problem of malicious software that makes non-geeks lives' a misery.
It is the latter that erodes the freedoms our our software not the the App Store.
Weight & measures, environmental health departments, competition commissions, ombudsmen.. etc. all erode some freedoms while protecting others. This is, sadly, a necessary trade-off.
As ridiculous as it sounds, that depends on your definition of freedom.
BSD and such allow people the freedom to do almost anything with the code. Close it, leave it open, whatever. BSD grants you the freedom to deny a freedom.
The GPL attempts to preserve that freedom for people other than the current recipient. GPL denies you the freedom to deny a freedom.
Yep, GPL preserves freedom in exactly the same way modern societies preserve freedom for their citizens. You are free, everyone who lives in the country is also free and you're not allowed to enslave other people. Of course, someone could make the argument that preventing you from owning slaves denies you some freedom. And from a narrow and purely technical side he would be right. However, which society would you say has more freedom, the one in which slavery is forbidden, or the other? I think the same argument applies to FOSS.
No he didn't. he compared the historical objections that was made by slavers when their ability to own slaves became illegal.
The south has even songs about the "good ol' days" where slaves was working in the field. Plantation owners clearly saw the change as oppression, and a limitation on their freedom to operate ones house and businesses as one pleases.
It's called analogy. I think the same reasoning and conclusions apply in both situations, which doesn't mean they are equivalent. It's a useful example when all this "which kind of license offers more freedom" arises.
The societies we live in have answered that denying a little personal freedom in order to protect the collective offers more freedom than the one in which that doesn't happen. There's no debate about that. Then, why are we still debating this?
Yes, and the GPL is only as powerful as the copyright system that supports it. Some people publish under public domain in the US and something like the MIT license for other countries where that license is less restrictive than their particular public domain.
This does not work that way in software. More permissible licenses allow me to do whatever I want with my copy of the code. The original codes is still here, I cannot take it away.
I thought that the GPL restricted your redistribution of the code, as far as I know it still lets you do whatever you want with your own copy of the code.
What you do with your own copy, may that be adding to it, removing parts, or giving your one copy to someone else is generally not considered redistribution.
Only the creation of more copies which are then distrusted out are considered as redistribution, and to be covered by copyright.
As a dev, I view the GPL's primary motivation to be about _forcing_ downstream developers to "contribute back". The additional freedom for a user to tinker with that software is a byproduct that isn't very compelling.
Note that I'm not trying to suggest that I don't find open source software very compelling - just that the trade off doesn't make sense to me.
I'd rather be generally trusting of downstream devs; it pays more dividends in terms of goodwill (and subjectively, contributions).
It happens that GPL encourages continued sharing, but that's not it's motivation. The motivation is strictly to prevent people from using the software in a way to restrict others.
You are perfectly free to keep your contributions to yourself and never distribute anything. GPL only jumps in when you are distributing code further downstream, as not distributing code along would refuses those users the same access and freedom to developing the program as you got.
Note that it only forces you to contribute back in the event that you not contributing back would restrict another's freedoms with their hardware or software.
It's not either specifically blocking the other, it's both. The two rules specify restrictions that are incompatible with the other. GPL says: no taking away certain freedoms. AppStore EULA says: no allowing certain freedoms.
I guess I'm just a pragmatist, and I don't believe in forcing Apple to do anything with their own properties. If they want to conduct their business in a way that is unethical but legal, so be it.
While we might bemoan the walled garden model that Apple has picked and most people's seeming readiness to go along with it, you might be surprised at how many people would be interested in a store specifically "curated" towards GPL apps.
You can simultaneously believe that something is justifiable/natural and that it is destroying open source. I think the majority of people would not jailbreak to use such a store, thus limiting the potential audience and reducing the incentive for developers to release to it.
The TL;DR is that the app store EULA is incompatible with the GPL.
The main issue is that the GPL stipulates that the licensor cannot restrict distribution above and beyond the GPL's terms. Because apps must also be distributed under Apple's ToS, the app author would violate the GPL (e.g. due to DRM and regional restrictions).
Basically, this is Apple protecting their asses as well as the developer. Any downstream dev could sue you for using their GPL library (or at least force you off the app store). This is why build of VLC was yanked.
I'd like to hear more about this. Can you distribute on the official Google Play store and incorporate GPL code? Is this allowed because there is an alternate means of installing apps (side loading) which you must make available to all users?
I'm curious if a developer can incorporate GPL code in their app and make it available only on Google Play or the Amazon App Store while supplying the relevant source code (or object files) — but not making the unsigned/unprotected APK available to the public.
The kernel to OS X/iOS is open source but this is not of any serious utility as far as I know :P