Domain: faif.us
Stories and comments across the archive that link to faif.us.
Comments · 6
-
So Apple will publish free SW & stop hating GP
"This was another thing that Steve [Jobs] taught me, actually," says Cook. "You've got to be willing to look yourself in the mirror and say I was wrong, it's not right." In a broader sense, Cook says that Jobs taught him the value of intellectual honesty -- that, no matter how much you care about something, you have to be willing to take new data and apply it to the situation. He advised his audience to "be intellectually honest -- and have the courage to change."
Judging by the changes made I'd say they were small superficial changes at best; nothing that would risk meeting the level Tim Cook claims Steve Jobs set out for himself, Cook, or Apple as a whole. Respecting a user's software freedom (the freedom to run, inspect, share, and modify published computer programs) is apparently not something Apple's leaders have the "intellectual honesty" or "courage to change".
After his first stint with Apple Steve Jobs headed up NeXT. NeXT distributed an OS and development software which included GCC (then the GNU C Compiler, later the GNU Compiler Collection because it compiles more languages than C-like languages). NeXT was GCC's first commercial copyright infringer, according to Brad Kuhn (former Executive Director of the Free Software Foundation).
NeXT needed a compiler for its new system, GCC was practical and extensible. NeXT extended GCC to compile Objective-C, a programming language used to make applications for NeXTSTEP (the OS on NeXT's computers). The problem came when NeXT distributed its developer system with only object code to its GCC variant, not the "complete corresponding machine-readable source code" GCC's license (GNU General Public License version 2) required. Fortunately for NeXT the Free Software Foundation (GCC's copyright holder) sought compliance with the license over litigation and stopping NeXT from further copyright infringement, so NeXT was allowed to continue distributing their GCC derivative only if they complied with the GNU GPL v2. NeXT eventually complied by distributing said complete corresponding source code (on a large set of ED floppies, if memory serves).
Steve Jobs likely never forgot that smaller non-corporate copyright holders can enforce their license. I believe he developed a perverse hatred of the GNU GPL which he carried back to Apple. Apple distributed MacOS X which came with a number of GPL-covered programs (the Common Unix Printing System or "CUPS" for printing support, GNU's Bourne-again shell or "bash", Apple's GCC derivative to name a few) but some years later (particularly after GPL v3 came out) Apple set out to remove and/or avoid GPL-covered programs from their proprietary (user-subjugating) OS. Apple takes a few different strategies to this end: Apple is replacing GNU GCC with a compiler licensed under a pushover license (a non-copyleft free software license which allows non-free derivatives) so Apple can have the power to distribute a proprietary variant of that compiler and not contribute changes back. Apple bought CUPS from Easy Software Products, CUPS' initial copyright holder, thus making Apple CUPS' copyright holder and switching Apple from being a GPL licensee to a GPL licensor (Apple can litigate the GPL over others but doesn't have to worry that anyone can do the same to it regarding CUPS). Apple ships an old version of GNU bash licensed under the GNU GPL v2.
But respecting a user's software freedom isn't on the list of changes Apple's higher-ups are willing to make. No matter how many insecurities remain in Apple's software (such as one that allowed spying for years), no user (even willing technically-skilled users) should be allowed to inspect the vast majority of Apple's software to figure out what's going on, fix problems and/or improve the software to meet their needs, distribute copies of the software to help other
-
Stumping for proprietors on /.
Ah, the flames from someone without much finesse: Premature declaration of failure to discourage further examination ("The masses have spoken..."), misidentification of fault ("If Apple could have continued using gcc...", "[The FSF] should have gone into the hardware business..."), citing trends with no backing and overvaluing business interests ("...then corporations wouldn't have run away from any GPLv3 software..."), and outright lying about intention and execution ("...weighing the costs of the walled garden (censorship etc) vs the benefits (no viruses)...", "...the attempt to take over the Linux kernel by renaming GNU/Linux..."), your post has so much flamebait to choose from it's almost as if you were taking instruction from an open source proponent who is eager to convince licensors to pick non-copylefted software licenses so they see their work become charitable contributions to software proprietors.
If there's so little interest in protecting oneself from international spying, malware, and other forms of user abuse Glenn Greenwald and other journalists would find it hard to get articles on the Snowden revelations published anywhere, world leaders wouldn't be holding meetings about the Snowden revelations, and people/organizations around the world wouldn't care about encryption. Don't confuse a non-technical user's inability to do better than running proprietary apps from a walled garden with not caring about these issues. They get both no software freedom and plenty of malware in their choice. Most computer users are weighing options where freedom is not available; they're suffering from the myth of choice where all of the readily-available options they know about deny them loyal computers.
Speaking of proprietors, Apple is no victim here. Apple wasn't forced to switch to LLVM and Clang, they chose to because they're proprietors eager to rob users of their software freedom in derivative works. If any organization with the means can be accurately accused of not writing their own stuff, it's Apple not writing their own compilers but instead relying on other compilers. This goes back to NeXT which was the first big GPL copyright infringement case (according to Brad Kuhn, former Executive Director of the FSF which holds the copyright on GCC in his discussion on his OggCast "Free as in Freedom"). NeXT got caught distributing a proprietary derivative of GCC which contained code to compile Objective-C. When Jobs spoke with the FSF about the matter, the FSF informed him that they would enforce their license (GPLv2). Jobs never liked that and never forgot. Apple doesn't mind the GPL they just don't like to be in a position of equality with their users unless they can pull out of that relationship when it suits them (see Apple's purchase of Easy SW which originally developed CUPS).
The FSF never tried to "take over the Linux kernel" and isn't doing so now by properly identifying Linux as a part of an operating system. They have said for years and continue to say they would like the GNU Project to get a share of the credit (1, 2). They also acknowledge that there are systems that don't include GNU and therefore should not be called "GNU slash" anything. No doubt, it would be equally unfair and erroneous to call GNU/kFreeBSD or GNU/HURD a "Linux" system when Linux isn't a part of that. This has nothing to do with capability of writing a kernel; a Linux kernel without the blobs is available so there's no pressing need for a fully-free system to have its own original kernel written by the FSF or the GNU Project. The core of the issue was and is
-
Or maybe Apple got tired of getting caught.
Apple's management (notably Steve Jobs) and some people who work for Apple used to work at NeXT. When NeXT needed a compiler, they chose to base their work on GCC. NeXT got caught distributing the GCC Objective-C frontend in violation of the GPL in what Brad Kuhn (longtime FSF employee and GPL violations enforcer) called a "calculated" infringement. It's reasonable to consider that when Jobs and company lost that fight they decided to get away from GPL'd software because they had experience with a copyright holder who defended their license. Sadly, Apple is building quite a record of copyright infringement. Apple got caught distributing VLC and GNU Go in violation of the GPL. Apple also got caught commercially infringing upon some writers' copyright. So perhaps Apple's switch from GCC toward a non-copylefted free compiler has at least as much to do with control over the user as any technical issues. After Apple's other illegal and unethical behavior, maybe Apple is just getting tired of the bad press.
But it's clear that differing values are at the heart of this issue; not having Apple use GCC doesn't "harm GCC" at all. The fight for software freedom was and is the reason for the GNU Project including starting GCC. Apple is welcome to help improve and distribute free software, including allowing its users to share in that freedom. This isn't a popularity contest no matter how much Eric Raymond and other open source advocates want to frame the issue in that way. As RMS said, "If that enables GCC to "win", the victory would be hollow, because it would not be a victory for what really matters: users' freedom."
-
One's values determine one's choices.
Choice for the consumer is good.
If one's values dictate one's choices, "choice" is not the issue here; looking at what's going on here in terms of a consumer's choice means forgetting how different people's values are and it's all too easy to let technical considerations seem more important than they are. If Apple does as Brad Kuhn has predicted and eventually stops contributing to LLVM in pursuit of a proprietary fork which they continue to work on (thus encouraging users to use their proprietary fork and its proprietary dependencies), that fork is lost as a choice to those who want software freedom for themselves and others. There are other areas of computing where the available choices are proprietary and thus freedom is not a choice at all. Therefore looking at things as a mere "consumer" (one who is prevented from becoming an equal participant) means reframing the issue away from freedom and toward shallow economic details.
In an ideal world we would all have the source for every program so we can diagnose it.
In an ideal world we would only _need_ 1 compiler instead of everyone wasting man-years re-inventing yet another "wheel".Perhaps you're too young to recall when software was what we'd today call free—users were free to run, inspect, share, and modify all the software they could use. RMS cut his teeth in that environment in the MIT AI lab and all of his work for the free software movement is based in his recognition of that community's demise. Your second sentence above is simply untrue as we can't always predict what users will need and users ought to be free to explore new compilation techniques by working on new compilers (as users of any other software should be free to do). It's not for any of us to restrict someone else's needs in this way so long as their expression of software freedom isn't actually a power over other users as non-free software is by definition.
What are the fundamental reasons (aside from licensing issues) that Apple switched from GCC to LLVM, and others?
Steve Jobs' (calculated?) history of GPL violation dating back to NeXT's Objective-C GCC frontend (which RMS mentions) strongly suggest that licensing is a more significant issue at Apple than you're recognizing here. I would like to read evidence of where GCC hackers have not received a "wake up call" about the technical difficulties you refer to so readers come away with some facts to back your assertions.
-
Philosophical differences & practical conseque
I just find it entertaining that everyone gets so caught up in the how we make our software free that they forget it's still open source either way. Let the dev choose how they want others to use their code and don't worry about it. Do we have to have one license without the other? Can't they coexist peacefully?
Copyleft and non-copyleft free and open source licensing have coexisted for many years. That is not the issue. The issue at hand is the issue one (perhaps inadvertantly) denies by not recognizing the difference between the philosophies of the older free software movement and the younger open source movement and the ramifications of those philosophical choices.
As RMS explains quite clearly in multiple essays (1, 2, 3) the open source movement is (as you say) concerned with a development methodology and not with software freedom. The open source movement was designed by people who wanted to not discuss the ethical implications of losing one's software freedom in their pursuit of speaking to businesses by offering, effectively, gratis labor. Open source proponents are all too willing to do whatever it takes to get their tasks done without regard for the social implications of their choices or endorsements (see "Different Values Can Lead to Similar Conclusions...but Not Always" for more on this); installing, running, and endorsing non-free software and putting effort into developing capable, reliable non-copylefted free software (which helps the proprietors as much as it helps users) are a couple. The Open Source Initiative draws no clear distinctions amongst the many licenses it points its proponents toward, so it's not immediately clear why one would choose, say, the MIT X11 license or the GNU General Public License (GPL). Understanding software freedom makes this distinction quite clear—it's about looking out for user's software freedom immediately and in the long term via ensuring free derivatives.
The older free software movement Stallman started recognized ethical implications to these choices; one of these implications was contributing to those who seek to leverage unjust power over the users by licensing software without the freedoms to run, share, and modify. These restrictions are threats to software freedom. Stallman knew that if nobody defended against these threats the community would be lost because he saw software freedom go away at the MIT AI lab where he worked. So he took steps to prevent the further erosion of software freedom by developing software we're all free to run, share, and modify which nobody could use as a power over another. He did this by making a non-free derivative. This hack in a copyright license is called "copyleft" and is one of the hallmarks of the GPL.
This philosophical difference has practical ramifications, as philosophical differences do. The people who run Apple, for instance, were among the first commercial copyright infringer of GCC when they were at NeXT and NeXT chose to distribute a variant of GCC that supported Objective-C without complying with the GNU GPL (Stallman mentions this in his essay "Copyleft: Pragmatic Idealism"). The FSF informed NeXT this was copyright infringement and the FSF made it clear that they were seeking compliance rather than punishment (as is their choice and their way). So NeXT eventually distributed complete corresponding source code. But Brad Kuhn (who was around the FSF at the time and has considerable experience as a GPL enforcer) has said (around 42m27s) that he thinks Steve Jobs' GPL violation at NeXT was calculat
-
Re:Raspberry Pi
I would also recommend this more up to date talk embedded in this podcast which talks about how the use of GRUB2/GPLv3 is OK now and how different Linux distributions plan to handle secure boot (you should also download the slides):