Announcement

Collapse
No announcement yet.

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

Collapse
X
  • 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.

    Comment


    • #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.

      Comment


      • #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
        kernel.

        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.

        Comment


        • #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; 01-29-2013, 02:57 PM.

          Comment


          • #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.

            Comment


            • #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; 01-29-2013, 03:18 PM.

              Comment


              • #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?

                Comment


                • #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, X.org, 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; 01-29-2013, 08:25 PM.

                  Comment


                  • #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.

                    Comment


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

                      Comment


                      • Originally posted by -MacNuke- View Post
                        Try to use it...
                        Since you claim to have, please inform me of GCC's C++11 shortcomings as opposed to Clang's C++11 support.

                        Comment


                        • Originally posted by gamerk2 View Post
                          Pardon me for saying, but its not like SW development is going to screech to a halt if C++1x support isn't added for a few months.
                          I'm not following you, the idea was to 'put GCC in the garage for two years' to do refactoring across the whole toolchain, not to add C++1x support, or did I miss something?

                          Comment


                          • Originally posted by brosis View Post
                            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.
                            The only disgrace here is this "how dare you not try to force others to give me free stuff" attitude of yours.

                            Originally posted by pingufunkybeat View Post
                            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, X.org, 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.
                            The only thing you mentioned that is actually GPL licensed is the Linux kernel. For most practical purposes, a GPL licensed kernel is effectively the same as a GPL licensed kernel. The only differences occur when you want to distribute proprietary code as part of it or reuse code from it somewhere else.
                            Last edited by ryao; 01-29-2013, 09:52 PM.

                            Comment


                            • Originally posted by koffie View Post
                              The problem with GPLv3 is that it is anti "tivoization"/DRM, and tries to limit what will be done with the code, while GPLv2 is "pro code sharing". That's a completely different mindset.
                              Yes the anti-tivoization was the problem Linus has with GPLv3, but it's not something that limits what can be done with the code, it's quite the opposite. GPL is and has always been about giving rights to end users, that is the recipients of the software. One such right is to be able to make changes and run those changes on the intended hardware. This is what the Tivo circumvented by requiring code to be signed by specific key, a key which only Tivo themselves had access to. GPLv3 fixes this loophole by requiring that if you require code signing to run modified code, the end user is entitled to the key necessary to sign his/her code.

                              Now, this is perfectly in line with the goals of the FSF, which is to empower the end user, this may or may not be what the developer wants, which is why it's so great that we have choice. Linus want to allow a company to deny the end user the right to modify and run his/her code on a device that requires code signing, so he sticks with GPLv2 (well, it's not as if it would be easy to switch even if he wanted to), other developers may want to ensure end users have this right and will choose GPLv3.

                              Originally posted by koffie View Post
                              GPLv3 actually prevents codesharing on more than one occasion, or is forcing some people to release their code under multiple licenses.
                              Ehh what?

                              Comment


                              • Originally posted by ryao View Post
                                The only disgrace here is this "how dare you not try to force others to give me free stuff" attitude of yours.
                                Are you insinuating that GPL 'forces people to give free stuff'?

                                Originally posted by ryao View Post
                                a GPL licensed kernel is effectively the same as a GPL licensed kernel.
                                Ehh ?


                                A thing that has been confusing me, you are obviously a BSD advocate and from the looks of it you have no love for GPL, why are you developing a udev fork (eudev) which is GPLv2 licenced and specifically for Linux which is also GPLv2 licenced? Wouldn't someone who are strongly advocating BSD work on, well BSD software?

                                Comment

                                Working...
                                X