→ Comment to “apple supports a number of opensource projects. Webkit and CUPS come to mind [1]”.
Apple supports a number of copyleft projects, because they have to. They chose to profit from the work other people released as copyleft, and so they are obliged to release their improvements.
Webkit is an especially good example of this: Apple took the khtml code from KDE [2], worked with it for half a year and only released binaries (which is a breach of the license of khtml) until they finally released their code in one big code-drop which the khtml folks had no chance of integrating cleanly.
That way Apple broke away from the community and created their own fork in a way which made sure that the KDE folks could not profit from Apples work without throwing out their own structure.
They still had to adhere the license, though, which enabled others to use Webkit - and essentially created a revolution in Webbrowser-development, because Apple added all the polish needed for a modern browser. If you look at the way they treated the khtml developers, though, do you really think they would have released any code on that critical part of their OS, if they had not been forced to do so by the strong copyleft used by KDE?
CUPS, the other example of Apple-maintained free software, … is GPL licensed, too. No surprise there: Why else should Apple give their work to others, if not because the license forces them to?
And even there they try to get out [3] by adding a GPL-exception to the parts they write, which allows using those parts without giving out source code. But “This exception is only available for Apple OS-Developed Software and does not apply to software that is distributed for use on other operating systems”.
What do you think how much they will still maintain, as soon as they managed to get that header into all files - and don’t fear a free fork anymore? (also note, that shortly after Apple started maintaining cups, it broke on my GNU/Linux system - „Ein Schelm, wer böses dabei denkt“, as we say in Germany)
Just look at what they did with Darwin. They took all the code from FreeBSD. Then they kept the uninteresting part free as long as needed to have a good name and get people work in their spare time on porting it to intel architectures, a work which greatly benefitted Apple, because they could then get away from PPC to no longer depend on IBM. The interesting part however, the graphical interface, was completely locked up from the beginning.
See why OpenDarwin stopped: “Availability of sources, interaction with Apple representatives, difficulty building and tracking sources, and a lack of interest from the community“ — OpenDarwin Shutting Down [4]
4 of 5 reasons for stopping the free alternative directly come from Apple…
Since LLVM was brought up in a comment, here’s the relevant part of my answer: For LLVM they have a clear goal to reach: Getting rid of a dependency on GCC for which they will have to release their adaptions indefinitely, while they can close down their new code for LLVM at any point.
I as potential user of their code cannot be sure that their future work on it will stay free (which is why I do not use their code - and different from Xorg, Apple has a track record of closing down their devices).
Should I complain about that? Actually no. After all, they are allowed to do it by the license. They just do what they can to maximize their monetary gain.
And actually I prefer seeing a big company use copyleft programs to improve its products, because that means that others will be able to achieve at least that part with free software.
If I should complain about anybody, then about all the people who praise Apple for doing what they are forced to do to get the work of others for free - and about shortsighted developers, who use non-copyleft licenses, which allow folks like Apple to save lots of money while locking out others and creating “the computer as a jail made cool”, as Richard M. Stallman put it [5] quite nicely [6] — I call that shackle-feats [7].
Since my interpretation was called worst-case in a comment, here’s the relevant part of my answer: I don’t really see anything, where Apple contributed something to be good. They did what they needed to avoid being sued, to avoid getting a GPLv3 fork which they would not be able to lock down, to get work for free without having to commit to anything and to get rid of GCC which they cannot lock down.
What irks me, though, is that there are quite a few people who call Apple good because of that. No, Apple is not good. Apple is a company and you should never trust a company [8]. The only way to make Apple act ethically (“good”) [9] would be to get their customers to base their buying decision on ethics. You can see this article as part of that effort: Dismantling illusionary ethics to make it easier for people to spot real ethical behavior.
Links:
[1] http://falkvinge.net/2012/03/02/how-microsoft-pays-big-money-to-smear-google-audaciously/#comment-97126
[2] http://kde.org
[3] http://www.cups.org/documentation.php/license.html
[4] http://web.archive.org/web/20070409155747/http://www.opendarwin.org/en/news/shutdown.html
[5] http://stallman.org/archives/2011-jul-oct.html#06_October_2011_%28Steve_Jobs%29
[6] http://www.stallman.org/archives/2011-sep-dec.html#27_October_2011_%28Steve_Jobs%29
[7] http://www.zwillingsstern.de/light/english/politics-and-free-software/shackle-feats-the-poisoned-apple
[8] http://www.zwillingsstern.de/english/comments/light/never-trust-a-company
[9] http://www.zwillingsstern.de/light/english/politics/howto-make-companies-act-ethically