No announcement yet.

C++11 & The Long-Term Viability Of GCC Is Questioned

  • Filter
  • Time
  • Show
Clear All
new posts

  • #91
    Originally posted by brosis View Post
    For example, a lazy search of GPL3: /tools/testing/selftests/mqueue/mq_perf_tests.c
    This is not part of kernel.


    • #92
      Originally posted by koffie View Post
      May I point out that quite some embedded devices use BSD (I worked on quite some), of most of them you'll just never realize. Also, since OSX is a "BSD" by heart, I wouldn't really dare to call it a failure. It has a larger desktop market share than linux (servers offc is another thing). And if you're talking about licenses, I think GPLv3 was a major mistake, and a huge turnoff for a lot of developers. There is a reason Linus refuses to adopt GPLv3 for the kernel, and I completely share his point of view.
      Let me show you how stupid this part of your comment is. It doesn't matter if some dev hidden in his basement takes some BSD code and includes it in his project. BSD gets nothing from it and it's not the reason to be proud. It's the reason to put your head down and go home, because you've just been fooled. It's like someone saying his proud, because Gates is breathing his air. It's such stupid. Furthermore, it's Linux, GPL that has much higher marketshare than BSD. You can only dream about BSD to run on such great number of devices like Linux does: TVs, tuners and God knows what else. What's more funny it's Linux kernel that runs on these devices not some random BSD bits patched together like in yours flagship example. iPhone, OS X are not BSD by heart, they just use BSD userspace in some part and not BSD kernel. When comes to GPLv3 it's very good license, far more popular than BSD. Linus simply doesn't want to relicense kernel, because it would take a huge amount of resources and time. There's no need to relicense it.

      And if you're talking compilers, clang is in a lot of areas far superior to GCC, certainly from the point of view of a developer. Clang is just a joy to work with. A lot faster compiles, certainly when using template code, and actual meaningful errors which most of the time point to exactly the right problem. Not 4 pages of meaningless spaghetti errors for 1 forgotten ";" in old template code you haven't changed in months, which GCC compiled just fine just because you didn't use that specific specialization anywhere until then. I've been there, happy hunting if you're in that situation. I can only recommend setting the CC environment variable to "clang" and CXX to "clang++" in a case like that, it'll save you some time. It errors catches any template code, used or not, unlike GCC.
      In fact, clang right now is my default compiler in my development environment. And while clang's 'scan-build' static analyzer isn't as far as I hoped, it does some things well and is improved every release. Something like this is doesn't even exist in the gcc tool-chain. If more and more developers discover what day-to-day advantages clang has over GCC, it will get used more and more, at the expense of GCC.
      When comes to this part I partially agree. I'm not against it and when it will become faster than GCC I see no reason to not use it.

      So GPL winning? As long as developers stand behind it, and I'm afraid it's going to lose ground here.
      I think you meant GCC, because GPL simply owns any other Open Source license.


      • #93
        Originally posted by LightBit View Post
        This is not part of kernel.
        It is distributed in kernel source code package, so it is.
        Also, there are various files stating "licensed under GPL." (without version) or "GPL 2 or later".

        Anyways: /Documentation/development-process/1.Intro

        1.5: LICENSING

        Code is contributed to the Linux kernel under a number of licenses, but all
        code must be compatible with version 2 of the GNU General Public License
        (GPLv2), which is the license covering the kernel distribution as a whole.
        In practice, that means that all code contributions are covered either by
        GPLv2 (with, optionally, language allowing distribution under later
        versions of the GPL) or the three-clause BSD license.
        Any contributions
        which are not covered by a compatible license will not be accepted into the

        Copyright assignments are not required (or requested) for code contributed
        to the kernel. All code merged into the mainline kernel retains its
        original ownership; as a result, the kernel now has thousands of owners.

        One implication of this ownership structure is that any attempt to change
        the licensing of the kernel is doomed to almost certain failure. There are
        few practical scenarios where the agreement of all copyright holders could
        be obtained (or their code removed from the kernel). So, in particular,
        there is no prospect of a migration to version 3 of the GPL in the
        foreseeable future.
        So, its GPL2 or later plus BSD as option, and no migration from GPL2 to 3, because Linus considers it a difficult and worthless task. Exactly as I wrote.


        • #94
          Originally posted by koffie View Post
          And just to be clear. I love GPLv2, but I will never release any code under GPLv3. It is too much of a burden on me, a developer. I don't want to be involved in idealistic intellectual wars, and GPLv3 forces this upon me without any additional benefits to me.
          Originally posted by gamerk2 View Post
          Co-signed. I will never release any of my work under GPLv3 for much the same reasons as you.
          First, the "wars" are not "idealistic" - they are legal and they are to follow as laws.

          Secondly, the only "burden" is the difference between GPL2 and 3 - a protection against tiviosation and patent issues.

          So you two basically said "We write closed source code and we don't give a damn about freedoms". Then use BSD license.

          I think, the best way out of situation is for RMS and FSF to nullify the GPL2 and to provide any "protection" only if the code is migrated to GPL3, and license header explicitly states "GPL3 and later"

          FSF and RMS stayed true to their mission, while you guys are a disgrace.
          Last edited by brosis; 29 January 2013, 03:57 PM.


          • #95
            Originally posted by gamerk2 View Post
            Co-signed. I will never release any of my work under GPLv3 for much the same reasons as you.
            And I sign to never voluntarily release any of my work under GPLv2, because it's an outdated license. Good day to you.


            • #96
              Originally posted by brosis View Post
              It is distributed in kernel source code package, so it is.
              So kernel source code package is kernel?

              /tools/testing/selftests/mqueue/mq_perf_tests.c is compiled as a separate binary with no link to kernel, exept system calls and it's for developers.
              Last edited by LightBit; 29 January 2013, 04:18 PM.


              • #97
                Originally posted by kraftman View Post
                Don't you see GPL owns OS licenses and bsd remains meaningless?
                Then why is gpl use decreasing and BSD use increasing?


                • #98
                  Originally posted by yogi_berra View Post
                  Then why is gpl use decreasing and BSD use increasing?
                  Because a few companies are pumping big money into them? Particularly into projects meant to replace the GPL versions.

                  There hasn't been a huge change, in any case. Fluctuations are normal.

                  There will always be people who prefer the BSD license. There will also always be projects where the BSD license is the right choice, and even RMS agrees with this: free codecs, reference implementations of basic scientific algorithms, reference implementations of standards, etc. There's lots of that going on: Mesa, OpenCV, ROS, LLVM,, Wayland, WebM... and it makes sense for those projects. It is also a good license for stuffing holes in proprietary operating systems.

                  But if you're imagining some great downfall of copyleft, then you're way mistaken. GPL (and variants thereof) is still the absolutely dominant license in the FLOSS landscape. And it will remain this way:

                  - Linux is absolutely dominant as a kernel and unlikely to give up this position.
                  - All our html rendering engines are (L)GPL: Gecko, KHTML and Webkit
                  - Most of our productivity suites are (L)GPL: LibreOffice, Calligra, Gnumeric, Abiword... (OpenOffice has been relicensed since the fork, but it is dying)
                  - All of our toolkits are (L)GPL: Qt, GTK+ (unless you count EFL or Athena)
                  - Most of our media infrastructure is (L)GPL: ffmpeg, x264, LAME, VLC, MPlayer, GStreamer, PulseAudio...

                  Good luck replacing any of those with a BSD-licensed equivalent.
                  Last edited by pingufunkybeat; 29 January 2013, 09:25 PM.


                  • #99
                    The garbage viral GPL dying has been a huge leap forward for open source software development.

                    GPL software is synonymous with failure:

                    * The various crappy dead GPL Linux phones that no one wanted until Google and its developer and user friendly BSD style license came along and now utterly dominate the cellphone world. And thanks to the BSD style license there is an explosion in open source development for Android because no one has to worry about the garbage GPL.

                    * The POS GCC toolchain screwed up by sickening GNU ideology. Apple gets sick of having to deal with the POS GCC tools and starts funding Clang/LLVM and the compiler world sees an absolute explosion in code sharing and development thanks to the free and developer friendly BSD style license.

                    The only thing keeping the garbage viral GPL from complete irrelevance is Linus's boneheaded mistake years ago of going with it for the Linux kernel.


                    • Originally posted by yogi_berra View Post
                      Then why is gpl use decreasing and BSD use increasing?
                      First off there is no such fact, we have one company (black duck software) making these claims, a proprietary company setup by ex-microsoft employees, their claims mean jack-shit to me and have had no validity anywhere else in the industry from what I can see. Only trolls like to link to their 'findings'.

                      Lookin past that, given that web development is exploding and that the type of code which is the main basis of this ecosystem (frameworks/components/libraries) tend to be more permissively licenced (MIT/BSD/LGPL/MPL etc), I would not be surprised that the huge amount of current development in this area would result in more permissively licenced code than copyleft code being released at the moment. But I sure would need more reliable data than the claims of 'black duck software' before I take it as fact, that's for sure.

                      In short, permissive and copyleft licences serve different needs, the need which is currently most satisfied will be reflected in current licence use. In the larger scope of things, both types of licencing are a rock solid part of the open source ecosystem and will remain so.