Domain: gnu.org
Stories and comments across the archive that link to gnu.org.
Comments · 13,360
-
Re:Precisely
You mention the "GUILE license." I can't find what you're talking about. Here's the licensing info for GNU Guile.
-
Re:Precisely
> Comments like "all contribution to LLVM directly helps proprietary software as much as it helps us" show your cards. Stallman not only is an advocate for free software; he would rather harm or hamstring free software in order to damage proprietary software.
This philosophical stance may appear to be a "cards" if you are uninformed. In truth, it is actually well published.
> in fact, [LLVM's] under a more permissive license than the GPL.
Yes, that's the problem. There will now be more proprietary software in the world because of it.
-
Re:LLVM didn't start at Apple
A setback yes, as now Xcode isn't free,
Xcode was and still is free-as-in-beer to Mac users, and was never free-as-in-speech.
The command-line compilers are still, as far as I know, free, but under the University of Illinois/NCSA Open Source License, which is "a lax, permissive non-copyleft free software license, compatible with the GNU GPL", rather than the GPL.
-
Re:...but if you want free software to improve...
This is just simply false. There's nothing in the GPL that prohibits releasing software on the App Store.
Yes there is -- clause 6, installation instructions requirement (anti-Tivoisation clause) "the information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made". The App Store and iPads etc do not support this.
I.e., you mean "yes, there is, in the GPLv3". Is there anything that prohibits releasing GPLv2 software through the App Store? There still exists software released under the GPLv2, including, I think, some obscure OS kernel out there.
-
Re:Lincense wars in...
Clang error output includes full static analysis,
The compiler is one thing, the static analyzer is another. The error messages of the two compilers are comparable. I've already admitted that GCC is not as suitable for tooling as LLVM is.
"Hip" seems to be your biased way to say modern.
Of course every judgement of value I make is biased, it reflects my opinion. I do my best to avoid objectively false statements, and I like to be corrected when that happens.
And no, small differences in executable speed is not the primary concern of most compiler users.
See that everybody's biased? You say "small difference", others could use different terms when the objective data is "up to 39%". As for the fact that compiler users don't care about speed, you should ask the end users of the binaries about that, rather than the users of the compiler itself. Personally, if ease of development was my primary concern, I'd code everything in Java. GCC even supports it
;-) .Not so much. This very story is about ESR questioning why GPL GCC deliberately prevents non-GPL software from linking with it. Thus handicapping GCC for developers of IDEs and other tools. And the answer from RMS, that he refuses to compromise, and thus GCCs restrictions remain.
This very story is about ESR not being aware that GCC does have a plugin system and a license exception allowing it to link with GPL-compatible software (such as BSD) for that purpose. The reasons why this interface does not find much use is technical, not political: GCC internals are (1) not modular and (2) do not expose stable programming interfaces. These facts would not change even if GCC was relicensed overnight to the BSD license or the WTF license.
-
Re:Non-GPL is not always non-free
Thanks for pointing me to your sources so I can read them for myself.
Fighting for copyleft is standing up for user's software freedoms for derivative works. Copyleft itself is not the goal, but copyleft is part of a means to securing software freedom for the future.
I see RMS saying he's fighting for user's software freedom via copyleft, but I don't see how that is equivalent to saying "RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts". Other copyleft licenses exist. RMS and points out when those licenses don't do as good a job defending user's software freedoms as the GPL does and then he explains his rationale. Also, it is possible to make a copylefted free software license that allows conversion to the GPL (such as the Netscape Javascript license or via an explicit conversion clause). I can also envision a strongly copylefted free software license that does a better job of defending user's software freedoms than any of the GPL variants. But I don't know of such a license. If one such license should exist, I'd expect RMS to respond as he did to the existence of a compiler that was technically superior to GCC which also defended user's software freedom, "For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance.".
It makes sense to me that if the GPLv3 or a variant (such as the AGPLv3) is currently the best license for defending user's software freedoms and one of one's goals is ensuring software freedom, one would steer users toward the latest version of the GPL licenses. This isn't steering people to the GPL for no reason at all, or some kind of brand loyalty; the reasoning is carefully explained.
-
Re:Non-GPL is not always non-free
Thanks for pointing me to your sources so I can read them for myself.
Fighting for copyleft is standing up for user's software freedoms for derivative works. Copyleft itself is not the goal, but copyleft is part of a means to securing software freedom for the future.
I see RMS saying he's fighting for user's software freedom via copyleft, but I don't see how that is equivalent to saying "RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts". Other copyleft licenses exist. RMS and points out when those licenses don't do as good a job defending user's software freedoms as the GPL does and then he explains his rationale. Also, it is possible to make a copylefted free software license that allows conversion to the GPL (such as the Netscape Javascript license or via an explicit conversion clause). I can also envision a strongly copylefted free software license that does a better job of defending user's software freedoms than any of the GPL variants. But I don't know of such a license. If one such license should exist, I'd expect RMS to respond as he did to the existence of a compiler that was technically superior to GCC which also defended user's software freedom, "For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance.".
It makes sense to me that if the GPLv3 or a variant (such as the AGPLv3) is currently the best license for defending user's software freedoms and one of one's goals is ensuring software freedom, one would steer users toward the latest version of the GPL licenses. This isn't steering people to the GPL for no reason at all, or some kind of brand loyalty; the reasoning is carefully explained.
-
Re:Or maybe Apple got tired of getting caught.
Except for all the companies that do develop and distribute GPL'd software, notably Cygnus (one firm that charged large sums of money for GCC enhancements) and now Red Hat which bought Cygnus. And there's no evidence Apple "accidentally infringe[d]" when they chose to stop distributing GNU Go rather than include complete corresponding source code after being caught infringing the GPL. There's no evidence accidental infringement was at work when Apple "prefer[ed] to impose Digital Restrictions Management (DRM) and proprietary legal terms on all programs in the App Store" (as the FSF put it) when Apple was caught violating the GPL in their distribution of VLC. There's no evidence NeXT accidentally forgot to comply with the GPL back when they commercially distributed their illicit GCC variant to NeXT users. In fact, as Brad Kuhn points out, the FSF has long worked with those not in compliance to silently get them into compliance. We only hear about the cases where the company is obstinately refusing to comply for long periods of time before GPL enforcers at the FSF or Harald Welte (who holds copyright on some code in the Linux kernel) publish details of the ongoing GPL non-compliance. The FSF has a history of seeking compliance rather than punishment. Your characterization of "getting smacked" for accidental infringement is not at all supported by available facts from the aforementioned parties. Regardless of license, how any copyright holder behaves in the face of copyright infringement is up to them, not the GPL.
But the real tip off in your response harkens back to the main misunderstanding of this issue—different values lead to different conclusions. It's important to explicitly draw out those values and conclusions so one isn't led into a trap. The older free software movement doesn't share the same values as the younger open source movement. Caving into business desires for control over the user via proprietary derivatives of free software is okay with the younger open source movement and objectionable to the older free software movement.
The GNU GPL isn't honestly described as an "open source" license because that framing misconstrues what the GPL says and why the GPL exists. The GPL was written by Richard Stallman whose main work since his time at the MIT AI lab has been the pursuit of software freedom for all computer users. Stallman is clear to explain this history and correct people on this issue at virtually every talk I've heard him give, so it's not hard to find a recording of a talk where someone, such as you, tries to position his work in terms of a movement that doesn't agree with his values. The open source movement was founded to "sell" free software to businesses by being silent about the main issue the free software movement stands for—a user's freedom to run, inspect, share, and modify all published computer software. This leads to very different outcomes when faced with reliable, powerful proprietary software. The open source movement does not care for a serious discussion of ensuring user equality of access. So when you frame the FSF and the GPL in terms of "open source" and a priority to get companies to use GPL'd software (thus objecting when companies like Apple can't proprietarize GPL'd software), you fundamentally misunderstand what the free software movement is about and why the GNU Project exists.
The free software movement is not about a popularity contest. A wider audience which comes at the expense of software freedom for all is unwelcome (very much in line with the ethic of "a freedom is a privilege unless enjoyed by one and all"); those acts are called out and carefully explained so others become wise to their tactics. There are businesses that develop and (even commercially) distribute free softwa
-
Re:Or maybe Apple got tired of getting caught.
Except for all the companies that do develop and distribute GPL'd software, notably Cygnus (one firm that charged large sums of money for GCC enhancements) and now Red Hat which bought Cygnus. And there's no evidence Apple "accidentally infringe[d]" when they chose to stop distributing GNU Go rather than include complete corresponding source code after being caught infringing the GPL. There's no evidence accidental infringement was at work when Apple "prefer[ed] to impose Digital Restrictions Management (DRM) and proprietary legal terms on all programs in the App Store" (as the FSF put it) when Apple was caught violating the GPL in their distribution of VLC. There's no evidence NeXT accidentally forgot to comply with the GPL back when they commercially distributed their illicit GCC variant to NeXT users. In fact, as Brad Kuhn points out, the FSF has long worked with those not in compliance to silently get them into compliance. We only hear about the cases where the company is obstinately refusing to comply for long periods of time before GPL enforcers at the FSF or Harald Welte (who holds copyright on some code in the Linux kernel) publish details of the ongoing GPL non-compliance. The FSF has a history of seeking compliance rather than punishment. Your characterization of "getting smacked" for accidental infringement is not at all supported by available facts from the aforementioned parties. Regardless of license, how any copyright holder behaves in the face of copyright infringement is up to them, not the GPL.
But the real tip off in your response harkens back to the main misunderstanding of this issue—different values lead to different conclusions. It's important to explicitly draw out those values and conclusions so one isn't led into a trap. The older free software movement doesn't share the same values as the younger open source movement. Caving into business desires for control over the user via proprietary derivatives of free software is okay with the younger open source movement and objectionable to the older free software movement.
The GNU GPL isn't honestly described as an "open source" license because that framing misconstrues what the GPL says and why the GPL exists. The GPL was written by Richard Stallman whose main work since his time at the MIT AI lab has been the pursuit of software freedom for all computer users. Stallman is clear to explain this history and correct people on this issue at virtually every talk I've heard him give, so it's not hard to find a recording of a talk where someone, such as you, tries to position his work in terms of a movement that doesn't agree with his values. The open source movement was founded to "sell" free software to businesses by being silent about the main issue the free software movement stands for—a user's freedom to run, inspect, share, and modify all published computer software. This leads to very different outcomes when faced with reliable, powerful proprietary software. The open source movement does not care for a serious discussion of ensuring user equality of access. So when you frame the FSF and the GPL in terms of "open source" and a priority to get companies to use GPL'd software (thus objecting when companies like Apple can't proprietarize GPL'd software), you fundamentally misunderstand what the free software movement is about and why the GNU Project exists.
The free software movement is not about a popularity contest. A wider audience which comes at the expense of software freedom for all is unwelcome (very much in line with the ethic of "a freedom is a privilege unless enjoyed by one and all"); those acts are called out and carefully explained so others become wise to their tactics. There are businesses that develop and (even commercially) distribute free softwa
-
Re:Or maybe Apple got tired of getting caught.
Except for all the companies that do develop and distribute GPL'd software, notably Cygnus (one firm that charged large sums of money for GCC enhancements) and now Red Hat which bought Cygnus. And there's no evidence Apple "accidentally infringe[d]" when they chose to stop distributing GNU Go rather than include complete corresponding source code after being caught infringing the GPL. There's no evidence accidental infringement was at work when Apple "prefer[ed] to impose Digital Restrictions Management (DRM) and proprietary legal terms on all programs in the App Store" (as the FSF put it) when Apple was caught violating the GPL in their distribution of VLC. There's no evidence NeXT accidentally forgot to comply with the GPL back when they commercially distributed their illicit GCC variant to NeXT users. In fact, as Brad Kuhn points out, the FSF has long worked with those not in compliance to silently get them into compliance. We only hear about the cases where the company is obstinately refusing to comply for long periods of time before GPL enforcers at the FSF or Harald Welte (who holds copyright on some code in the Linux kernel) publish details of the ongoing GPL non-compliance. The FSF has a history of seeking compliance rather than punishment. Your characterization of "getting smacked" for accidental infringement is not at all supported by available facts from the aforementioned parties. Regardless of license, how any copyright holder behaves in the face of copyright infringement is up to them, not the GPL.
But the real tip off in your response harkens back to the main misunderstanding of this issue—different values lead to different conclusions. It's important to explicitly draw out those values and conclusions so one isn't led into a trap. The older free software movement doesn't share the same values as the younger open source movement. Caving into business desires for control over the user via proprietary derivatives of free software is okay with the younger open source movement and objectionable to the older free software movement.
The GNU GPL isn't honestly described as an "open source" license because that framing misconstrues what the GPL says and why the GPL exists. The GPL was written by Richard Stallman whose main work since his time at the MIT AI lab has been the pursuit of software freedom for all computer users. Stallman is clear to explain this history and correct people on this issue at virtually every talk I've heard him give, so it's not hard to find a recording of a talk where someone, such as you, tries to position his work in terms of a movement that doesn't agree with his values. The open source movement was founded to "sell" free software to businesses by being silent about the main issue the free software movement stands for—a user's freedom to run, inspect, share, and modify all published computer software. This leads to very different outcomes when faced with reliable, powerful proprietary software. The open source movement does not care for a serious discussion of ensuring user equality of access. So when you frame the FSF and the GPL in terms of "open source" and a priority to get companies to use GPL'd software (thus objecting when companies like Apple can't proprietarize GPL'd software), you fundamentally misunderstand what the free software movement is about and why the GNU Project exists.
The free software movement is not about a popularity contest. A wider audience which comes at the expense of software freedom for all is unwelcome (very much in line with the ethic of "a freedom is a privilege unless enjoyed by one and all"); those acts are called out and carefully explained so others become wise to their tactics. There are businesses that develop and (even commercially) distribute free softwa
-
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."
-
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."
-
Re:Lincense wars in...
-
Re:Lincense wars in...
Only in how fast it generates code. Code generated by GCC is still faster than code generated by LLVM.
WRONG: GCC generated code is slower than LLVM code.
Plus LLVM generates correct code while GCC generates bugs.
-
Games are different; transition in steps
a Steam Machine can switch to GNOME and run a completely free game.
Fortunately humblebundle is starting to encroach on the Steam situation by noticeably not requiring DRM on a majority of their titles and so does desura.
And you can run these games on your Steam Machine. A Steam Machine runs a free operating system, which is noticeably less evil than a console from a company that has in the past compared startup developers to contestants on American Idol
.Neither of those examples are correct from the Stallman perspective.
I don't believe that the Stallman perspective as you characterize it is the most efficient in a market heavily distorted by video games. The purpose of the GNU project is to provide a source-compatible alternative to the UNIX system under a free software license. U.S. federal courts have ruled that reimplementing a platform from its specification does not infringe (Oracle v. Google). But on the other hand, courts are cracking down on this practice of reimplementation in the field of video games (Tetris v. Xio).
It's already making a compromise by merely being in those situations, merely for the sake of (reason omitted because you sure as hell didn't provide one).
I understand that you are unsatisfied with the level of detail provided in my previous comment. Please first allow me to reason by process of elimination. There are three ways to switch from proprietary applications on a proprietary platform to free applications on a free platform. The first is to replace the applications first. The second is to replace the platform first. The third is to replace both at the same time. In practice, the third has caused interoperability issues that the vast majority of users have found unacceptable because there's no way to do it gradually. The most gentle method of introducing free software, and likely the most successful method is a mix of the first and second methods over four steps.
The first step is to consider what free platforms could eventually replace your proprietary platform. Theoretically, ReactOS is closer to Windows than GNU/Linux is, but I haven't seen evidence that ReactOS is anywhere near the maturity of GNU/Linux.
The second step is to phase out applications exclusive to one platform in favor of applications compatible with the chosen free platform. For example, replace applications exclusive to Windows that do not run in Wine with applications that are ported to GNU/Linux or run in Wine. Preferably these are free applications such as Firefox, GIMP, and LibreOffice, but if no free application is available at the moment, that can wait. Even the Free Software Foundation has realized that a transition has to be done in steps and has begun to compile a list of free applications for Windows as one step.
The third step is to switch to a free platform and bring compatible applications with you. When I switched to GNU/Linux on my laptop, this was relatively painless because I had become comfortable with the result of the second step.
Finally, phase out the proprietary applications. This final phase may never finish if one's workload includes video games.
MS needs to make windows GPLv3
That'd be fine if you could put your money where your mouth is. Implementing your suggestion would cost half of Microsoft's market cap (currently $307.25 billion, therefore $153.63 billion).
Could they still make money in that situation? Absolutely.
Could they make as much money as they used to? I'm skeptical. Such a decision to cut expected earnings per share so drastically would likely make Microsoft the defendant in a shareholder lawsuit.
-
Re:LLVM didn't start at Apple
Can you point me to this offer? I only found this, http://gcc.gnu.org/ml/gcc/2005... which is close to what you say, but there's no explicit offer of copyright assignment, only a feeling that the community would go along with it. The thread went nowhere, and I don't see RMS weighing in. Boy, would I have wished for a GPL'ed LLVM!
But as I said: GCC is not inferior to LLVM even after all these years, so I wouldn't exactly call it a loss to GCC. A setback yes, as now Xcode isn't free, Objective C isn't well-supported in gcc anymore, lots of people badmouth GCC (just look at the comments on this story), the resources Apple threw into LLVM are lost for GCC development etc.
Oh, and I see that I made an editing error in my original mail: I somehow dropped the part where I said that the mail by RMS that made this story was actually a response to ESR's factually challenged e-mail.
-
Re:Non-GPL is not always non-free
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts...
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion)
I am going by what RMS has said himself. Try RMS's posts on gnu.org threads regarding rejecting interoperability features. e.g. https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/...
Or see Joe Buck here: http://gcc.gnu.org/ml/gcc/2007...
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL.
RMS's goal is copyleft, he will take other free software if no other choice, but he is not happy if you choose "free" over GPL - which is, after all, what LLVM/CLang did. To quote RMS directly again:
GCC vs LLVM is important mainly as an instance of fighting for copyleft.
Note, fighting for copyleft, not fighting for free software under any free licence.
And again:
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted
-
Re:Non-GPL is not always non-free
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts...
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion)
I am going by what RMS has said himself. Try RMS's posts on gnu.org threads regarding rejecting interoperability features. e.g. https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/...
Or see Joe Buck here: http://gcc.gnu.org/ml/gcc/2007...
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL.
RMS's goal is copyleft, he will take other free software if no other choice, but he is not happy if you choose "free" over GPL - which is, after all, what LLVM/CLang did. To quote RMS directly again:
GCC vs LLVM is important mainly as an instance of fighting for copyleft.
Note, fighting for copyleft, not fighting for free software under any free licence.
And again:
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted
-
Re:Non-GPL is not always non-free
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts...
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion)
I am going by what RMS has said himself. Try RMS's posts on gnu.org threads regarding rejecting interoperability features. e.g. https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/...
Or see Joe Buck here: http://gcc.gnu.org/ml/gcc/2007...
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL.
RMS's goal is copyleft, he will take other free software if no other choice, but he is not happy if you choose "free" over GPL - which is, after all, what LLVM/CLang did. To quote RMS directly again:
GCC vs LLVM is important mainly as an instance of fighting for copyleft.
Note, fighting for copyleft, not fighting for free software under any free licence.
And again:
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted
-
Re:Non-GPL is not always non-free
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts...
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion)
I am going by what RMS has said himself. Try RMS's posts on gnu.org threads regarding rejecting interoperability features. e.g. https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/..., https://lists.gnu.org/archive/...
Or see Joe Buck here: http://gcc.gnu.org/ml/gcc/2007...
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL.
RMS's goal is copyleft, he will take other free software if no other choice, but he is not happy if you choose "free" over GPL - which is, after all, what LLVM/CLang did. To quote RMS directly again:
GCC vs LLVM is important mainly as an instance of fighting for copyleft.
Note, fighting for copyleft, not fighting for free software under any free licence.
And again:
The existence of LLVM is a terrible setback for our community precisely because it is not copylefted
-
Re:NOW he realizes this?
LLVM/Clang has existed for a while now, and one of the primary motivations behind it was the license, particularly w/ GCC going GPLv3. Suddenly, RMS one day wakes up and realizes that it's not copyleft? That's the very idea!
Actually RMS didn't just wake up and realized that. He was indirectly replying to a flame started by the usual open source master troll, Eric S. Raymond. A pity the summary doesn't mention ESR at all and phoronix misses the real start of the discussion.
-
LLVM didn't start at Apple
Factually incorrect: LLVM was started at the University of Illinois (see wikipedia). Apple essentially bought it when they decided that they didn't want to go GPLv3 (probably out of fear that the patent clauses would make it harder for them to sue Samsung or something, I would really love if someone could explain to me what's wrong about the GPLv3. Tivoization?). Now the biggest company on Earth has been pumping money into it for several years, and GCC is still as good or ahead. Perhaps GCC's structure isn't as bad as people make it out to be
... Imagine if there wouldn't have been LLVM perhaps Xcode would be Free?Concerning this story it might be worth pointing out that ESR tried to start a flamewar on the GCC lists with a factually incorrect rant (factoids that people around here also seem to believe are true, like "llvm error messages are better" -- gcc did a lot of work in that regard, "GCC doesn't want to be modular" -- actually, they're working on that, "GCC doesn't allow plugins or being plugged in" -- nonsense, anecdotal evidence about better optimization in LLVM etc.)
ESR's two rants can be found here and here (didn't take him too long to use a gun metaphor), replies from the gcc communities are downthread. There you will also find the most common myths about GCC and LLVM disspelled.
-
LLVM didn't start at Apple
Factually incorrect: LLVM was started at the University of Illinois (see wikipedia). Apple essentially bought it when they decided that they didn't want to go GPLv3 (probably out of fear that the patent clauses would make it harder for them to sue Samsung or something, I would really love if someone could explain to me what's wrong about the GPLv3. Tivoization?). Now the biggest company on Earth has been pumping money into it for several years, and GCC is still as good or ahead. Perhaps GCC's structure isn't as bad as people make it out to be
... Imagine if there wouldn't have been LLVM perhaps Xcode would be Free?Concerning this story it might be worth pointing out that ESR tried to start a flamewar on the GCC lists with a factually incorrect rant (factoids that people around here also seem to believe are true, like "llvm error messages are better" -- gcc did a lot of work in that regard, "GCC doesn't want to be modular" -- actually, they're working on that, "GCC doesn't allow plugins or being plugged in" -- nonsense, anecdotal evidence about better optimization in LLVM etc.)
ESR's two rants can be found here and here (didn't take him too long to use a gun metaphor), replies from the gcc communities are downthread. There you will also find the most common myths about GCC and LLVM disspelled.
-
Ubuntu?!
Not a great choice, sorry.
1. http://fixubuntu.com/
2. http://gnu.org/distros/common-... -
Re:Sorry man, but not everyone agrees with you
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts, but that can't be controlled with copyright licence because simply reading / producing e.g an intermediate language does not make a derivative work.
Actually, yes, it does, or at least that's what RMS believes.
To be specific, the output of gcc strictly from your source code would not be a derivative work. But, in practice, there's always a runtime library, even if it's very small (e.g. the entrypoint that calls "main") - and that library is under GPL. So the output is normally a derivative work.
Now if you read the libstdc++ license, it has a specific exemption for the output of gcc linked with it:
You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice,consistent with the licensing of the Independent Modules.
The catch is in how "target code" and "eligible compilation process" is defined:
"Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.
A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.
So they are intentionally excluding the GPL exemption for output for anything that works with any intermediate representation.
Here is a detailed write-up where they explain what exactly they did and why.
-
Re:Sorry man, but not everyone agrees with you
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts, but that can't be controlled with copyright licence because simply reading / producing e.g an intermediate language does not make a derivative work.
Actually, yes, it does, or at least that's what RMS believes.
To be specific, the output of gcc strictly from your source code would not be a derivative work. But, in practice, there's always a runtime library, even if it's very small (e.g. the entrypoint that calls "main") - and that library is under GPL. So the output is normally a derivative work.
Now if you read the libstdc++ license, it has a specific exemption for the output of gcc linked with it:
You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice,consistent with the licensing of the Independent Modules.
The catch is in how "target code" and "eligible compilation process" is defined:
"Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation.
The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors.
A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process.
So they are intentionally excluding the GPL exemption for output for anything that works with any intermediate representation.
Here is a detailed write-up where they explain what exactly they did and why.
-
Re:Lincense wars in...Error messages are only slightly better in clang, because GCC has improved since version 4.2, and now even clang developers themselves explain that clang is better in caret positioning and colouring, which I wouldn't call being a generation ahead. See what the GCC wiki says about that.
Clang is slightly faster than GCC, when compiling at the same optimization level.
Clang is written in C++ and modular, and as result of this, it is more embeddable in third party projects and it can target multiple platforms with a single executable. Work is being done in GCC to address this but I'm talking about released code here.
But when we consider less "hip" features, GCC makes faster code (which is usually the foremost interest of a compiler's user). And GCC supports more target platforms. And GCC supports more language features (FORTRAN, OpenMP, VLAIS).
A GCC developer's benchmark about GCC's vs clang's speed of compilation and of the resulting code.
-
Power and freedom are not the same thing.
You'd be better served by using the words "software freedom" as those words are entirely appropriate to describe a user's freedom to run, inspect, share, and modify computer software thus giving them control over their computer. It's perfectly natural for one to ask "which freedoms are you referring to?" and for you to explain. This is an opportunity for discussion and understanding, in other words learning. When someone misuses language you benefit their efforts by abdicating a proper use of language, tacitly accepting their distortion. There is a difference between power and freedom and in the context of slavery, what slavers want is the power to abuse another human being. Society needs more people to point out misuses of language and not give up in the face of those that disagree.
-
Non-GPL is not always non-free
RMS does not want GCC to play any part in a toolchain/process which might have non-GPL parts...
Actually, Eric Raymond quoting Chandler Carruth who is allegedly quoting RMS (the closest thing to a relevant source I could find for your undefended assertion) says something different than what you claim:
Carruth then quotes RMS: "One of our main goals for GCC is to prevent any parts of it from being used together with non-free software. Thus, we have deliberately avoided many things that might possibly have the effect of facilitating such usage..."
Non-GPL'd software is not always the same as non-free software and the terms are not interchangeable. There are plenty of free software licenses that aren't the GPL. I doubt RMS' goal was to punish those who choose a license other than the GPL. Quite to the contrary, the GNU Project is very careful to describe the implications of various licenses (including the preservation of software freedom for derivative works via copyleft); RMS wants people to make informed license choices and categorizes licenses descriptively to that end. At the same time, he wants to avoid handing the enemies of software freedom valuable work as this could end up being a force for defeating what he's working to ensure. As he said in one of his talks (from 2013-08-05 at New York University, if I recall correctly), it is seen as shocking these days to act against something you despise. In the context of this thread, it goes to show how effectively people have been taught to favor dependence and convenience and not taught to value their freedom to run, share, and modify computer software to control their computers.
-
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.
-
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.
-
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.
-
"Free" and "Open" are not the same.
Seems to me RMS does not actually believe that an open development model is better, since he feels the need to force people into it.
Actually, RMS has made it clear (1, 2, 3) that he is not a proponent of "an open development model" because the open source development methodology purposefully does not talk about the ethics of that choice, ethics which can sometimes create ugly rights-losing ramifications for all computer users (spying, for instance, is a lot more easily done with non-free software). Putting techincal advances in non-copylefted software licensed to respect a user's software freedom helps proprietors distribute proprietary derivatives which makes their spying easier. RMS' older free software movement is different from the younger open source movement on this key point, and there are many practical consequences that come from this key philosophical difference. The essays go into detail on this as does just about every talk I've ever heard RMS give.
I'm not aware of this "force" you speak of RMS wielding against computer users. I'm aware of how RMS uses logical argument to convince people to see things his way, but this is not at all force. Please do provide specific examples backing your (as yet unfounded) assertion.
-
"Free" and "Open" are not the same.
Seems to me RMS does not actually believe that an open development model is better, since he feels the need to force people into it.
Actually, RMS has made it clear (1, 2, 3) that he is not a proponent of "an open development model" because the open source development methodology purposefully does not talk about the ethics of that choice, ethics which can sometimes create ugly rights-losing ramifications for all computer users (spying, for instance, is a lot more easily done with non-free software). Putting techincal advances in non-copylefted software licensed to respect a user's software freedom helps proprietors distribute proprietary derivatives which makes their spying easier. RMS' older free software movement is different from the younger open source movement on this key point, and there are many practical consequences that come from this key philosophical difference. The essays go into detail on this as does just about every talk I've ever heard RMS give.
I'm not aware of this "force" you speak of RMS wielding against computer users. I'm aware of how RMS uses logical argument to convince people to see things his way, but this is not at all force. Please do provide specific examples backing your (as yet unfounded) assertion.
-
"Free" and "Open" are not the same.
Seems to me RMS does not actually believe that an open development model is better, since he feels the need to force people into it.
Actually, RMS has made it clear (1, 2, 3) that he is not a proponent of "an open development model" because the open source development methodology purposefully does not talk about the ethics of that choice, ethics which can sometimes create ugly rights-losing ramifications for all computer users (spying, for instance, is a lot more easily done with non-free software). Putting techincal advances in non-copylefted software licensed to respect a user's software freedom helps proprietors distribute proprietary derivatives which makes their spying easier. RMS' older free software movement is different from the younger open source movement on this key point, and there are many practical consequences that come from this key philosophical difference. The essays go into detail on this as does just about every talk I've ever heard RMS give.
I'm not aware of this "force" you speak of RMS wielding against computer users. I'm aware of how RMS uses logical argument to convince people to see things his way, but this is not at all force. Please do provide specific examples backing your (as yet unfounded) assertion.
-
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
-
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
-
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
-
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
-
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:Sorry man, but not everyone agrees with you
Why does Apple use LLVM?
1. They hired Chris Lattner
2. LLVM has a more modern back-end (better suited to leverage high level optimization techniques across architectures, say x86, x86-64, PowerPC, Arm)Of course copyright reassignment (or release to the public domain) is required for GCC contributions, LLVM only requires that copyright holder to agree to release the code under the terms of the LLVM license. Tight integration of the XCODE developer tools might be problematic had Apple stuck with GCC.
-
Re:LLVM was offered for GCC-Next
Holy moly, I thought you were joking about that:
http://gcc.gnu.org/ml/gcc/2004...
http://gcc.gnu.org/ml/gcc/2007...
Are we really supposed to be rooting for the people who will only share if they get something in return, and will intentionally make things difficult to try to get their way? That's hardly the noble cause they make it out to be. And then when LLVM tries to be as easy to use as possible and doesn't ask for anything in return, they belittle it. -
Re:LLVM was offered for GCC-Next
Holy moly, I thought you were joking about that:
http://gcc.gnu.org/ml/gcc/2004...
http://gcc.gnu.org/ml/gcc/2007...
Are we really supposed to be rooting for the people who will only share if they get something in return, and will intentionally make things difficult to try to get their way? That's hardly the noble cause they make it out to be. And then when LLVM tries to be as easy to use as possible and doesn't ask for anything in return, they belittle it. -
Re:NOW he realizes this?
"LLVM/Clang has existed for a while now, and one of the primary motivations behind it was the license"
Complete and utter bullshit
..." If people are seriously in favor of LLVM being a long-term part of GCC, I personally believe that the LLVM community would agree to assign the copyright of LLVM itself to the FSF and we can work through these details."
-
Re:Precisely
But isn't that why libraries are (or should) be licensed under the LGPL, so that there are no "viral" issues? You're not even allowed to link to an LGPL library?
RMS doesn't really like the LGPL. The first L used to stand for "Library" but these days it stands for "Lesser" to indicate its proper place. RMS would rather all libraries be GPL. (Of course, RMS would rather all software of any sort be GPL.)
https://www.gnu.org/licenses/why-not-lgpl.html
LGPL actually contains some strange provisions that can be a deal breaker. For example, LGPL requires that you take no steps to prevent your customers from reverse-engineering your software. I once worked on a project where part of the technology stack came with a legal requirement to take steps to prevent customers from reverse-engineering, so LGPL was just as radioactive as GPL.
IMHO, LGPL is not a good license and should go away. It should be replaced by the GUILE license, which is simply GPL with an exception: linking the library does not in any way invoke the viral GPL features. So, if you fix bugs or add features in the library, you must share your code so other users of the library gain the benefit; but you are free to link the library with proprietary software if you wish.
The above will not happen, as RMS and the FSF consider the viral aspects of GPL to be a feature.
-
Re:Precisely
But isn't that why libraries are (or should) be licensed under the LGPL
Not according to the official position of RMS & the FSF: Why you shouldn't use the Lesser GPL for your next library.
That article, by the way, is what soured me to the FSF. Their rationale behind the licensing of the readline library is a little too much like "embrace, extend, extinguish" for my taste. (Yes, yes. There are differences, both practical and philosophical. But the justifications always seem to hew close to "freedom fighter"/"terrorist" hairsplitting: "Our methods are justified because our aim is noble.")
-
Re:It's about tactics: GPL helps free software
Background reading:
BSD, LGPL, and GPL are all free software licences. The user gets the same four freedoms in each case (use, study, modify, redistribute). But, using the BSD licence (or the LGPL) takes away an incentive to contribute to the free software project.
GCC's technical advances create a big incentive for developers who are interested in compilers, and for companies with a commercial interest in a good compiler existing for their platform, to contribut to GCC - helping free software whether that's their priority or not. With a BSD-licence project, developers can choose to ignore GCC and fork LLVM instead, so neither GCC nor LLVM benefits.
LLVM weakens GCC's ability to attract free software contributors. That's why Apple funds LLVM.
It's not difficult to see which approach works best: Which OS has more contributors, *BSD or GNU/Linux?
I work in a commercial software development company. We use OSS components, and we contribute back to the projects. They are all BSD/Apache variants. Our lawyers have forbidden us to touch anything GPL under any circumstances. It isn't as simple as many here claim that it is about whether we want to be contributors or freeloaders. We do contribute back in the OSS projects we use. But GPL is viral, and can very easily infect and "liberate" proprietary IP that is part of the solution. That is a no go. As for "which OS has more contributors", which web server has more contributors?
:) -
Re:It's about tactics: GPL helps free software
Background reading:
BSD, LGPL, and GPL are all free software licences. The user gets the same four freedoms in each case (use, study, modify, redistribute). But, using the BSD licence (or the LGPL) takes away an incentive to contribute to the free software project.
GCC's technical advances create a big incentive for developers who are interested in compilers, and for companies with a commercial interest in a good compiler existing for their platform, to contribut to GCC - helping free software whether that's their priority or not. With a BSD-licence project, developers can choose to ignore GCC and fork LLVM instead, so neither GCC nor LLVM benefits.
LLVM weakens GCC's ability to attract free software contributors. That's why Apple funds LLVM.
It's not difficult to see which approach works best: Which OS has more contributors, *BSD or GNU/Linux?
I work in a commercial software development company. We use OSS components, and we contribute back to the projects. They are all BSD/Apache variants. Our lawyers have forbidden us to touch anything GPL under any circumstances. It isn't as simple as many here claim that it is about whether we want to be contributors or freeloaders. We do contribute back in the OSS projects we use. But GPL is viral, and can very easily infect and "liberate" proprietary IP that is part of the solution. That is a no go. As for "which OS has more contributors", which web server has more contributors?
:) -
Re:GPL and BSD give uses the same freedoms
For example if I write a hello world program in C++ and iostream.h is GPL. Then hello world can't be released unless it also is GPL. See the problem?
Wrong GCC libraries are GPL with an exception, for example
As a special exception, you may use this file as part of a free software
library without restriction. Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License. This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License. -
Re:It's really simple...
People are focusing on BSD versus GPL, but really, the thing to see here is Stallman's definition of "community". If you would ever let your software be used by for-profit interests, you are not part of the community he is speaking of, and claims to speak for. It's just that simple, no flamage or politics implied by saying that.
You're so wrong. Stallman is all for selling free software. [1] What he opposes is making software proprietary, which is what non-copyleft free software licenses allow. Do your homework next time before commenting, thank you...