<story><title>Why I am pro-GPL</title><url>http://dustycloud.org/blog/why-i-am-pro-gpl/</url></story><parent_chain><item><author>SomeCallMeTim</author><text>* As pointed out by another commenter, Apple switched away from GCC as the default to CLANG.&lt;p&gt;* Microsoft is supporting CLANG.&lt;p&gt;* Android switched from GCC default to CLANG default.&lt;p&gt;* The CLANG development community, combined with the LLVM development community, are both extremely robust.&lt;p&gt;* GCC used to have full time commercial developer contributors working for Google and Apple and other large companies; most such companies have migrated almost entirely to CLANG&amp;#x2F;LLVM support.&lt;p&gt;* Because of better management and the army of full time commercial developers contributing to it, CLANG is better in practically every conceivable way at this point than GCC. If GCC weren&amp;#x27;t GPL, CLANG would likely be (at most) a fork of GCC, and may have been merged back into trunk by now (this happened to GCC once before).&lt;p&gt;CLANG is also an excellent example of how a completely permissive license &lt;i&gt;can&lt;/i&gt; be sufficient to encourage big companies to contribute their changes back to the commons. All of the GPL fearmongering would have you believe that CLANG couldn&amp;#x27;t exist, and yet it thrives.&lt;p&gt;And printer drivers are still almost all proprietary [1]. So GPL didn&amp;#x27;t even achieve the objective that inspired it.&lt;p&gt;GPL did prove that open source CAN work, and it jumpstarted the open source movement. But its time has past; enough people understand the benefits of contributing to open source that the coercion is no longer necessary, and in fact is harmful.&lt;p&gt;[1] Some printer drivers have been reverse-engineered for Linux, certainly. But modern printers frequently leave so much processing for the host that their drivers are nontrivial, and even when there exists &amp;quot;free&amp;quot; drivers for Linux, they pale in comparison feature-wise to the proprietary drivers. I&amp;#x27;m sure there are exceptions.</text></item><item><author>dman</author><text>Could you provide some supporting arguments &amp;#x2F; evidence for this statement - &amp;quot;GCC used to be the king of the compiler heap; now it&amp;#x27;s well on its way to becoming an historical footnote.&amp;quot; ?</text></item><item><author>SomeCallMeTim</author><text>&amp;gt;Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache.&lt;p&gt;Yeah, and because of the additional restrictions of GPL, big companies are simply avoiding it or writing software to replace it.&lt;p&gt;See: CLANG&amp;#x2F;LLVM. GCC used to be the king of the compiler heap; now it&amp;#x27;s well on its way to becoming an historical footnote.&lt;p&gt;It&amp;#x27;s &lt;i&gt;far&lt;/i&gt; better to convince people to help you by being trusting and generous than by coercion. The GPL uses coercion.&lt;p&gt;Yes, some companies use BSD&amp;#x2F;MIT software and lock it up, never to send improvements back upstream. But they ultimately are harming themselves, as they can&amp;#x27;t trivially update to new versions of the the software, because they&amp;#x27;re now maintaining a fork, and the longer their code diverges, the harder it will be to maintain. So they &lt;i&gt;are&lt;/i&gt; motivated to send improvements upstream. And many (most?) big companies do.&lt;p&gt;When there&amp;#x27;s another game in town, people will play the one where they&amp;#x27;re more welcome. Open source software benefits by many eyes and many hands; the GPL (especially GPLv3) cuts off access to just about everyone in big companies, which means the size of the potential user base is a fraction of what it &lt;i&gt;can&lt;/i&gt; be.&lt;p&gt;Linux is a notable exception, obviously. But with Linux there&amp;#x27;s a clear way to use it that doesn&amp;#x27;t risk your proprietary code. Most other software, not so much.</text></item><item><author>jbk</author><text>&amp;gt; I&amp;#x27;m not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user freedom due to their greater acceptance.&lt;p&gt;Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache.</text></item><item><author>epistasis</author><text>And that&amp;#x27;s a great thing to care about, and a great reason to create a license. The secondary question is: which license is best at perpetuating user freedom? This is a separate question than that of whether users &lt;i&gt;should&lt;/i&gt; have freedom to mess with code. IMHO, the GPL is not the best license for perpetuating the most user freedom. Many people disagree with me on this, but their disagreement usually comes down to &amp;quot;the GPL is best for user freedom because it was created for user freedom and RMS is talking about user freedom.&amp;quot; I&amp;#x27;m not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user freedom due to their greater acceptance.</text></item><item><author>TazeTSchnitzel</author><text>It&amp;#x27;s worth remembering why the GPL was invented.&lt;p&gt;Stallman had a printer which had proprietary drivers, and he wanted to fix an issue with the driver. He couldn&amp;#x27;t. He created the GPL so that, in future, people wouldn&amp;#x27;t have this problem.&lt;p&gt;Stallman created the GPL because he cared about user freedom.</text></item></parent_chain><comment><author>timtadh</author><text>LLVM was not created as reaction against the licensing model of GCC. It was created as a research project exploring: &amp;quot;transparent, lifelong program analysis and transformation for arbitrary programs.&amp;quot;[1] GCC and other compilers were not setup to do this. They needed to build an intermediate representation of a kind that was highly unusual for the time. That is where it originated, as pure research. Trying to build a better mouse trap. Not to become a GCC competitor. It did become one because it turned out they had some rather good ideas!&lt;p&gt;The GPL is not harmful and I encourage you to utilize it when appropriate for it protects you (the original author) and your target users far more than BSD or other similar licenses.&lt;p&gt;[1] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;llvm.org&amp;#x2F;pubs&amp;#x2F;2004-01-30-CGO-LLVM.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;llvm.org&amp;#x2F;pubs&amp;#x2F;2004-01-30-CGO-LLVM.html&lt;/a&gt; Read full paper not just the abstract to get the full picture.</text></comment>
<story><title>Why I am pro-GPL</title><url>http://dustycloud.org/blog/why-i-am-pro-gpl/</url></story><parent_chain><item><author>SomeCallMeTim</author><text>* As pointed out by another commenter, Apple switched away from GCC as the default to CLANG.&lt;p&gt;* Microsoft is supporting CLANG.&lt;p&gt;* Android switched from GCC default to CLANG default.&lt;p&gt;* The CLANG development community, combined with the LLVM development community, are both extremely robust.&lt;p&gt;* GCC used to have full time commercial developer contributors working for Google and Apple and other large companies; most such companies have migrated almost entirely to CLANG&amp;#x2F;LLVM support.&lt;p&gt;* Because of better management and the army of full time commercial developers contributing to it, CLANG is better in practically every conceivable way at this point than GCC. If GCC weren&amp;#x27;t GPL, CLANG would likely be (at most) a fork of GCC, and may have been merged back into trunk by now (this happened to GCC once before).&lt;p&gt;CLANG is also an excellent example of how a completely permissive license &lt;i&gt;can&lt;/i&gt; be sufficient to encourage big companies to contribute their changes back to the commons. All of the GPL fearmongering would have you believe that CLANG couldn&amp;#x27;t exist, and yet it thrives.&lt;p&gt;And printer drivers are still almost all proprietary [1]. So GPL didn&amp;#x27;t even achieve the objective that inspired it.&lt;p&gt;GPL did prove that open source CAN work, and it jumpstarted the open source movement. But its time has past; enough people understand the benefits of contributing to open source that the coercion is no longer necessary, and in fact is harmful.&lt;p&gt;[1] Some printer drivers have been reverse-engineered for Linux, certainly. But modern printers frequently leave so much processing for the host that their drivers are nontrivial, and even when there exists &amp;quot;free&amp;quot; drivers for Linux, they pale in comparison feature-wise to the proprietary drivers. I&amp;#x27;m sure there are exceptions.</text></item><item><author>dman</author><text>Could you provide some supporting arguments &amp;#x2F; evidence for this statement - &amp;quot;GCC used to be the king of the compiler heap; now it&amp;#x27;s well on its way to becoming an historical footnote.&amp;quot; ?</text></item><item><author>SomeCallMeTim</author><text>&amp;gt;Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache.&lt;p&gt;Yeah, and because of the additional restrictions of GPL, big companies are simply avoiding it or writing software to replace it.&lt;p&gt;See: CLANG&amp;#x2F;LLVM. GCC used to be the king of the compiler heap; now it&amp;#x27;s well on its way to becoming an historical footnote.&lt;p&gt;It&amp;#x27;s &lt;i&gt;far&lt;/i&gt; better to convince people to help you by being trusting and generous than by coercion. The GPL uses coercion.&lt;p&gt;Yes, some companies use BSD&amp;#x2F;MIT software and lock it up, never to send improvements back upstream. But they ultimately are harming themselves, as they can&amp;#x27;t trivially update to new versions of the the software, because they&amp;#x27;re now maintaining a fork, and the longer their code diverges, the harder it will be to maintain. So they &lt;i&gt;are&lt;/i&gt; motivated to send improvements upstream. And many (most?) big companies do.&lt;p&gt;When there&amp;#x27;s another game in town, people will play the one where they&amp;#x27;re more welcome. Open source software benefits by many eyes and many hands; the GPL (especially GPLv3) cuts off access to just about everyone in big companies, which means the size of the potential user base is a fraction of what it &lt;i&gt;can&lt;/i&gt; be.&lt;p&gt;Linux is a notable exception, obviously. But with Linux there&amp;#x27;s a clear way to use it that doesn&amp;#x27;t risk your proprietary code. Most other software, not so much.</text></item><item><author>jbk</author><text>&amp;gt; I&amp;#x27;m not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user freedom due to their greater acceptance.&lt;p&gt;Well, the GPL mandates the right to use the application, and that a redistributor cannot restrict it (section 0, preambule and section 6, IIRC); that right is not guaranteed by MIT, BSD, MPL or Apache.</text></item><item><author>epistasis</author><text>And that&amp;#x27;s a great thing to care about, and a great reason to create a license. The secondary question is: which license is best at perpetuating user freedom? This is a separate question than that of whether users &lt;i&gt;should&lt;/i&gt; have freedom to mess with code. IMHO, the GPL is not the best license for perpetuating the most user freedom. Many people disagree with me on this, but their disagreement usually comes down to &amp;quot;the GPL is best for user freedom because it was created for user freedom and RMS is talking about user freedom.&amp;quot; I&amp;#x27;m not yet convinced that MIT-like, BSD-like, and Apache-like are any worse at perpetuating user freedom, and may in fact be far better at perpetuating user freedom due to their greater acceptance.</text></item><item><author>TazeTSchnitzel</author><text>It&amp;#x27;s worth remembering why the GPL was invented.&lt;p&gt;Stallman had a printer which had proprietary drivers, and he wanted to fix an issue with the driver. He couldn&amp;#x27;t. He created the GPL so that, in future, people wouldn&amp;#x27;t have this problem.&lt;p&gt;Stallman created the GPL because he cared about user freedom.</text></item></parent_chain><comment><author>nickpsecurity</author><text>Like other commenters, I think GPL had little to do with switch to Clang&amp;#x2F;LLVM. I liked it for its better, versatile design with a community turning it into the program analysis&amp;#x2F;transformation baseline to beat them all (minus Semantic Design stuff maybe). However, I think your overall point is supported by the fact that many virtualization solutions in embedded space are marketing GPL isolation as a benefit worth buying them. They probably wouldn&amp;#x27;t be saying it unless they had lots of customers talking about that problem.</text></comment>