The “Apple helps free software” myth

→ Comment to “apple supports a number of opensource projects. Webkit and CUPS come to mind”.

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

Webkit is an especially good example of this: Apple took the khtml code from KDE, 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

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 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)

Darwin

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 of 5 reasons for stopping the free alternative directly come from Apple…

LLVM

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).

Epilogue

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 quite nicely — I call that shackle-feats.

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. The only way to make Apple act ethically (“good”) 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.

*→ Comment to “[apple supports a number of opensource projects. Webkit and CUPS come to mind](http://falkvinge.net/2012/03/02/how-microsoft-pays-big-money-to-smear-google-audaciously/#comment-97126)”.*Apple supports a number of copyleft projects, because they have to.

Kommentare

Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.

Hm, your interpretation is

Hm, your interpretation is mostly worst-case. Regarding Webkit versus KHTML: If you are planning huge changes on a project you have not participated yet, it will be not verry easy to convince the other developers that these changes actually do make sense. Simple way: fork.
Apple is also working on llvm which is published under a BSD like license - so they do not have to return any code for their improvements, but they do so. I don't see why that might have been different for Webkit if KHTML has been licensed under non-copyleft terms.
Regarding CUPS: Apple could have had a closed source version of CUPS which has been called ESP-Print Pro when they hired the original CUPS developer Michael Sweet. Nevertheless they decided for the open source track…

worst case?

My interpretation is not rosy, that is true. And I have my reasons…

WebKit

With WebKit, they withheld the source. They did not just fork and publish the source with every beta (so the khtml developers could have integrated them step by step), but they withheld them until their codebase had deviated so far from the khtml source, that it could not be integrated again. I know that they withheld it, because I tried to find the source back then. And that withholding is not just quite impolite to the khtml developers: It is downright illegal in case of GPL software for which you do binary releases (which I used back then, so the license required them to offer me the sources).

CUPS

In the case of cups, their chance of having people write printer drivers for cups for free would have been quite slim if they had made it unfree. And if you read the cups news on the hiring, you can find quite a few other reasons for staying open - including to avoid a GPLv3 fork which they could not have used on their locked down devices. Also the hired programmer might just have had something to say on that, too… And they use code from Xpdf.

Finally don’t forget their GPL exception on CUPS: That essentially disables the GPL for everything from and for Apple, while keeping it for all other projects. With this they turned the GPL into an LGPL, but only for programs by Apple or written exclusively for Apple systems. If you also distribute your software for GNU/Linux or Windows, it does not hold for you. I would call that partial copyright assignment the sneaky way.

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.

Or not so sneaky:

Because we also provide CUPS under multiple licenses, we require that you sign a contributor agreement with Apple. source

which means:

With respect to any worldwide copyrights, or copyright applications and registrations, in Your Contribution: You hereby assign to Apple joint ownership, and to the extent that such assignment is or becomes invalid, ineffective or unenforceable, You hereby grant to Apple a perpetual, irrevocable, non-­‐exclusive, worldwide, no-­‐charge, royalty-­‐free, unrestricted license to exercise all rights under those copyright

LLVM

And 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 up their new code for LLVM at any point.

Epilogue2

So I don’t really see anything, where Apple contributed something to be good. They did what they needed to get work for free without having to commit to anything, to avoid being sued, to avoid getting a GPLv3 fork they could not lock down and to get rid of GCC which they cannot lock down.

Even more info (and some bad

Even more info (and some bad flames) can be found in the discussion about this article on reddit - with the article To Fork or Not To Fork showing how they could have done it right, if they had wanted to.