Slashdot Mirror


FreeBSD Removes GCC From Default Base System

An anonymous reader writes "With the LLVM/Clang migration, FreeBSD developers have now disabled building GCC and the GNU C++ standard library (libstdc++) as part of the FreeBSD base system. GCC and libstdc++ have been superseded by LLVM's Clang and libc++, respectively, on primary architectures for FreeBSD 10.0." You can still flip a few switches to get GCC, but the system compiler will still be clang. Update: 09/11 14:50 GMT by U L : Reader Noryungi noted that the What's Cooking for FreeBSD 10 page is also worth a look, adding "I have to say, this is shaping up to be a very interesting release. Bhyve [the BSD hypervisor], in particular, sounds very promising."

202 of 333 comments (clear)

  1. Oblig, appropriate XKCD by PSVMOrnot · · Score: 5, Funny

    "the system compiler will still be clang"

    Or the Onionequse version: FreeBSD's move to revolutionary new swording system adds a whole new meaning to compiling

  2. can it build the linux kernel? by Anonymous Coward · · Score: 1

    Can LLVM's Clang build the Linux kernel and QT/KDE?

    I would love to have a Linux system,(not android), completely free of GNU.

    1. Re:can it build the linux kernel? by Lendrick · · Score: 1

      Good luck with that. If you replace the (GPL'ed) Linux kernel, then it's not Linux anymore.

    2. Re:can it build the linux kernel? by kthreadd · · Score: 3, Insightful

      The Linux kernel itself is not GNU. Removing all GNU software will not remove the kernel.

    3. Re:can it build the linux kernel? by Chrisq · · Score: 1

      I would love to have a Linux system,(not android), completely free of GNU.

      That's a bit like wanting a Windows 8 system completely free of Microsoft licensing ... not going to happen

    4. Re:can it build the linux kernel? by dosius · · Score: 1

      You'd want another libc too, like MUSL.

      --
      What you hear in the ear, preach from the rooftop Matthew 10.27b
    5. Re:can it build the linux kernel? by kthreadd · · Score: 2

      Can LLVM's Clang build the Linux kernel and QT/KDE?

      They are getting close to building the Linux kernel according to these slides. Qt has been able to use Clang for a long time now, but I don't know about the entire KDE.

    6. Re:can it build the linux kernel? by andreicristianpetcu · · Score: 1

      Why? The GPL code is the biggest technological common pool ever. I love the GNU project! The weak copyleft licenses are not a common pool. They are scattered projects from a legal point of view. Look what happened to khtml and kjs they helped build Safari which is proprietary.

    7. Re:can it build the linux kernel? by wagnerrp · · Score: 1

      GNU the operating system, not GNU the public license...

    8. Re:can it build the linux kernel? by andreicristianpetcu · · Score: 1

      Also, GPL code will always be ahead of weak copyleft code. Take Libre Office vs Open Office. Libre Office can take code from Open Office but OO can't take code form LO. Code that LO takes from OO will always be free.

    9. Re:can it build the linux kernel? by Anonymous Coward · · Score: 1

      Why on earth would you want a "common pool"? If anything, I'd be more likely to avoid such a thing.

      And yes, it's terrible what happened to khtml, it got turned into the world's most popular open HTML engine. Just think, if it had been GPL, it could have remained obscure and unused forever!

    10. Re:can it build the linux kernel? by jedidiah · · Score: 1, Insightful

      You are trying to flee the spirit of the FSF in Linux.

      It's much like trying to avoid the lingering legacy of DOS in Windows.

      If you are a wannabe software Robber Baron, then Linux just isn't for you. Finally after all this time the anti-GPL crowd have their own compiler and they're using it. No big surprise there.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    11. Re:can it build the linux kernel? by andreicristianpetcu · · Score: 2

      They broke it of from the community. They made changes but they did not commit the diffs. This after huge pressure from KDE devs. I prefere to have my code eaten up by other GPL projects and remain free forever than get assimilated in Apple's pretty iShit.

    12. Re:can it build the linux kernel? by NatasRevol · · Score: 1

      Not exactly Safari, but pretty much what khtml became. And it's still open source. From Apple.

      http://opensource.apple.com/source/WebKit/WebKit-7536.25/

      --
      There are two types of people in the world: Those who crave closure
    13. Re:can it build the linux kernel? by Anonymous Coward · · Score: 1

      Wait a minute... if you say "Linux kernel" that's like saying "kernel kernel". You should have said "No, Linux is not called GNU/Linux" or, more accurately, "No, Linux in GNU/Linux is not called GNU/Linux."

    14. Re:can it build the linux kernel? by tlhIngan · · Score: 1

      Also, GPL code will always be ahead of weak copyleft code. Take Libre Office vs Open Office. Libre Office can take code from Open Office but OO can't take code form LO. Code that LO takes from OO will always be free.

      And that is one of the worst justifications ever. In fact, it's so bad, it lends credence to the "GPL is viral" belief - because the GPL can take and take and take, and not give back (which one could argue is against the SPIRIT of FOSS - that one shares so everyone benefits). Yes, it's legal, just TiVoization and GPLv2 is legal, but spiritually, it really reeks, especially when GPL advocates claim moral superiority.

      Heck, perhaps the biggest problem with BSD is NOT the ability for "software robbers" to take and close the source, but for "software robbers" to take and claim moral superiority that their license "frees" the code (funny how "freeing" or "liberating" the source involves ensuring that it can never get back to the original authors, eh?).

      Personally, I use unmodified BSD or GPLv2, because I have objections to the GPLv3 (and no, you can't mix v2-only and v3 code because the GPLv3 can be seen as causing restrictions disallowed by GPLv2. Funny how the champions of Freedom even admit that there are limits to how Free you can be).

    15. Re: can it build the linux kernel? by andreicristianpetcu · · Score: 1

      Chromium is free software. Google Chrome and Safari are not. If Google did not want to publish Chromium, it did not. The LGPL license is weak copyleft not strong copyleft.

    16. Re:can it build the linux kernel? by andreicristianpetcu · · Score: 1

      Apple is the bully who took your 3 lunch sandwiches, added ketchup to one of them and gave it back to you and made you say "thank you sir for the ketchup".

    17. Re:can it build the linux kernel? by santax · · Score: 3, Insightful

      Which I and probably about every other BSD-style coder respects. However, this debate is really old. I think there is something to be said for both license-models and it is good they both exist. I however do feel that true free code, is well... really free. Also to be used without giving the source. It's a choice I made and I can perfectly understand why people don't want to have Big Ol' Apple stealing their stuff and making heaps of money from it. But, I can also understand why people want to really give the code away. It's all about perspective and there is no right or wrong here. It all depends on the personal views of the coder/owner of the code and what that person/org wants to let others do with their code. BSD has the advantage that it can become closed source. That makes it easier to generate profit, but also (especially in the commercial world) there are other good reasons why people want to protect their product. GPL has the advantage that every time someone uses your code, that code will become available also. Just don't ever think that because your code is GPL'd, no one will dare to use it in close source. As much as I would love such a world, that would be very naive.

    18. Re:can it build the linux kernel? by andreicristianpetcu · · Score: 2

      BSD think of the freedom of the distributor, the GPL thinks of the freedom of the user. I see myself as a user, you see yourself as a proprietary distributor. BSD code helps build DRMed jails for Sony and Apple. I prefer a license that disallows this. I want to share my code with anyone in the world who does not to build proprietary stuff (for building new software). And share my software with anyone for usage, regardless of the purpose.

    19. Re:can it build the linux kernel? by NatasRevol · · Score: 1

      So staying open source is being a bully now?
      Vastly improving a product is just 'adding ketchup' now?

      Moron.

      --
      There are two types of people in the world: Those who crave closure
    20. Re:can it build the linux kernel? by marcello_dl · · Score: 2

      And that is one of the worst justifications ever. In fact, it's so bad, it lends credence to the "GPL is viral" belief - because the GPL can take and take and take, and not give back

      it takes what IT IS ALLOWED to take, it gives back everything as long as you redistribute it keeping it free.

      There are two civilizations, the Babbling Software Developers (BSD) and the Grooming Prevented by Law (GPL). The first has a law: "do what you want". The other has a law "Do what you want as long as it doesn't prevent others to do the same". Simple, no?

      I don't see why a dev that allows everybody, commercial entities wielding software patents included, the freedom to use his code would be bothered by the GPL, but then, I am not one of them.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    21. Re:can it build the linux kernel? by kthreadd · · Score: 1

      There's no spirit of FSF in Linux. Linux has never been associated with FSF in any way. The reason why the FSF is so keen on calling it GNU/Linux is because they failed with their own kernel project.

    22. Re:can it build the linux kernel? by jeremyp · · Score: 1

      You can't change a source code licence simply by compiling the code it applies to with a different compiler.

      This, incidentally, is how we know that the fact that FreeBSD is stuck on gcc 4.2.1 has nothing to do with licensing. They could compile their entire code base with gcc 4.million and not infect it with GPL v3 (if they are using a modern version of glibc, there might be an issue, however). The people at FreeBSD are simply objecting to the anti-Tivoisation clause in GPL v3 as is their right. In fact, they object to the whole "viral" nature of GPL version x and presumably would have replaced the compiler a long time ago if there had been a credible alternative.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    23. Re:can it build the linux kernel? by jeremyp · · Score: 1

      You can get the open source WebKit browser which is what Safari and Chrome (until they forked it recently) was based on. What's the problem?

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    24. Re:can it build the linux kernel? by unixisc · · Score: 1

      Precisely. Even Linus is on record as saying that he avoids associating w/ 'Free Software' these days due to the divisiveness of that project

      Too bad the FSF guys lack the competence to complete their own kernel, while even a university professor in Holland managed to create a complete microkernel based OS that's completely functional

    25. Re:can it build the linux kernel? by Guy+Harris · · Score: 1

      Apple is the bully who took your 3 lunch sandwiches, added ketchup to one of them and gave it back to you and made you say "thank you sir for the ketchup".

      If you're talking about KHTML, and the original complaints about how Apple treated it, I think it's more like "made copies of the recipes for your 3 lunch sandwiches, changed one of the recipes to include ketchup, and handed you back the raw new recipes without change bars". It's not as if they "took" KHTML in such a way that it immediately ceased to work in KDE.

    26. Re:can it build the linux kernel? by imnotanumber · · Score: 1

      GNU the operating system, not GNU the public license...

      Just an extra detail: the G in GPL means "GENERAL" as in GENERAL PUBLIC LICENSE.

    27. Re:can it build the linux kernel? by tlhIngan · · Score: 1

      They broke it of from the community. They made changes but they did not commit the diffs. This after huge pressure from KDE devs. I prefere to have my code eaten up by other GPL projects and remain free forever than get assimilated in Apple's pretty iShit.

      They couldn't do that, because KHTML is LGPL.

      In fact, Apple released their changes as required by the LGPL.

      What KDE devs wanted was better documentation on the changes because Apple's changes were being sent to the KHTML guys as large diffs without much commentary. As WebKit and KHTML diverged, the pages became more and more difficult to integrate, and there's little information as to what changes were to improve things and others were bug fixes.

      That was the main beef with the KDE guys - Apple was releasing source code as required, but they couldn't be integrated.

      There was never any "code lockup" and in fact, Apple was providing the KHTML guys with patches out of kindness (remember, the (L)GPL never states you need to give the changes back upstream - you're free to fork it as you wish).

      The code was always free. It's the upstream guys were getting patches that they couldn't use was the problem, and Apple has every right to ignore them if they wanted.

      What Apple did in the end was put up a public CVS server with all the changes, so the KDE folks could see the diffs as smaller patches as well as individual change logs. Neither of which is a requirement of the GPL.

      Otherwise RedHat would be in trouble because they're doing the same thing with Oracle - they're combining their patches into one huge patch so guys like Oracle can't pick and choose easily.

      WebKit is still LGPL, by the way. It's never been anything other.

    28. Re:can it build the linux kernel? by Bengie · · Score: 1

      Ohh, thanks, so I can put my code under any license I want, but my code is worthless with out the other code.

      I'm not trying to make an argument about entitlement, just that it's a moot argument that reads like "If you don't like your food, you're free to not eat it and die".

      Most people will keep eating the food because it's better than not eating, but at some point, they might get... fed up... lawlawlawlawl. Maybe they like the food, no problems. Claiming GPL is free is like claiming Verizon actually sells unlimited FIOS. For all intents and purposes, it's free, but there are cases where it blows up in your face.

    29. Re:can it build the linux kernel? by Bengie · · Score: 1

      "Do what you want as long as it doesn't prevent others to do the same"

      Not quite. BSD also doesn't allow other to prevent you from doing the same. GPL prevents you from, in their words, "stealing" code, and making your own changes and not sharing YOUR changes. They force you to share your changes, for the good of the user of course.

      Most people love sharing, but being forced to share is a whole other issue. I don't mind giving money to charity, but if those charities walked into my house and took a dollar from my pocket, that's a bit different. Not a great analogy, but it conveys my "feelings".

      If you don't like it, you don't have to use it, right? Well, the vocal group in the GPL community are like zealots and constantly spread FUD about BSD and how people can steal your code! omg! my code is no longer in version control! Someone must have stole it! The only thing wrong with GPL is some of their evangelists and the fanaticism of the ideology.

      I get this whole, holier than thou, kind of vibe.

    30. Re:can it build the linux kernel? by marcello_dl · · Score: 1

      > They force you to share your changes

      Citation needed. IIRC You can take gpl and do what you want with it in your organization, IF you don't redistribute the code. Hosting code and let users be clients is the same as distributing the code in GPLv3, and it makes a lot of sense, because the net result is the same of a distribution.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    31. Re:can it build the linux kernel? by Bengie · · Score: 1

      Yes, GPL works if you don't want to share anything, but if you want to share something but not everything, it won't work. GPL is an all-or-nothing license.

      "Perfect is the enemy of good"

      "Of all tyrannies a tyranny sincerely exercised for the good of its victim may be the most oppressive. ..."

      "The road to hell is paved with good intentions" - Not to mean that GPL is bad, just that it has many unforeseen consequences to it's practicality.

    32. Re:can it build the linux kernel? by marcello_dl · · Score: 1

      You are not simply sharing something, you are building upon other people's code. If you bear this in mind, the tyranny begins to belong more to the guy closing down stuff, IMHO.

      If you want to keep parts proprietary, build upon different people's code instead. Seems not tyrannical at all.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    33. Re:can it build the linux kernel? by TheRaven64 · · Score: 1

      Why would you point to the tarball location, when the revision control system is online?

      --
      I am TheRaven on Soylent News
  3. More interesting page for FreeBSD 10... by Noryungi · · Score: 5, Interesting

    Try this one: https://wiki.freebsd.org/WhatsNew/FreeBSD10

    I have to say, this is shaping up to be a very interesting release. Bhyve, in particular, sounds very promising...

    --
    The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
    1. Re:More interesting page for FreeBSD 10... by Anonymous Coward · · Score: 1

      Bhyve, in particular, sounds very promising...

      And it has quite a catchy name!

    2. Re:More interesting page for FreeBSD 10... by MatthiasF · · Score: 5, Informative

      I think the updates to ZFS are more impressive. The addition of LZ4 compression (50-80% faster), SSD TRIM support and the new NOP-write that reduces the need to write to compressed disks will all mean commodity hardware SANs running FreeBSD will be able to give the big boys a run for their money.

      So, better compression, SSD speed-up and less need to write to changed files, means there will be a huge performance increase.

    3. Re:More interesting page for FreeBSD 10... by MtHuurne · · Score: 1

      Looking at the logo on their home page, I think it's pronounced "bee hive".

    4. Re:More interesting page for FreeBSD 10... by SuricouRaven · · Score: 2

      Can we take drives out yet? ZFS makes it nice and easy to just add a new drive to a storage pool, but taking one out (ie, freeing up port for a larger drive, or turning your 16x1TB drives into 8x2TB drives to reduce the frequency of failures) is a different matter.

    5. Re:More interesting page for FreeBSD 10... by Bengie · · Score: 2

      Not yet, that requires pointer re-writes, which has been talked about for a long time by the ZFS devs.

      Essentially, ZFS does not currently allow data to be moved once written. Supports Delete and Insert, but no Update. A big reason for this is if you move the data, you need to update all points that address that data, and to do so in an atomic way that doesn't leave the system in an unstable state.

    6. Re:More interesting page for FreeBSD 10... by MatthiasF · · Score: 2

      I do not think there is a safe way to do that in regards to any storage array system, besides setting up the two arrays in parallel and copying the data.

      ZFS will allow you to migrate up to larger drives, but I believe it has to be the same number of drives and it is still fairly risky (requiring you to degrade the array for a rather lengthy period).

      Here's a blog explaining some.

      https://www.dan.me.uk/blog/2012/11/14/increase-capacity-of-freebsd-zfs-array-by-replacing-disks/

      I think you can also use the mirror capabilities to migrate to a newer set of drives, but I have not seen anyone explain the process well.

    7. Re:More interesting page for FreeBSD 10... by daboochmeister · · Score: 1

      With all due respect to your low /. id#, why do you say that? A type 2 hypervisor - are there no good type 2 hv offerings on BSD today? Are there specific production uses for FreeBSD that you think have been forestalled to date, that this opens up? Or is there something about bhyve that sets it apart from the existing options?

      --
      "Ahh! I see you're in that indeterminate Schrodinger state where - oh, uh ... never mind." Dave Bucci
    8. Re:More interesting page for FreeBSD 10... by SIGBUS · · Score: 1

      The best way to rearrange a pool is to create the new pool with the desired disks, and then use zfs send to send the data from the old pool to the new one. Even if block pointer rewrites were implemented, I'd still be more trusting of a send (besides, that means you have a backup if everything goes pear-shaped).

      --
      Oh, no! You have walked into the slavering fangs of a lurking grue!
  4. Re:Just one question by Lendrick · · Score: 5, Informative

    See this link for an explanation:

    http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm/49970#49970

    In short, mostly it's due to FreeBSD's issues with the GPL, not all of which are purely philosophical (it affects their funding, for one thing). On the other hand, if you don't have a beef with the GPL, it's probably best to stick with GCC, which produces more performant code.

  5. Can you imagine by Anonymous Coward · · Score: 1

    A world where we can call it Linux and the nerd who immediately corrects you with GNU/Linux will have to shut up for once?

    1. Re:Can you imagine by wagnerrp · · Score: 1

      Well there is Android...

    2. Re:Can you imagine by Hypotensive · · Score: 1

      I can imagine a world where an AC posts shit flamebait in the same thread multiple times trying to pretend that he's different people.

    3. Re: Can you imagine by wagnerrp · · Score: 1

      If you want to be that way, it would technically be Android/Linux.

    4. Re: Can you imagine by marcello_dl · · Score: 1

      In fact, given all those android installations, those who call GNU/Linux "Linux" are now less correct than those calling it "GNU".

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    5. Re: Can you imagine by Darinbob · · Score: 1

      Or is that Android/GNU/Linux?

    6. Re: Can you imagine by wagnerrp · · Score: 1

      Huh? It's either the Android OS or the GNU OS. Not both. Are you suggesting some abominable combination of the two?

  6. Re:Just one question by kthreadd · · Score: 1

    Especially GPLv3 which they don't want to include in their base OS. Ports are fine thouh since they are not part of the operating system itself. GPLv2 was never a problem.

  7. Re:Just one question by Anonymous Coward · · Score: 3, Informative

    For many reasons.

    Clang is faster
    Clang produces faster code
    Clang's license is BSD (and hence more in line with FreeBSD's philosophy)
    Clang has built in static analysis tools
    Clang's error messages are easier to understand than gcc's
    Clang has better support for C++11 than gcc
    Clang's code base is much less convoluted than gcc's, and easier to work on
    Clang's code base is more modular, which allows you to easily use separate stages of the compiler in other tools
    Probably a bunch of reasons I've forgotten too

    The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.

  8. Re:Just one question by lactose99 · · Score: 5, Informative

    Licensing.

    GCC in the FreeBSD base is stuck at v4.2.1 as that was the last version licensed under the GPLv2. As this is about 7 years old by GCC standards a newer compiler is a welcomed change and since CLANG is BSD-licensed it is more in line with the project's goals anyway.

    --
    Fully licensed blockchain psychiatrist
  9. Re:Just one question by kthreadd · · Score: 1, Interesting

    Clang is faster
    Clang produces faster code

    Really?

    Clang has better support for C++11 than gcc

    They had almost equal support for C++11 when I check earlier this year.

    Clang's code base is much less convoluted than gcc's, and easier to work on
    Clang's code base is more modular, which allows you to easily use separate stages of the compiler in other tools

    I think that depends on the reader.

    The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.

    Because it's a good compiler. Both gcc and clang are good compilers. They didn't stop developing gcc just because clang came around and started to make progress.

  10. Re:Just one question by Anonymous Coward · · Score: 2, Insightful

    Sorry, but it's you that looks like a douche.

  11. Re:I'd be suspicious by kthreadd · · Score: 1

    By inspecting the source code.

  12. Re:Just one question by pipatron · · Score: 1

    Execution speed is not necessarily the only metric used to judge a compiler. As a developer for embedded platforms I mostly look at code size, and you could also judge it on how well it handles various CPU architecture varieties.

    Then again, your argument still stands. He could've written "better". ;)

    --
    c++; /* this makes c bigger but returns the old value */
  13. Clang is Slower by tuppe666 · · Score: 4, Informative

    For many reasons.

    Clang is faster...

    No its slower. Phoronix benchmark GCC vs Clang all the time. http://www.phoronix.com/scan.php?page=article&item=llvm_clang33_3way&num=1

    1. Re:Clang is Slower by gnasher719 · · Score: 1

      No its slower. Phoronix benchmark GCC vs Clang all the time.

      The question is: Do GCC and Clang benchmark Phoronix?

      As a long time Clang user, I never heard of Phoronix. Maybe it's different with gcc users. Maybe gcc develops use this Phoronix benchmark to drive their software and optimisation development.

    2. Re:Clang is Slower by Anonymous Coward · · Score: 1

      Phoronix are also stunningly incompetent and it's a mystery why anybody would listen to a damn thing they say.

    3. Re:Clang is Slower by gcore · · Score: 1

      Considering how bad the articles and journalism is, perhaps you shouldn't put too much faith in the benchmarks of Phoronix.

    4. Re:Clang is Slower by UnknowingFool · · Score: 1

      Define "all the time". In the article you linked, GCC was slightly faster in most tests than Clang especially when it came to OpenMP however it didn't beat it in all tests. The performance gaps in most tests were small except when it came to OpenMP which Clang does not support.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    5. Re:Clang is Slower by Anonymous Coward · · Score: 1

      Actually, my bad, they do benchmark the speed of the compiler there as well as the speed of the code it produces. Their results are that clang runs significantly faster. You're wrong, and your own benchmark even says you are.

    6. Re:Clang is Slower by tlhIngan · · Score: 5, Informative

      No its slower. Phoronix benchmark GCC vs Clang all the time. http://www.phoronix.com/scan.php?page=article&item=llvm_clang33_3way&num=1

      Except FreeBSD is not using GCC 4.8. They're using GCC 4.2.1, the last version that was GPLv2.

      While the current version of GCC may be faster than Clang/LLVM, that doesn't mean Clang/LLVM isn't faster than what is in use now, so the switch may even boost performance compared to the ancient version of GCC in use.

    7. Re:Clang is Slower by hedwards · · Score: 1

      It's not just about faster, compilers sometimes have stability and reliability problems when using higher levels of optimization. GCC wasn't able to handle much more than -O2, IIRC, and even at -O2, there were warnings about not bothering to report bugs without first trying it with lower levels of optimization.

      If clang is able to handle -O3 in a production environment without the warnings, that's perfectly legitimate to compare with gcc with current default optimizations.

    8. Re:Clang is Slower by hedwards · · Score: 1

      Right and it's a moot point if Compiler X is faster than both of them if the license requires that you be riding a unicycle while compiling.

      I know a lot of the Linux zealots don't care to acknowledge it, but the reality is that the viral clauses are just a matter of cutting off your own nose to spite your face. There's a real incentive to contributing back patches in that it's expensive to maintain your own fork, just for a few patches.

    9. Re:Clang is Slower by adam.vany · · Score: 1

      The GPL isn't about providing incentive to contribute back patches (or forcing it as some characterize it). It's about ensuring software freedom for software *users*. That any software you use, you should be allowed to study it, modify it, and re-distribute it without restriction. Economic benefits from open source are not what the GPL is for, so don't claim that the GPL is unnecessary because companies will still contribute back. That's a mis-representation of what Free Software is all about. If you want to complain about "zealots" at least understand their position.

    10. Re:Clang is Slower by Anonymous Coward · · Score: 1

      I understand the position. You apparently don't.

      The GPL is about forcing people to opensource the code they write if they wish to use GPL code. You can gussy it up however you like, but at the end of the day, you're telling the users of the code that they can't do somethings that they would otherwise be able to do under a permissive license.

      All this software freedom bullshit is just ridiculous. *BSD has proven over the last couple decades that you don't have to infringe upon people's ability to use the code in order to ensure that people give back and don't take away from the community.

      With the lastest version of the GPL, they've taken the step of specifically making it challenging to use the code on proprietary projects, even when previous versions of the license would have been just fine.

      Seems like zealotry to me.

    11. Re:Clang is Slower by nullchar · · Score: 1

      YOU publish your own reproduce-able (and tweak-able, if you don't like their chosen settings such as -O3) benchmarks, and I'll be happy to look at them instead of Phoronix.

    12. Re:Clang is Slower by smash · · Score: 1

      Phoronix - adview trolling website for Linux/GNU fanboys to set up rigged benchmarks of Linux vs. X, to get users/developers/fans of X enraged and visiting the site.

      The number of massively flawed benchmarks done by phoronix lead me to believe this is the only logical purpose of the site. One or two benchmark screw ups is one thing, but to consistently screw up benchmarks to make everybody else's software look bad via subtle omission ro selection of bad configuration is just trolling.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    13. Re:Clang is Slower by smash · · Score: 1

      I know a lot of the Linux zealots don't care to acknowledge it, but the reality is that the viral clauses are just a matter of cutting off your own nose to spite your face. There's a real incentive to contributing back patches in that it's expensive to maintain your own fork, just for a few patches.

      Let alone going to the trouble of writing your own entire compiler framework...

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    14. Re:Clang is Slower by Bengie · · Score: 1

      Users never study/modify code, only developers do and GPL claims to not care about them, only users. I stand behind GPL's ideology, but it is not as practical as BSD in the real world. I do hope for the day when we won't need BSD anymore and GPL will work for all cases, but I don't see that day happening until Software Patents and DRM is gone.

  14. on Single Compilers by bill_mcgonigle · · Score: 2

    I don't think I've seen Ken Thompson's Reflections on Trusting Trust come up more in the past decade than it has in the past week. Right now seems like a particularly inauspicious time to switch to a one-compiler-to-rule-them-all strategy.

    I'm particularly interested in trying to build the gcc phase-1 bootstrap compiler with llvm to see how that works out (TODO list...).

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:on Single Compilers by phoenix_rizzen · · Score: 4, Informative

      FreeBSD (and Linux) were already in a "one compiler to rule them all" situation, aka GCC. At least with FreeBSD 9 there were two compilers in the base install (GCC, LLVM), and you have the option of keeping GCC in 10 if you really want.

      IOW, you're complaint is baseless and backwards.

    2. Re:on Single Compilers by steelfood · · Score: 1

      If the theoretical exploit isn't at the hardware level, one way to discover a compromised compiler would be to compile the same code with multiple compilers, and then compare their outputs. Having multiple compilers for one platform is a good thing.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    3. Re:on Single Compilers by Eravnrekaree · · Score: 1

      You will have the option of using GCC, its in the packages system and you can easily install it. Clang is now the default, but of course GCC can still be used if you wish.

    4. Re:on Single Compilers by bill_mcgonigle · · Score: 1

      At least with FreeBSD 9 there were two compilers in the base install (GCC, LLVM), and you have the option of keeping GCC in 10 if you really want.

      Right, FreeBSD 9 was doing it the best way, and now FreeBSD 10 is doing it a worse way.

      IOW, you're complaint is baseless and backwards.

      If my complaint is "removing additional compilers from the base install will discourage their use", please describe how the complaint is baseless. Do you feel that having multiple compilers per platform is not an advantage for the platform's security posture? Please explain how that assertion is backwards, specifically in regards to the issue of trusting compilers.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    5. Re:on Single Compilers by gmueckl · · Score: 1

      You should read Ken Thompson's "Reflections on Trusting Trust" and the thesis that shows how to detect that attack (forgot the name of the author - Bruce Schneier has written a good summary of it, though). This will tell you why you want multiple compilers for some things.

      Very short summary (probably wrong - it's confusing): You want to compile your production compiler with two different compilers to check if the binaries these resulting production compiler binaries produces are the same (e.g. you let the production compiler compile itself again using the two different binaries). Your alternate compiler does not strictly have to be up to date or fully featured for that. It must only be able to compile the compiler that was used for creating the actual product under scrutiny.

      --
      http://www.moonlight3d.eu/
    6. Re:on Single Compilers by evilviper · · Score: 1

      If my complaint is "removing additional compilers from the base install will discourage their use", please describe how the complaint is baseless.

      Encouraging the use of GCC won't solve the "trusting trust" problem on its own... Installing from ports/pkgs is trivial... There is still a huge installed base of GCC compilers out there. It's not as if FreeBSD just assassinated the GCC upstream. GCC has a HUGE base, and encouraging use and development of LLVM is the move that will get healthier competition in the open source compiler space.

      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    7. Re:on Single Compilers by serviscope_minor · · Score: 1

      Massive meh.

      GCC still has a better optimizer than LLVM, sometimes by quite a wide margin. So unless you recompile everything, kernel included with GCC, you lose out performance wise.

      --
      SJW n. One who posts facts.
    8. Re:on Single Compilers by david_thornley · · Score: 1

      Compiler output will differ between compilers, but the compiled code should do the same thing. So you compile a compiler with multiple compilers, and use your newly compiled compilers to compile the same compiler, and the second-stage compilers should be pretty well identical.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    9. Re:on Single Compilers by MechaStreisand · · Score: 1

      Not even close to true in FreeBSD's case: the version of GCC they use is 4.2, and LLVM is much better than that.

      --
      Disclaimer: IANAL. This post is, however, legal advice, and creates an attorney-client relationship.
  15. Re:Just one question by Anonymous Coward · · Score: 5, Funny

    I'd have to agree with the "anti-performant" sentiment. It isn't cromulent to say "performant" if don't want to sound like a douche. It makes it seem like you're trying to embiggen yourself.

  16. Re:Just one question by HornWumpus · · Score: 1

    Yet another reason not to say 'performant', it's ambiguous.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  17. Re:Good move by bluefoxlucid · · Score: 1

    It's faster because it doesn't support as much optimization. Some analysis simply isn't implemented. That isn't to say it won't be faster when it's on even footing; just that right now huge swaths of algorithms are missing, so the output code doesn't perform as well but it does get produced in much less time.

  18. Re:I'd be suspicious by philipmather · · Score: 1

    Redundant, keep reading the whole "What's New" page and the conspiracy klaxon attached to your tin-foil hat will go into hyper-overdrive...

    "
    Support for the RDRAND random number generator

    Status:
    Committed to -CURRENT, MFC-ed to 9-stable
    Author:
    Konstantin Belousov
    Web:
    http://svn.freebsd.org/changeset/base/240135
    RDRAND is the new Intel's CPU instruction for accessing its hardware random number generator, also known as the code-name Bull Mountain. It is present in Ivy Bridge and newer CPUs.
    " ...although it would seem more likely that Konstantin Belousov would be working for the FSB rather than the NSA really. ;^)

    --
    Regards, Phil
  19. Re: Just one question by Anonymous Coward · · Score: 1

    Your MOM is a riposte

  20. Re:Just one question by 1s44c · · Score: 3, Insightful

    Because GCC is a total mess internally and Clang/LLVM is neat, clean, maintainable, adjustable.

    GCC is a dead end. LLVM is the future.

  21. Re:Just one question by 1s44c · · Score: 2

    The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.

    I'm all for replacing GCC.
    Does clang handle all the GCC extensions to C yet? Or is the (better) approach of getting rid of them being taken instead? The last I heard it was still a bit of a mess.

  22. Re:Just one question by HornWumpus · · Score: 2

    It's exactly as vague and ambiguous as 'better', while sounding pseudo technical. Something a PHB would parrot.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  23. Re: Just one question by Anonymous Coward · · Score: 3, Funny

    And a more performant one at that.

  24. Re:I'd be suspicious by dkleinsc · · Score: 1

    That is insufficient, as Ken Thompson demonstrated decades ago.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  25. Re:Just one question by DuckDodgers · · Score: 1

    I'm fuzzy on licensing. I know you can take FreeBSD and Clang/LLVM and make a proprietary product out of it. But can you fork them and release your fork under the GPLv3?

    Maybe in all seriousness the best option for the Free Software Foundation and GNU Project in a few years would just be to make a GPLv3 fork of the most recent LLVM. The Phoronix benchmark put highly optimized GCC code as slightly faster than optimized LLVM code in a few cases, but in return for dramatically slower compile times. You're already working with C and C++, is a 4% performance improvement worth losing an extra few hours to week waiting for your compiler to finish?

  26. two dictionaries say "no such word" by raymorris · · Score: 1, Insightful

    The two dictionaries I checked, including Merriam-Webster, don't list "performant" as a word.

    Trying so hard to use "big words" that you resort to using non-words that sound big = douche. Of course "douche" is actually a word.

  27. Re:I'd be suspicious by interval1066 · · Score: 1

    Support for the RDRAND random number generator

    Now you can go "WHY????"

    --
    Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
  28. Re:Just one question by jellomizer · · Score: 1

    Because RMS made it!!!

    I think it is most likely due to the large set of OpenSource Apps written in GCC and people really don't want to risk trying a different compiler.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  29. Re:Netcraft confirms it by interval1066 · · Score: 1

    OpenBSD leader Theo states that there are 7000 users of GCC.

    I'd like to see how de Raadt came up with THAT number. Seems very low to me. Accross the world? Or is that a blanket, unqualified statement? 7K users of GCC? Come on...

    --
    Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
  30. Re:Just one question by rubycodez · · Score: 1

    GPL2 was also a problem, that was the current license when the various BSD started to explore alternate compilers. The BSD want the license for all wares in the core install to be BSD

  31. Re:Just one question by kthreadd · · Score: 1

    I've not had that experience when reading the gcc source code. Maybe that used to be the case, gcc has been around for some time.

  32. Re:two dictionaries say "no such word" by rubycodez · · Score: 1

    it's origin is Microsoft wank speak.

    It is a French word, maybe that Microsoft weenie also said things were tres this or that. eurotrash wannabe.

  33. Re:I'd be suspicious by kthreadd · · Score: 1

    Not if all you want to do is verifying the source code. If your compiler is compromised then that's your problem.

  34. Re:Why? by jonwil · · Score: 1

    People are using BSD (and BSD code) in devices and products (consumer products and otherwise) where there is a requirement (might be a requirement specified by some law or regulation, might be a requirement specified by a content provider or other entity, might be a business requirement, might be something else) to ensure the software on the device can't be changed by the end user. And using a gplv3 version of GCC (and libstdc++/libgcc/etc) creates a conflict between the anti-tivoization clauses in gplv3 and the requirements of the software developers to prevent tampering with the software.

  35. Re:Just one question by ais523 · · Score: 1

    The AC used to be correct, but gcc have been trying to clean up more recently. (Most likely, at least partly because competition from clang meant that trying to lock out third-party closed-source plugins wasn't a particularly useful thing to do anyway.)

    --
    (1)DOCOMEFROM!2~.2'~#1WHILE:1<-"'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"
  36. Re:Just one question by slacka · · Score: 3, Interesting

    I'm deeply disappointed that this issue was decided over philosophical instead of technical merits. If Clang was superior to GCC in the majority of benchmarks, then I would support this decision. But that’s not the case, GCC is still leading in most benchmarks and can be an order of magnitude faster when the popular OpenMP library is used.[1] Sadly, BSD users are the losers here.

    [1] http://www.phoronix.com/scan.php?page=article&item=llvm_33svn_competes&num=5

  37. Re:Just one question by Chemisor · · Score: 1

    My reason not to use clang: clang produces larger code than gcc. 10-20% larger, in many cases. For some reason gcc developers are much better at size optimization.

  38. Re:Just one question by anasciiman · · Score: 1

    Faster isn't the same as higher performance.

    --
    Think of me when you shave your legs...
  39. Re:two dictionaries say "no such word" by Anonymous Coward · · Score: 2, Interesting

    Did you try a computer jargon dictionary? Formal dictionaries do not add jargon until it is no longer jargon.

    'Performant' is not jargon because it is not used to communicate a specific technical meaning within a particular field of knowledge. It is slang: an unrecognised synonym for 'better', used by people who want to make a vaguely positive but non-specific claim. In this case, suggesting that GCC 'produces more performant code' could imply that it produces an output that executes faster, or is smaller, or is a more exact interpretation of the source with respect to the official language standards or a host of other possible claims. In other words, it's equivalent to saying 'produces better code'.

    Trying so hard to use "big words" that you resort to using non-words that sound big = douche.

    So what you mean to say is, "durr, people who are smarter than me are douches."

    Using made-up words is not a sign of intelligence. Smart people know how, when and whether to use the more obscure parts of the English language.

  40. Re:two dictionaries say "no such word" by jones_supa · · Score: 1

    The two dictionaries I checked, including Merriam-Webster, don't list "performant" as a word.

    What was the other dictionary?

  41. Re:Just one question by Ash+Vince · · Score: 2

    I'm deeply disappointed that this issue was decided over philosophical instead of technical merits. If Clang was superior to GCC in the majority of benchmarks, then I would support this decision. But that’s not the case, GCC is still leading in most benchmarks and can be an order of magnitude faster when the popular OpenMP library is used.[1] Sadly, BSD users are the losers here.

    [1] http://www.phoronix.com/scan.php?page=article&item=llvm_33svn_competes&num=5

    So what would you prefer? That BSD threw out their entire licensing policy and adopted the GPL3? Or that they stuck with an old version of GCC that was licensed under the just about permissible to them GPL2 but that got no updates.

    Maybe they could have forked GCC then tried to maintain a version that was licensed under GPL2 and backported GPL3 GCC fixes into their fork but that strikes me as being a legal nightmare to be honest.

    It would have been more useful it phoronix compared LLVM/Clang 3.3 to GCC 4.2.1 and you posted that as that is the only thing the BSD community could use instead.

    This decision was forced by the GCC adopting the GPL3 but was probably always going to happen sooner or later. The BSD community and the FSF have VERY different ideas of what constitutes "free" software with the FSF actually wanting their code to be less free in order to make sure that if you use it you have to let other people see how you use it and keep any derivatives free.

    --
    I dont read /. to RTFA, I read /. to offend people in ignorance.
  42. Re:two dictionaries say "no such word" by Lendrick · · Score: 1, Insightful

    Note to self: Using words that aren't words is an excellent way to troll.

    I (unknowingly) used something that isn't actually an english word. You took the time to look it up in two separate dictionaries basically just so you could be pedantic. If you're that kind of person, I'm glad I could waste your time. :)

  43. Re:Just one question by kthreadd · · Score: 1

    True. I should have written that it wasn't a problem to include it in the distribution, even if it wasn't optimal.

  44. Re:Just one question by gnupun · · Score: 1

    Not really actually. RMS actually even has admitted in emails that the lack of modularity, and rather spaghettish code in gcc is a deliberate attempt to make it hard for tools authors to integrate it, because he feared that a modular compiler would easily be used to make closed IDEs.

    Isn't hard to read code more or less the same as closed source code?

  45. Re:Why? by Anonymous Coward · · Score: 1

    I'm seeing a lot of "there might be" but none of that is actually possible.

    The output of GCC is not GPL'd any more than the output of Microsoft Visual Studio is licensed under the Microsoft Closed Source license.

    The output of the GCC cannot cause the code produced to be under the GPL restrictions.

    CAN.
    NOT.

    "And using a gplv3 version of GCC (and libstdc++/libgcc/etc)"

    There is not GPL3 libstc/libgcc/etc.

    And again, that doesn't any of those "might" to "ensure the software on the device can't be changed by the end user." cannot be applied.

    Moreover, those requirements that "might" exist are also illegal restraints on first sale/ownership doctrine/etc of many countries, so by insisting so, the BSD clause is enabling criminal acts.

    " the anti-tivoization clauses in gplv3 " DO NOT APPLY to the output of the GCC.

    They DO NOT APPLY to the product that merely aggregates the GCC in the product.

    Indeed, if the GCC OR ANY COMPILER is included in the product, then how the HELL are you supposed to expect you are going to have restrictions to "ensure the software on the device can't be changed by the end user." WHEN THE ONLY USE FOR INCLUDING A COMPILER IS TO DO THIS???

    Again, I ask "Why?"

    Your response is nonsensical paranoic nutbar wordsalad.

    Appropriate captcha "Cobblers". Precisely what I think.

  46. Re:Ah, the BSD "freedom" by kthreadd · · Score: 2

    The freedom to not offer freedom. No one is forced to use your software.

  47. Then why bother with BSD? by Anonymous Coward · · Score: 1

    That "reason" is no better than "FreeBSD is not using Clang because of licensing" because it isn't using an earlier version of the BSD license that asked for included attribution.

    They're entitled not to like it, but that doesn't mean they have a REASON not to use it.

    BSD are just pissed off that they don't get the adulation they feel they deserve for sucking the cock of private industry.

    And neocons applaud them for the service.

  48. Re:Just one question by lgw · · Score: 3, Insightful

    OK, really: do you seriously expect BSD not to stick with BSD Licensed code? It's pretty much the point of the exercise. YouBetterSayGNULinux is there if you want it - you can have all the GNUs you want. BSD is not and should not be a Linux distro - it's its own thing, older and with a different mindset.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  49. Re:Just one question by HornWumpus · · Score: 1

    Cheaper is a performance metric with money as the denominator. The others are reaches that would be excluded by context.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  50. Re:Just one question by 10101001+10101001 · · Score: 1

    ... and since CLANG is BSD-licensed it is more in line with the project's goals anyway.

    "The goal of the FreeBSD Project is to provide a stable and fast general purpose operating system that may be used for any purpose without strings attached."

    So, yes, more in line with the project's goals. But I'm still waiting for FreeBSD to switch to WTFPL, since clearly the whole disclaimer of warranty is a very-much strings attached component of BSD licensing that I don't see ever going away. After all, given that a big part of FreeBSD support is corporate funding and corporations just love suing each other over all sorts of ridiculous things, included things like implied warranty.... Really, the BSD licensing is just tying their hands.

    --
    Eurohacker European paranoia, gun rights, and h
  51. Re:Just one question by hedwards · · Score: 1

    You can't relicense somebody else's code. You can use the code however you like, but you're required to use the code only with the license intact.

    It gets a little bit odd when you mix GPL code into the mix. But, the GPL code is usually segregated to keep it from contaminating the rest of the code. So, when you compile it the resultant binaries would be GPL, but only the portion of the source code that was GPL is GPL. Or at least that's how it was under the GPLv2, not sure what GPLv3 really does there.

    Using APIs and ABIs that are based upon GPL code does not require that the binaries be GPLed either. I'm not quite sure as to what the problem here is with the GPL, but it's a GPLv3 specific problem.

  52. Re:I'd be suspicious by chaim79 · · Score: 1

    However, if you compile the LLVM/Clang in another compiler (say GCC) then you should be good, injecting "compile into" backdoors into all compilers, to target all compilers, would definitely be noticeable.

    --
    DEMETRIUS: Villain, what hast thou done?
    AARON: Villain, I have done thy mother.
    Shakespeare invents 'your mom'
  53. Re:Why? by David+Gerard · · Score: 5, Interesting

    tl;dr Apple is allergic to the GPL v2, and really allergic to the GPL v3. They were never happy about gcc being their base compiler, so they've been funding the hell out of LLVM/Clang so they can use that as their base compiler instead. Apple is also the main backer of FreeBSD.

    --
    http://rocknerd.co.uk
  54. This is going to affect the Playstation 4 fork by DF5JT · · Score: 1

    Is it not?

    In the long run this is really going to suck for the Sony engineers, maintaining a fork with a different system compiler.

    1. Re:This is going to affect the Playstation 4 fork by kthreadd · · Score: 1

      FreeBSD 10 has been using Clang as the system compiler for a long time already. This was just the removal of gcc, nothing else.

    2. Re:This is going to affect the Playstation 4 fork by geminidomino · · Score: 1

      Doesn't matter, it'll just be yanked out a few months in anyway. ;)

    3. Re:This is going to affect the Playstation 4 fork by Corngood · · Score: 1

      PS4 already uses clang...

    4. Re:This is going to affect the Playstation 4 fork by tlhIngan · · Score: 1

      Is it not?

      In the long run this is really going to suck for the Sony engineers, maintaining a fork with a different system compiler.

      I don't see why - Sony is not going to track FreeBSD - they already forked it and created their OS around it.

      There's no need to track FreeBSD - not that you'd want to because having your dev environment change under you just costs developers money.

      Sony's been using BSD for a long while now and unless some major security flaw happens in it that could potentially compromise things, the kernel will probably stay static. Likewise, the compiler too - unless the code it generates has security holes, then it probably will never get updated or even looked at. (And there's still going to be old vulnerable versions out there - Sony can't force everyone to recompile their code).

      Even the base OS is unlikely to need recompiling with updated compilers - if it's even bothered with.

      The only "suck" happens if newer features of GCC are required in the code. But given the base OS probably won't change unless a major security vulnerability is found, they can switch to LLVM for the application code if newer features are required.

    5. Re:This is going to affect the Playstation 4 fork by whizzter · · Score: 1

      Well looking at the time this changeover has been in progress and that getting the userland and ports into sane order was the latter part of it i would suspect that they might already be running with llvm since the sony userland is probably stripped down and Sony's own code is running most of the show.

      That is assuming that the Sony devs had a good clue and sanity enough to track the mother project..

    6. Re:This is going to affect the Playstation 4 fork by TheRaven64 · · Score: 1

      You might want to look at the list of LLVM developers and see how many work at Sony some time. In particular, the LLVM Linker (lld) is lead by a Sony engineer. Now take a guess at which product group he works in...

      --
      I am TheRaven on Soylent News
  55. Re:two dictionaries say "no such word" by rubycodez · · Score: 1

    Microsoft will give you a "single pane of glass" for "future stars" to view all the "innovations" and "mentorship" in a "major paradigm shift" to "foster success"

  56. Re:Why? by Cramer · · Score: 2

    This would only be an issue if the "consumer device" were shipped with GCC on it. The complied result ("binary") from GCC is not bound by GCC's license -- if that were true, the entire world is violating the GPL.

    The simple truth is FreeBSD purists have always had their panties in a wad from anything and everything that wasn't "BSD licensed". The changes in GPLv3 have been enough of bad taste to get the rest of the gang to agree enough is enough.

  57. USER? Karma be damned. by aristotle-dude · · Score: 2

    BSD think of the freedom of the distributor, the GPL thinks of the freedom of the user. I see myself as a user, you see yourself as a proprietary distributor.

    FFS, I have had it with the "USER" bullshit. Real end users "use" the system and care more about usability than access to the source code. Most of them would not know how to write any code let alone audit it. Stop confusing yourself, an interested third party, with end users. You might also be a user but not all users are interested third parties with coding skills.

    The end user's "freedom" is actually limited when nerds argue over licensing terms and are unable to include some software because of it. I am a developer and a user and I find BSD for be free enough. It offers me the choice of proprietary implementation of a BSD project's code, open source BSD implementations and the ability to create my own proprietary implementation for me and my friends without having to hire a lawyer. I can also choose to contribute some or all of my modifications back to the community if I so choose. That is true freedom. The GPL is actually a form of slavery that you agree to enter into in order be able to modify the code. I would rather "pay" money and keep my freedom thank you very much. The price that the GPL imposes is too high a price.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
    1. Re:USER? Karma be damned. by Microlith · · Score: 2

      Real end users "use" the system and care more about usability than access to the source code.

      Ah, so you get to define who a "Real end user" is I take it?

      Most of them would not know how to write any code let alone audit it.

      Which is beside the point, really.

      The end user's "freedom" is actually limited when nerds argue over licensing terms and are unable to include some software because of it.

      Nonsense. You just don't like that the argument doesn't go 100% your way and others disagree.

      The GPL is actually a form of slavery that you agree to enter into in order be able to modify the code.

      I see we're back to hyperbole. No, you can modify the code all you see fit. You simply can't redistribute without complying with the GPL. Which isn't slavery by a long shot.

      The price that the GPL imposes is too high a price.

      For you maybe, but you're already acting unreasonably.

  58. Hey, don't look at me! by fustakrakich · · Score: 1

    I voted for Clodos

    --
    “He’s not deformed, he’s just drunk!”
  59. Does Clang support all of FreeBSD's platforms by nogginthenog · · Score: 1

    FreeBSD/amd64
    FreeBSD/ARM
    FreeBSD/i386
    FreeBSD/ia64
    FreeBSD/MIPS
    FreeBSD/pc98
    FreeBSD/ppc
    FreeBSD/sparc64
    FreeBSD/xbox

    I guess they dropped 68k...

    1. Re:Does Clang support all of FreeBSD's platforms by MachineShedFred · · Score: 1

      Just like everyone else, everywhere.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    2. Re:Does Clang support all of FreeBSD's platforms by TheRaven64 · · Score: 1

      We only made the switch to remove gcc from the default install on amd64, i386 and ARMv6. ARM v6 is still compiled with gcc (clang probably should work okay on ARMv4 and ARMv5, but the people still using them tend to be conservative). It's not yet the default on MIPS, but since we're about to release an open source MIPS core at my day job that runs FreeBSD we're working on improving MIPS support. PC98 is i386. It currently does include gcc, because some oddity in its bootloader requires gcc (not sure what). XBox is also i386. PowerPC 32 is still a little way behind (no PIC support, some issues with TLS), but PowerPC64 is now working fine with clang so will make the switch fine. IA64 is basically dead and Oracle seems to be trying to kill SPARC64 as a platform for anything other than Oracle software, so we'll see if they're still around in a few years. There is a SPARC64 back end in LLVM, but it's not well maintained because no one cares.

      --
      I am TheRaven on Soylent News
  60. Entirely BSD toolchain soon by Eravnrekaree · · Score: 2

    Since the FreeBSD Kernel is BSD licensed, it only makes sense to have the entire base toolchain BSD licensed as well. This is a big step in that direction. There is also a broader project to create BSD licensed versions of all of the core Unix utilities as well. Hopefully we will see this happen soon.

  61. Re:Boycott FreeBSD. by Eravnrekaree · · Score: 1

    FreeBSD is a fully open source operating system, with source code everyone can read and freely share. it is a "Free Software" system. If you mean that it doesnt have a license that tells you that you cannot link FreeBSD code to code under other licenses, then yes you are correct about that, and FreeBSD has always been this way, being a BSD licensed OS, which is why many people choose to use it. FreeBSD already has a BSD licensed kernel and always has.

  62. Re: Enough with the xkcd, please. by geminidomino · · Score: 1

    It's clearly stating some basic facts:

    1) XKCD isn't funny.

    2) References to XKCD aren't needed here at /., nor anywhere else.

    Someone who doesn't know the difference between a "fact" and a "subjective opinion" has no business bitching about anyone else's English comprehension or probability of a learning disability...

    There may be some undiagnosed medical condition preventing you from thinking in a clear, rational manner.

    Luckily, in you're case, it was identified years ago. I believe the current nomenclature is "recto-cranial inversion." Please, seek the help you need.

  63. Re:Just one question by Cramer · · Score: 1

    They're better at optimization - period. The only people that do it better are the people who built the processor. (read: intel -- icc, but don't try building the linux kernel with it, as there's way too much "gcc-ness" in the source code.)

    (Also, Sun made a better sparc compiler than gcc, back in the day)

  64. Re: Enough with the xkcd, please. by geminidomino · · Score: 1, Funny

    And yes, I typoed your/you're. I am now aware of this.

  65. Re:Netcraft confirms it by gagol · · Score: 1

    In that case, I think you CAN shoot the messenger...

    --
    Tomorrow is another day...
  66. Re:Good move by gagol · · Score: 1

    I will take a compiler that optimize less and make sure code is correct against one that try roo hard and break the software.

    --
    Tomorrow is another day...
  67. this is really good news by Lawrence_Bird · · Score: 1

    now if we could only move Fotran too.

  68. According to FreeBSD themseves, you can. by Anonymous Coward · · Score: 1

    They say in their attempt to justify not wanting any GPL licensed stuff near their stuff that they believe that free code should have NO STRINGS ATTACHED.

    IF this were actually the case (note: it is NOT), then they would be 100% fine with slapping a GPL license on the BSD code.

    After all, the ORIGINAL code is still available under BSD, right? That's the line about BSD code being taken propriatory, isn't it? That the original is still there for you to have?

    Not, apparently, when you take it GPL.

    Why?

    Because they have a rabid hate for GPL because they are first, foremosed and only developers and they think users should just fucking sit back and take what they have or be a developer themselves if they want any rights.

    1. Re:According to FreeBSD themseves, you can. by hedwards · · Score: 1

      What are you blathering on about?

      They keep the code separate because it's under a different license and by keeping it separate they aren't forced to change the license on all the rest of the code. If you look in the source tree, it's not just GPL code that's kept separately, there's an entire tree for contrib. The code in that module is still GPL code and the resulting binary is GPL when it's compiled in.

      Care to cite a reference for where the BSD license permits people to change the license other than the people that own the rights to the code? I'm guessing you can't, because it doesn't exist. Yes, you are permitted to take the code and compile it without providing the source, but the code itself is still BSD licensed code, and nothing is going to change that.

      Considering that it's the rabid GPL fanbois that seem to be of the opinion that forcing people to lie about using their code is such a great idea, I'm not sure how much credibility they have. The bottom line is that the code is going to be borrowed either way. At least with the permissive licensing it's likely that they'll post a notice that they're using the code and give back to the community.

      The GPL seemed like a good idea at the time, but at this point, this kind of heavy handed licensing is neither necessary nor useful.

    2. Re:According to FreeBSD themseves, you can. by david_thornley · · Score: 1

      You can't remove the BSD license without consent of the copyright holders. You can add stuff to it, so it becomes a derivative work, and license that under any license that doesn't have conflicting requirements with the original license. It's perfectly legal to take BSD-licensed code, do stuff to it, and release the changed software under GPLv3, with BSD still applying to the old parts. That's really no different from taking BSD-licensed code, doing stuff to it, and releasing the changed software under a proprietary license, which companies do all the time.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    3. Re:According to FreeBSD themseves, you can. by DuckDodgers · · Score: 1

      This is one of Slashdot's favorite flamewars. :) The Free Software Foundation members believe that all source code should be free, and remain free. It's a very heavy handed license on purpose.

      You claim the GPL is neither necessary nor useful. I emphatically disagree. I think Linux would have never become as popular as it is if Linus had licensed it under the BSD license or something similar. Businesses would have made proprietary forks whenever they saw something they wanted, and ignored the core Linux project the rest of the time for fear that anything they contributed back would be used against them by competitors while the competitors kept their own Linux innovations proprietary.

      GCC may be stale in some respects now (I honestly have never examined the source, I'm just going on common rumor). But it's enormously common. Would it have received as much attention, investment, and innovation if companies could just make proprietary forks of it? I doubt it.

      FreeBSD is an excellent product and LLVM/Clang are excellent too. But I absolutely believe they are only strong because Linux and GCC exist. If Apple wasn't trying to make something open source and equivalent to GCC for their own use, they wouldn't be heavily investing in LLVM/Clang development. Likewise for other companies. In my view, they only have motive to strengthen liberal license open source software because competent GPL software exists. If the GPL software did not exist, or was well outside mainstream use, most big companies would revert to investing in proprietary internal products instead of liberal license open ones. If LLVM is an awesome compiler, that's only because GCC exists.

    4. Re:According to FreeBSD themseves, you can. by DuckDodgers · · Score: 1

      I understand how that would work if I took, say, FreeBSD and LLVM and made a virtual machine, and in the virtual machine I write some piece of code that runs on the FreeBSD and compiles with LLVM, but the code I wrote is itself GPL. Then the release has BSD license restrictions on the operating system and compiler bits, and GPL license restrictions on the code I write.

      But if I modify the LLVM compiler, and release the modified version, I can make it part of proprietary software and still comply with the original BSD license. If I modify the LLVM compiler, and want to release the modified version GPL, then I have BSD license code calling into GPL license code, and GPL license code calling into BSD license code. As far as I can tell, that violates the terms of the GPL - all of the code it links with has to be GPL also.

      As far as I can tell, that combination can't be done. I honestly don't think the BSD license creators were intentionally trying to sink the GPL with their licensing provisions, but the practical result is that the BSD license is more friendly to re-use in proprietary software than re-use in "copyleft" ( https://www.gnu.org/copyleft/copyleft.html ) software.

      So I suppose if you want to make a "copyleft" fork of BSD license software, you would need to use something like the LGPL or the Eclipse Public License. Both of those require all redistribution of the software in source or binary form to include access to the source code of the LGPL or EPL license code and grant the recipient the right to redistribute that code in turn under the same license. But both do not place restrictions on other software that links with or otherwise interoperates with the LGPL or EPL code. But again, I have a very weak understanding of these things.

  69. Re:Just one question by dnaumov · · Score: 1

    Technically not true. There is lots of BSD-originated code in proprietary systems. The Windows version of the command-line FTP client that ships with Windows is a good example.

  70. Re:Good move by bluefoxlucid · · Score: 1

    Not mutually exclusive. The algorithms can be implemented correctly, but will still take more time. The output will be of better quality, of course.

    GCC suffers a lot from trying to change the underlying behavior into a static single assignment model when it was already mature. This is a good model, easy to analyze and ensure correctness; but rewriting a hell of a lot of complex code that does complex analysis to instead do the same analysis on a different type of data can result in errors. Initial implementation means understanding the internal representation, understanding the optimization, and understanding manipulation; re-implementation means understanding the old and new internal representations, understanding the optimization, understanding how the optimization is implemented, and understanding the old and new manipulation, and then figure out how to rewrite one piece of code to bring in different data and operate the same logic on it and then perform the same manipulation via a different mechanism.

    When you think about it, GCC is a really hard core piece of software and showcases some excellent work. Clang will probably be better quality because they're doing it the best way to start with, and so they can focus on getting it correct the first time instead of trying to rewrite existing correct code into new code that uses a different mechanism without breaking it.

  71. Re:Just one question by lister+king+of+smeg · · Score: 2

    I'm deeply disappointed that this issue was decided over philosophical instead of technical merits. If Clang was superior to GCC in the majority of benchmarks, then I would support this decision. But that’s not the case, GCC is still leading in most benchmarks and can be an order of magnitude faster when the popular OpenMP library is used.[1] Sadly, BSD users are the losers here.

    [1] http://www.phoronix.com/scan.php?page=article&item=llvm_33svn_competes&num=5

    So what would you prefer? That BSD threw out their entire licensing policy and adopted the GPL3? Or that they stuck with an old version of GCC that was licensed under the just about permissible to them GPL2 but that got no updates.

    Maybe they could have forked GCC then tried to maintain a version that was licensed under GPL2 and backported GPL3 GCC fixes into their fork but that strikes me as being a legal nightmare to be honest.

    It would have been more useful it phoronix compared LLVM/Clang 3.3 to GCC 4.2.1 and you posted that as that is the only thing the BSD community could use instead.

    This decision was forced by the GCC adopting the GPL3 but was probably always going to happen sooner or later. The BSD community and the FSF have VERY different ideas of what constitutes "free" software with the FSF actually wanting their code to be less free in order to make sure that if you use it you have to let other people see how you use it and keep any derivatives free.

    gcc being gpl v3 does not effect the output of the complier only code linked to or borrowed from it

    --
    ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
  72. Re: Just one question by dkf · · Score: 1

    [Clang] is also has much better diagnostics and c++ support so it is a positive change.

    It's also a lot more modular, reputedly (I've not verified that myself), and seems pretty fast to build. Mind you, I'd only really be interested if they were to work more on the stability of the ABIs of critical support libraries. Having to recompile for each version of libstdc++ was really annoying, given that maintaining a whole Linux distribution was never a desired personal goal of mine. Being able to ship the same binary to all users is nice, but even just one version per broad platform is better than what happens all too often.

    I think it's a shame that open compiler projects can't share more, even if just their techniques and not the code itself. I can see that the difference in license and philosophies behind them would push the camps apart though.

    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  73. And so what? by Anonymous Coward · · Score: 1

    If you took one line of microsoft code and put it in your BSD project, you'd be in jail!

    And, here's a weird idea: if you want the code, you can ask for permission.

    You know, ASK.

    Alternatively you can license YOUR code as GPL. That's free according to the FSF too, which you appeal to as authority on freeness.

    And guess what: that code you made GPL that was yours: YOU CAN STILL RELEASE IT BSD! Just not with that one line of GPL code.

    If you don't like this, then get copyrights ruled null and void.

    1. Re:And so what? by Bengie · · Score: 1

      And, here's a weird idea: if you want the code, you can ask for permission. You know, ASK.

      Yes, dig through GIT and track down the 20,000 people who may have touched those 5 lines of code and get written permission. Sounds great!

  74. Re:Why? by gnasher719 · · Score: 2

    This would only be an issue if the "consumer device" were shipped with GCC on it. The complied result ("binary") from GCC is not bound by GCC's license -- if that were true, the entire world is violating the GPL.

    So what happens with OpenGL or OpenCL, where code is compiled at runtime? That's the real reason why Apple found gcc 4.3 and later unacceptable, and I have some suspicion that was actually a reason for the license change. There are plenty of other places where compilation happens at runtime, like JavaScript.

  75. Re:Just one question by fast+turtle · · Score: 1

    Several reasons:

    1) GCC dropping support for so called Obsolete Hardware that Freebsd still supports. This makes it impossible to use the same compiler version across all hardware.

    2) GCC optimizations do not 100 percent produce identical binaries due to optimizations chosen by the compiler. This is a critical Security Issue that has been addressed with LLVM/Clang - speed isn't important at this time. A toolchain that produces 100 percent duplicate binaries was the requirement on all hardware that BSD supports.

    3) GPL issues - don't know/don't care as the Second issue is critical while the first was very important. Some of the hardware that BSD still supports isn't supported by anything later then GCC 2 (that's 15-20 year old hardware) think it's some mission critical systems they're being paid to support so worth the time/effort to solve the hardware support removal issue by the GCC devs.

    Guess what, you can't even use i386 for GCC anymore because they're supposedly obsolete yet they're still mission critical for the U.S. Government and Miltiary systems, meaning it is not obsolete but the GCC team removed support for the hardware anyway. Well since the Government isn't paying for support to GCC, Guess we can remove hardware that's a pain to support and isn't "Oh Shiny!" That was one of the big reasons given for the LLVM/Clang project 5-7 years ago AfaiR - found it interesting at the time and hoped they'd succeed as it apears they did.

    --
    Mod me up/Mod me down: I wont frown as I've no crown
  76. Re:Good move by gnasher719 · · Score: 1

    It's faster because it doesn't support as much optimization. Some analysis simply isn't implemented. That isn't to say it won't be faster when it's on even footing; just that right now huge swaths of algorithms are missing, so the output code doesn't perform as well but it does get produced in much less time.

    On the other hand, the Clang static analyzer alone is worth burying gcc in a big, big hole and leaving it there forever.

  77. Re:Why? by Cramer · · Score: 2

    We aren't talking about OpenWhatver, or JavaShit. We're talking about GPLv3 versions of GCC. It's all but unheard of for gcc to be included on a shipping consumer product -- DVR, NAS, router, switch, access point, cellphone, voip phone, pocket watch, coffee maker, network card, and so forth.

    FreeBSD has a passable compiler toolchain that isn't beholden to GPL, and they're running with it. Go for them. Someday it might produce code as small, fast, and efficient as gcc. (it you've ever worked with gcc source, you know what it's like to claw your eyeballs out. I don't practice that voodoo anymore.)

  78. Re:Just one question by Darinbob · · Score: 1

    I sort of have to stick with it, since I need it as a cross compiler, LLVM is not very tried and true with non-Intel processors. Plus it's a lot of code to patch up to make it work. Inline assembler and stuff like that. The "gcc" on MacOS was completely bonkers since it claims with preprocessor macros that it's GCC and yet it uses LLVM on the backend which broke code (again, inline assembler).

    Utlimately so many systems rely on GCC because it's been the de-facto standard for so long. Build scripts that parse for errors and warnings, "well known" command line options, and so forth. Be interesting to see how much stuff breaks.

  79. Re: Enough with the xkcd, please. by Archangel+Michael · · Score: 1

    Cranial Rectomitus is the term for this affliction that I learned. Has it been updated?

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  80. Not a Big Deal. by srobert · · Score: 1

    In practice, if you want to install a port on FreeBSD that needs to be compiled with gcc instead of clang, the installation will just pull gcc in as a build dependency. Other than the fact that the compilation will take a little while longer, you probably won't even notice it.

  81. Re:I'm blathering on about the FreeBSD statements. by hedwards · · Score: 1

    That applies in all cases. Even with public domain software. You cannot add a license unless you own the copyright to it.

  82. Re:Just one question by hedwards · · Score: 1

    Sure it's true. And that's why for years MS Windows had that BSD advertisement clause included in the software.

  83. Re:Just one question by evilviper · · Score: 2

    I'm deeply disappointed that this issue was decided over philosophical instead of technical merits.

    So you think we should scrap GCC all-together as well, and all switch over to Intel's C Compiler (ICC), since it's technically better?

    After all, you think philosophy doesn't matter...

    And GPLv3 incompatibilities with the project are more than just abstract "philosophical" differences, as it can impact use and distribution of FreeBSD.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  84. Re:Just one question by Kohlrabi82 · · Score: 1

    Useful error messages are a technical merit. It makes development much easier. So they traded run-time vs. development time here.

  85. Re:Just one question by serviscope_minor · · Score: 1

    Clang produces faster code

    Except according to all benchmarks.

    Clang's error messages are easier to understand than gcc's

    If you compare current Clang to old GCC then yes. If you use a new GCC, you'll see that it has much improved the error messsages.

    Clang has better support for C++11 than gcc

    Well known fact: clang supports 110% of C++11 compared to GCC's 100%.

    The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.

    Because GCC has a more complete frontend, better extensions, a better optimizer and much better OpenMP support.

    --
    SJW n. One who posts facts.
  86. What does this mean for OSX and Xcode? by Monsuco · · Score: 1

    I don't really care about the philosophical implications. What I want to know is if I'll still need to download Xcode from the App Store to get a copy of GCC.

    1. Re:What does this mean for OSX and Xcode? by Guy+Harris · · Score: 1

      What does this mean for OSX and Xcode?

      Nothing. The subject line says "FreeBSD", not "OS X" or "Xcode".

      What I want to know is if I'll still need to download Xcode from the App Store to get a copy of GCC.

      Then ask Apple whether 1) the only way to get a compiler from Apple will continue to be to download Xcode and 2) whether Apple will continue to provide GCC.

  87. Re:Why? by Dog-Cow · · Score: 1

    The LLVM toolchain, especially clang, is also way better than gcc for Objective-C code. I think the ease of modification is the true reason that Apple prefers it over gcc.

  88. Re:Just one question by Dog-Cow · · Score: 1

    Most OS X and iOS programmers have been using llvm/clang for the past year or so, on both x86 and ARM. Xcode 5 (GM seed available now) only supports clang. GCC is officially out for Apple development.

  89. Re:Why? by smash · · Score: 1

    That. It's also way better for plugging into an IDE, generates way better compiler error messages, etc.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  90. Re:Just one question by Darinbob · · Score: 1

    Yes, but you can use Apple computers for stuff other than Apple development. I am not a MacOS or iOS programmer, except as far as creating in-house tools.

    The real problem though is the weird hybrid that Apple added. /usr/bin/gcc is not GCC and is also not LLVM, but a mix of the two. If you use "gcc" it claims to be GCC-4.2.1 even though it rejects some code that should work for gcc 4.2.1. I'd have been happier if they just got rid of gcc altogether rather than leave around a legacy version that doesn't work as it caused a lot of wasted time and confusion.

  91. Re:Just one question by smash · · Score: 1

    Benchmarks are nothing to do with it. CLANG is more modular, generates better compiler warnings, plays nicely with IDEs and works better with Objective-C, for a start.

    Benchmark performance can be improved with time. CLANG was started mostly because the GCC maintainer(s) were not interested in improving the objective-c support.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  92. Re:Just one question by smash · · Score: 1

    Have you read the CLANG source to compare?

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  93. Re:Just one question by armanox · · Score: 1

    Sun's compilers are still available (last I checked) for Solaris on SPARC, Solaris on Intel, and Linux on Intel.

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  94. Re:8,346,892% wrong. by smash · · Score: 1

    removed one of the licenses.

    I've just decided I'm going to remove the license for the software I have on my machine because I don't like it. I'm sure Microsoft and Apple will be just fine with this, as the precedent has been set by somebody doing this with BSD code and replacing it with GPL.

    for the sarcasm impaired: you can't REMOVE somebody's license simply because you don't like it.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  95. Re:Just one question by willy_me · · Score: 1

    The real problem though is the weird hybrid that Apple added. /usr/bin/gcc is not GCC and is also not LLVM, but a mix of the two. If you use "gcc" it claims to be GCC-4.2.1 even though it rejects some code that should work for gcc 4.2.1. I'd have been happier if they just got rid of gcc altogether rather than leave around a legacy version that doesn't work as it caused a lot of wasted time and confusion.

    Standard GCC 4.0, GCC 4.2, and 4.2 with LLVM backend are installed with XCode - at least the current version. Calling "gcc" executes the version with the LLVM backend. If you want the standard GCC backend, just call "gcc-4.2" in place of "gcc".

    Complaining that Apple has provided too many compiler options is a little ridiculous. Developers should be able to figure these things out. One expects Apple to simplify things for regular users; but as a developer, I appreciate that various options were made available.

  96. Re:two dictionaries say "no such word" by Guy+Harris · · Score: 1

    Microsoft will give you a "single pane of glass" for "future stars" to view all the "innovations" and "mentorship" in a "major paradigm shift" to "foster success"

    But only if you proactively leverage your synergies.

  97. Re:Just one question by Ash+Vince · · Score: 1

    gcc being gpl v3 does not effect the output of the complier only code linked to or borrowed from it

    So? This is about them including the compiler in the base system. Or are you suggesting they include a completely different complier as part of the base install to the one they actually use internally to build the system?

    --
    I dont read /. to RTFA, I read /. to offend people in ignorance.
  98. Re:8,346,892% wrong. by 1s44c · · Score: 1

    TdR is the Gordon Ramsey of UNIX. Mad Skilled but he goes APESHIT whenever he sees something he doesn't approve of.

    But if you take code and change the authors license that's stealing. Just because you don't like their license to begin with doesn't make it OK. Unless the license was written in such a way that it was permitted to permanently relicense the code and derivative works Theo was in the right here.

  99. Re:Just one question by dnaumov · · Score: 1

    Which sure as hell doesn't mean ftp.exe is licensed under the BSD license.

  100. Re:two dictionaries say "no such word" by Bengie · · Score: 1

    Trolls and anti-trolls have a symbiotic relationship. Two faces of the same coin.

  101. Re:143,409% wrong. by Bengie · · Score: 1

    Because you can make changes to GPL'd code and distribute the binary without the code you used to compile it with?

    Kind of like saying the drunk driver didn't kill that person, excessive g-forces did. Just a technicality with no practical merit.

  102. Re:Just one question by Bengie · · Score: 1

    BSD gets imported into Linux quite often. The only requirements for BSD 2 clause are these

    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    Since GPL already requires the source distributed and the BSD clause just requires the copyright notice, it plays nicely.

  103. Re:Fuck off. by Bengie · · Score: 1

    No developers, no software, except in the case where you define the developer as the user, but then GPL says it does not care about the freedom of the developer.. I'm so confused.

  104. Re:Good move by david_thornley · · Score: 1

    Optimizers try to keep correct code correct, and in my experience do a good job of it. If a program works with Clang, and doesn't on g++ with optimization turned up, I'd suspect there was undefined behavior in the program.

    There's tradeoffs here. An optimizer that assumes it's working on correct code can do better, but C and C++ have a lot of undefined behavior, and in some circumstances a compiler that doesn't optimize as aggressively and accepts some undefined behavior may be more useful. On the third hand, you don't know if the less aggressive optimizer is interpreting the undefined code the way you'd expect, so there's advantages to simply and obviously failing.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  105. Re:Just one question by dmoen · · Score: 1

    That benchmark is old. OpenMP support for Clang was announced last week.
    http://openmp.org/wp/2013/09/clang/

    OpenBSD 10 hasn't been released yet, so it is premature to say that "BSD users are the loser here".

    --
    I have written a truly remarkable program which this sig is too small to contain.
  106. Re:Why? by TheRaven64 · · Score: 1

    Lots of our downstream consumers (especially embedded systems companies) have a policy of 'no GPLv3 on the premises'. They don't want the potential liability, and they especially don't want to make it easy for them to accidentally distribute GPLv3 code. Even if they're not planning on shipping GCC in their product (and, by the way, a lot of them do ship toolchains - embedded also includes companies like NetApp and Juniper - as it makes servicing easier), there's the potential to do it accidentally if the code is sitting there on developers' machines.

    --
    I am TheRaven on Soylent News
  107. Re:Why? by TheRaven64 · · Score: 1

    Apple doesn't directly fund FreeBSD, but they do sometimes contribute code. For example, most of the MAC framework (SEBSD) was funded by Apple and developed for both FreeBSD and OS X (the pluggable policy stuff in that makes the sandboxing for iOS and Mac App Store apps possible). When Apple wants kernel code written, they often contract work to FreeBSD devs, and are sometimes willing to fund the FreeBSD version at the same time because code that's generic enough to work on both kernels.

    --
    I am TheRaven on Soylent News
  108. Re:Just one question by TheRaven64 · · Score: 1

    Performance isn't the only metric by which you judge compilers, although I agree that it's an important one. OpenMP support affects a very small number of programs. Intel has just open sourced (BSDL) their OpenMP runtime and is pushing patches into clang, so that support should appear soon. The rest of the benchmarks show very little performance difference between clang 3.3 (which is in FreeBSD 10.0) and gcc 4.8, and neither is a clear winner in all cases. In comparison to the last GPLv2 GCC (4.2.1), which FreeBSD currently ships, both are significantly faster. If you need OpenMP today, gcc 4.8 is in ports, so just install the lang/gcc48 port and use it.

    However, as I said, performance is not the only metric. Clang has full support for C++11 and supports more of C11 than GCC (for example, it correctly supports _Atomic and it supports _Generic). In FreeBSD, we're now using _Generic in a number of system headers and so you get better error reporting if your compiler supports them (fallback code exists if it doesn't). We found a few logic bugs in ports as a result of this, some of which have existed on other platforms and compiled without warnings for years. So, if you want to use the latest versions of C, C++, or Objective-C, clang is a better choice for you. We're also now shipping libc++ as the default C++ standard library, so we have a complete C++11 stack.

    If you're developing C-family code and don't have a Coverity license, then having the clang static analyser around is also very helpful (it's built into clang, so you get it as part of the default install).

    --
    I am TheRaven on Soylent News
  109. Re:Just one question by TheRaven64 · · Score: 1

    I was a clang committer before I joined the FreeBSD project. I became a clang committer because I wanted an Objective-C compiler that supported a modern dialect of the language for non-Apple platforms. I took a look at the Objective-C code in gcc. It mingles parsing, semantic analysis and code generation in a convoluted knot. After a week of failing to understand it, I took at look at clang. At the time, Clang has parsing support for Objective-C, but no code generation support at all. Within a week, having never looked at the Clang codebase before, I had it generating code for a superset of the language that GCC supported.

    I've also use clang to do syntax highlighting, to inspect files for type information for use in an FFI for a JIT-compiled language, and as a static analyser. How many tools have you seen that are based on GCC and aren't compilers?

    --
    I am TheRaven on Soylent News
  110. Re:Just one question by TheRaven64 · · Score: 1

    Yes, well known and accepted. The craptastic GCC developers have been hurting its improvements for years. They have serious control freak issues and as such, GCC has fallen well behind the curve. This isn't a new topic of discussion.

    I'm a clang developer and you're a troll. Clang is faster than GCC on some benchmarks. GCC is faster than clang on others. The new autovectorisation code in Clang is usually faster than GCC, sometimes a lot faster, occasionally slower. Clang doesn't yet have the OpenMP support upstream. In most real-world code you won't see a difference of more than 10% between them, and even then you won't see a consistent winner.

    I don't like GCC, and I don't use GCC (except on MIPS, where clang isn't quite ready), but GCC is not 'well behind the curve', it still gives acceptable performance. It was never the fastest player (ICC, XLC and Open64 were all faster), but it's pretty respectable.

    --
    I am TheRaven on Soylent News
  111. Re:Just one question by TheRaven64 · · Score: 1

    And (at least legally, there may be some exceptions), none of the code in these proprietary products was relicensed. It is built and shipped in accordance with the terms of the license, which permits redistribution in proprietary form as long as you provide attribution, don't sue the original developers if it doesn't work, and don't use their names to advertise your product. The fact that the overall work may have a different license from its components is a different issue. This is why detractors call the GPL 'viral', in that it (more or less) requires any work that contains GPL'd components to be GPL'd.

    --
    I am TheRaven on Soylent News
  112. Re:I'd be suspicious by TheRaven64 · · Score: 1

    RDRAND is not used directly, it's 'whitened' by Yarrow or a similar algorithm (there are now a few pluggable options, although I'm not sure they made it into 10.0). It's one entropy source, and things like interrupt timings and so on are others. If RDRAND is produces non-deterministic data in a way that are easy for the NSA to predict then there are some possible network attacks involving TCP sequence numbers early on in the boot. After that, there are other entropy sources (e.g. interrupt timings) that make it much harder to predict the inputs to Yarrow (and, unless Yarrow is also broken, you need all of the inputs to be able to predict the output).

    --
    I am TheRaven on Soylent News
  113. Re:Good move by TheRaven64 · · Score: 1

    With my LLVM dev hat on, please can you point to some analyses that are implemented in GCC and not LLVM? I have some masters' students in need of interesting projects in a few months...

    --
    I am TheRaven on Soylent News
  114. Re:Boycott FreeBSD. by TheRaven64 · · Score: 1

    Seriously, the core devs hate free software

    Speaking as a member of the FreeBSD Core Team, who contributes code to a GNU project (GNUstep) and has signed an FSF copyright assignment for the purpose, and who was the one to make the disable-gcc-by-default commit, I have to say: What?

    --
    I am TheRaven on Soylent News
  115. Re: true spirit of freedom by santax · · Score: 1

    Thank you for your lengthy response to what I said. I have to agree with you. I used the words true/free based upon my own bias and I shouldn't do that. Good point, I will take that into account for the future. Especially since it's such a 'holy' (as in vi vs emacs) subject. About the ps: I personally don't see it as stealing what Apple did. I consider the BSD license as sort of saying: Here, you can have this. It's a gift. Do what you want with it. And albeit not being too keen on Apple for other reasons, they had every right to use the codebase under the BSD. So no stealing as far as I am concerned. It's funny you mention RMS. I have great respect for him and consider him to be one of the pioneers of the tech-world. When he speaks, I listen. I don't always agree with him 100%, but most of the time I think he's right. To be honest, when I started reading your post for a moment there I thought I got AC'd by him. Again, thank you for this very interesting response. I wasn't expecting such a post from an AC.

  116. Re:fuzzy on licensing by DuckDodgers · · Score: 1

    Thanks for the thorough pieces of information. I learned a few things, and with the stuff I didn't learn I agree on most. However, I'm going to disagree with your last paragraph.

    I think a fundamental reason most modern websites are written in languages like Perl, PHP, Python, Ruby, or even Java is that those languages have a much faster compilation cycle than C or C++ for complex applications. Of course the scripting languages are compile-and-run in one fast step. For certain classes of applications where speed is essential, you can't escape the need for C or C++ or something similar. Otherwise, I think the speed of the change-save-run cycle trumps the speed of the execution in importance by a wide margin.

    A company with a big war chest of money like Google, Microsoft, Oracle, or IBM can pick (or build) the compiler that lets their 100 servers serve the results as quickly as possible because they're battling costs associated with thousands of servers. But for some company that's looking at 50 servers, or 20, or 3, the company with the quicker compiler probably has his product on sale while the other company is twiddling its thumbs. Whenever I've had to stop what I'm doing to wait for something to finish at work, inevitably I switch from being productive to wasting my time doing something else (like, just for the sake of argument, posting to Slashdot).

  117. Re:Good move by m.dillon · · Score: 1

    GCC tends to overoptimize things to the point where the optimizations become self-defeating.

    -Matt