Slashdot Mirror


FreeBSD 10 To Use Clang Compiler, Deprecate GCC

An anonymous reader writes "Shared in last quarter's FreeBSD status report are developer plans to have LLVM/Clang become the default compiler and to deprecate GCC. Clang can now build most packages and suit well for their BSD needs. They also plan to have a full BSD-licensed C++11 stack in FreeBSD 10." Says the article, too: "Some vendors have also been playing around with the idea of using Clang to build the Linux kernel (it's possible to do with certain kernel configurations, patches, and other headaches)."

711 comments

  1. What's wrong with GCC? by jomcty · · Score: 5, Interesting

    What's wrong with GCC?

    1. Re:What's wrong with GCC? by jps25 · · Score: 5, Informative

      The GPL.

    2. Re:What's wrong with GCC? by mwissel · · Score: 2

      One thing might be GCC is licensed under the GPL while LLVM/Clang are under a BSD(-like) license.

    3. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      It doesn't have the buzz. After all, MongoDB is webscale!

    4. Re:What's wrong with GCC? by UnknowingFool · · Score: 1

      From the article:

      The FreeBSD developers are interested in doing away with the GPL-licensed GNU Compiler Collection and instead use the Apple-sponsored LLVM/Clang work that's under a BSD-like license.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    5. Re:What's wrong with GCC? by UnknowingFool · · Score: 2

      Other than LLVM and FreeBSD falling under BSD style licenses, you might have had a point.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    6. Re:What's wrong with GCC? by vlm · · Score: 4, Informative

      Aside from the more or less irrelevant licensing issue, clang is all about the source analysis tools, refactoring, rewriting support. Uses less memory and time. Both caused by lack of optimization.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    7. Re:What's wrong with GCC? by bonch · · Score: 5, Informative

      Clang and FreeBSD aren't proprietary software. They're BSD-licensed open source. That code doesn't magically disappear when a company uses it.

    8. Re:What's wrong with GCC? by BasilBrush · · Score: 5, Informative

      Avoiding te GPL is the main reason. But Clang also has many technical superiorities to GCC too. Wikipedia gives a quick outline of them.
      http://en.wikipedia.org/wiki/Clang

    9. Re:What's wrong with GCC? by rev0lt · · Score: 2

      No only licensing issues, but also performance. While CLANG may not have all the bells and whistles of GCC, it does a good job compiling C code - and given that the base system is mostly C, even a small improvement in compile time (and memory usage) can make a big difference, specially for those who - like me - prefer to build and upgrade from source.
      Another motive to seek alternatives (but not directly related to FreeBSD) is the lack of support of some architectures. Some "obsolete" architectures were removed post GCC 2.95, but some BSDs still support them today. Having a easy to port, actively developed, BSD licensed compiler is way better than to rely on some archaic GCC version.

    10. Re:What's wrong with GCC? by DarkHelmet433 · · Score: 3, Interesting

      Well.. GPLv3 specifically. FreeBSD is stuck on GCC-4.2, the last GPLv2 gcc compiler. It's getting quite dated now. It's a switch from gcc-4.2.2+ hacks/patches to clang instead of a GPLv3'd gcc-4.6 or later.

      "Stuck"? FreeBSD gets a foot in the door of companies where GPL (and GPLv3 in particular) is something they'd prefer not to deal with. Being able to use a modern GPL-free OS as a foundation of a product is a convenient option to have. And being GPLv3-free can be even more compelling.

    11. Re:What's wrong with GCC? by Lisias · · Score: 2, Insightful

      Clang and FreeBSD aren't proprietary software. They're BSD-licensed open source. That code doesn't magically disappear when a company uses it.

      But the contributors do.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    12. Re:What's wrong with GCC? by Alex+Belits · · Score: 5, Interesting

      And WHY would a company want to avoid GPL compiler, unless it intends to distribute a sabotaged version of the compiler?

      --
      Contrary to the popular belief, there indeed is no God.
    13. Re:What's wrong with GCC? by bonch · · Score: 1, Insightful

      One example would be integrating the compiler with its own custom tools. Whether or not you consider this to be a sabotaged version depends on if you believe BSD-licensed source code suddenly disappears from existence the moment a company uses it for something.

    14. Re:What's wrong with GCC? by iluvcapra · · Score: 2

      But whenever Apple tweaks their Xcode branch of Clang and don't release the tweak the day they push the binary, it kills a Magic Free Software kitten.

      --
      Don't blame me, I voted for Baltar.
    15. Re:What's wrong with GCC? by rubycodez · · Score: 0

      so what, so those branches with fruit for a few die off while the main tree continues to flourish. the problem has its own natural solution

    16. Re:What's wrong with GCC? by cheesybagel · · Score: 0, Flamebait

      The BSD guys are an interesting crowd. Well they can continue to watch Microsoft and Apple pilfer their software stack usually giving nothing in return while they can use GNOME or KDE or whichever other GPL or LGPLed project exists on their system (takes only a recompile) because otherwise they don't have a useable desktop and are stuck with 1980s user interfaces. I have used clang and it was neither faster to compile nor produced faster code than GCC. The only noticeable thing is the ANSI colored error messages... blech. I understand it is supposed to be easy to port because of LLVM but the fact is GCC has already been ported basically to every architecture that matters so it probably wasn't that hard to port GCC either. Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back. All it takes is a change of heart or leadership. I still remember in the early days they only released source code much time after they did the release which is counter to the GPL people had to beg to them to get access to the source code or, heaven forbid, actually participate in development (it seems for Apple all developers outside of Apple are a bunch of idiots who can't code or something).

    17. Re:What's wrong with GCC? by beelsebob · · Score: 4, Informative

      1) It compiles slower than clang at -O0
      2) It produces slower code than clang at -O3 and -Os
      3) It's error and warning messages are not as good
      4) It's not as modular as clang, which can be used in parts, to produce useful tools like CSA
      5) The GPL.

    18. Re:What's wrong with GCC? by Fred+Ferrigno · · Score: 4, Insightful

      The derivative works companies build using BSD-licensed software are effectively proprietary software. And if they control the hardware, they can make sure it only runs binaries signed by them, so you can't even run the original unmodified code.

    19. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Libertarians hate GNU.

      I wasn't aware that we did. Why, specifically?

    20. Re:What's wrong with GCC? by Pinky's+Brain · · Score: 4, Insightful

      The GPL has never really been the issue, LLVM was offered for GPL-Next ... but the GCC maintainers have always insisted upon a monolithic compiler without standardized intermediary representations to prevent other compiler builders just using GCC as a front end and thus refused, but that's on the maintainers and not the GPL.

    21. Re:What's wrong with GCC? by Alex+Belits · · Score: 3, Informative

      One example would be integrating the compiler with its own custom tools.

      The only valid way of integrating compiler with custom tools is calling the compiler from them (everything else is shit design made by shit developers). That was done with gcc for as long as gcc exists.

      --
      Contrary to the popular belief, there indeed is no God.
    22. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      Try asking Microsoft for the source code of their OS (particularly Winsock which is a ripoff of BSD sockets) and see how far you get. Even if you get the source you will not be able to modify it and redistribute the changes.

    23. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      They have been interest in it since like forever. Last I heard they were working on their own (failed) compiler. It seems they decided it was too much effort and jumped in the clang bandwagon.

    24. Re:What's wrong with GCC? by rubycodez · · Score: 2, Interesting

      maybe they want to distribute a USEFUL version of the compiler, for a particular purpose. Stallman et. al has long battled to keep usable API and plugin points to the front end of gcc only, and to prevent such in all parts of the toolchain, even to keeping the documentation for parts obfuscated. screw that, some people want real freedom....

    25. Re:What's wrong with GCC? by Xpilot · · Score: 1

      You know how BSD advocacy folks like to tell you they "don't like politics"? It's kind of like the story in the Onion about that guy who keeps telling people he doesn't own a television and how much more fulfilling his life is, even when no one asked. BSD advocacy folks are _just as political_ as the GPL crowd. The reason to use GCC isn't performance, it's the only free compiler that supports a multitude of target architectures. And that's very very useful. Dropping utility over licensing kind of smacks of the thing GNU is accused of when BSD advocacy folks get all snooty about technical superiority.

      --
      "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
    26. Re:What's wrong with GCC? by bonch · · Score: 4, Interesting

      After all these years of BSD code existing and thriving without issue, it's amazing that people still spread this kind of fearmongering despite the fact that this scenario has never come true.

      The original code and its contributors don't magically disappear the moment a company makes a closed change. And if a company makes contributions it doesn't show anyone, you're free to make your own open contribution that competes with it. In fact, it's in company's best interests to rely on open contributions, because they don't want to waste time and manpower on, say, maintaining a compiler. This has proven to be the case with Clang. There hasn't been some evil proprietary fork that somehow ruined the world--and even if there was, people would just contribute free versions of the fork's features to the main tree. Companies are smart enough to know that this would happen and therefore realize that closed contributions of major features would be wasted effort.

    27. Re:What's wrong with GCC? by UnknowingFool · · Score: 1

      First of all this isn't true as Winsocks was all MS. You can tell by how crappy it was. If it had been based on BSD, it would have worked well. Second, when someone modifies BSD and doesn't release their changes, the original source code doesn't magically disappear from the BSD repositories.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    28. Re:What's wrong with GCC? by Alex+Belits · · Score: 1

      How is any of that related to licensing?

      --
      Contrary to the popular belief, there indeed is no God.
    29. Re:What's wrong with GCC? by Kjella · · Score: 3, Interesting

      "Stuck"? FreeBSD gets a foot in the door of companies where GPL (and GPLv3 in particular) is something they'd prefer not to deal with. Being able to use a modern GPL-free OS as a foundation of a product is a convenient option to have. And being GPLv3-free can be even more compelling.

      Not to troll, but what companies are those? What's the closest thing to Red Hat that's selling FreeBSD support, what volume are we talking about? Or are they all providing their own support? Don't get me wrong, I know particularly a lot of web hosting companies run it - 6/39 of the top providers on Netcraft's list are FreeBSD, but I doubt they have a problem with the GPL. If BSD went away, they'd probably just join all the Linux hosting companies. There's of course Apple and then there's.... who?

      --
      Live today, because you never know what tomorrow brings
    30. Re:What's wrong with GCC? by Gerald · · Score: 1

      It's missing a decent static analyzer?

    31. Re:What's wrong with GCC? by rubycodez · · Score: 4, Informative

      the topic of this thread is "What's Wrong With GCC?", not "What's Wrong with the GPL"

    32. Re:What's wrong with GCC? by Anonymous Coward · · Score: 3, Insightful

      Winsock isn't based on BSD sockets. And it wouldn't matter if it was. The original BSD source would still be there. Why does every BSD scaremonger act like the original source goes away? How many decades of BSD software has to exist without issue before people stop making this bogus argument?

    33. Re:What's wrong with GCC? by ommerson · · Score: 5, Informative

      One of the key design objectives of Clang is that it is highly modular, and implemented in such a way that various compilation stages are self-contained, and have clean APIs and data structures. This allows development tools such as IDEs to link directly against the stages of the compilation pipeline then need to implement syntax highlighting, code completion, refactoring tools and so on.

      Apple's XCode does precisely this, and licensing and lack of modularity in the GCC source tree would have been major factors in their choice to support Clang and LLVM development.

      The traditional way of implementing these functions in IDEs has been to effectively re-implement the front-end of the compiler (often not completely). This is a big deal when developing in C++ against the STL/Boost/TR1 when you find that code completion can't grok template properly. This is something that XCode and Visual Studio (which takes a similar approach) are both capable of doing.

    34. Re:What's wrong with GCC? by garyebickford · · Score: 1

      I know some F500 companies do that. Chevron, for example, back in the late 1990s had their own custom version of Windows. (I haven't been there since, so I don't know if it's still true.) they would also fire you if you opened the computer, or loaded any software onto it. They pushed new software onto your machine any night they felt like it.

      It reminded me of Mordor when I visited the company.

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    35. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      You know, it's been my experience that when someone says something along those lines (any other way of doing something is shit, and anyone who does it is shit) that they really don't know what they are talking about, are full of themselves.

      LLVM is built specifically as libraries for tool integration, and for very good reasons. Of course I'd argue that you have to "call the compiler" with gcc for pretty much every use case is the result of the way that gcc modules are so closely tied together. IMHO that's shit design.

    36. Re:What's wrong with GCC? by PhrostyMcByte · · Score: 1

      It's not like devs are putting their code under BSD with the expectation that companies will share back, only to be in total shock and feeling scorned when a company doesn't. If they cared about that issue as much as the loud people on /. did, they'd be using GPL.

      /. can keep waging the license war, while devs will continue to ignore it and license their code in whatever way they're comfortable with.

    37. Re:What's wrong with GCC? by ommerson · · Score: 4, Insightful

      Precisely who do you think has done a lot of the development on Clang/LLVM over the last few years and contributed it to the wider community?

    38. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Actually it is a matter of mass and probably marketing/selling. I believe it happened famously with Spice, made to comercial LTSpice, which made pop http://www.gnu.org/software/gnucap/ to replace it, but the damage was already done.

    39. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      I don't get this. I can understand if someone doesn't want non-copyleft license. They want to ensure that the code stays free. Why the strong feelings about BSD? Do they want to ensure that you can close the source? Why is that so important unless you are a corporation, and I think most BSD developers are volunteers. I might be wrong though.

    40. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      That's ridiculous. The GNU GPL is a tool for maintaining the freedom in our computer systems. You clearly don't understand how it works.

      GPL'd software is open source, so if you don't think the documentation is sufficient go and read the source and write better documentation for it.

      As someone else mentioned, if you want to integrate with gcc just call it from your tools , and your tools don't have to be GPL'd to do that.

    41. Re:What's wrong with GCC? by Alex+Belits · · Score: 2, Insightful

      You know, it's been my experience that when someone says something along those lines (any other way of doing something is shit, and anyone who does it is shit) that they really don't know what they are talking about, are full of themselves.

      Or, maybe, they have seen it done the shit way before, and want to warn people against doing it again.

      --
      Contrary to the popular belief, there indeed is no God.
    42. Re:What's wrong with GCC? by jedidiah · · Score: 1, Informative

      Of course the GPL will be brought up sooner or later as a sort of bogeyman.

      I never did get why any sort of freeware community would shill for corporate abusers.

      If you need to care about something like the GPL then you are violating basic modularity principles taught in the first year of any CS program.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    43. Re:What's wrong with GCC? by Alex+Belits · · Score: 1

      the topic of this thread is "What's Wrong With GCC?", not "What's Wrong with the GPL"

      The brancg you are answering to, starts from my response:

      And WHY would a company want to avoid GPL compiler, unless it intends to distribute a sabotaged version of the compiler?

      --
      Contrary to the popular belief, there indeed is no God.
    44. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Three words. Embrace, Extend, Extinguish. Instant vanishing has nothing to do with it.

    45. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      It's not as easy to pronounce as "CLANG".

    46. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Which would explain the "awesome" growth of BSD. Your analogy is actually pretty self defeating as commercial "fruit" growers generally keep their "fruit" trees and vines trimmed down to a certain size to maximize "Their" harvest. Explains a lot really.

    47. Re:What's wrong with GCC? by Anonymous Coward · · Score: 3, Interesting

      Someday, when the whole world of technology is balkanized, where premium code contributions are walled of into proprietary software owned by Apple, Google and Facebook, we will wonder how "open source" became a form of virtual date rape.

      Quite the opposite from what I've seen. iXsystems, Isilon, Netapp, etc., have found it much better to contribute non-special sauce code back to the project than keeping it in house. Any patches that you don't contribute, you have to maintain, and over time will drift from the mainline development of the public code. Unless the patches are very sensitive and core to your product differentiation, it makes no sense to keep them hidden.

      People will contribute back to BSD projects because it is the most practical thing to do.

      I'm sure you can see similar things with Postgres, which is also BSD-licensed.

    48. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      What do you mean by "multitude of target architectures"?

      I believe FreeBSD is mostly a i386/x86_64 projectet.

      There have been or are now other architectures: Alpha, Sparc, PPC, MIPs, and ARM.

      So the multitudes of supported architectures?
      Which of the above does LLVM not support?
      What architectures not mentioned above does GCC support, and why should FreeBSD team care?

    49. Re:What's wrong with GCC? by mcneely.mike · · Score: 0

      But wouldn't it be nice if Apple had to give back the good work they have done (built on the shoulders of giants)?
      Wouldn't it be nice to be able to play with some of their goodies, just like they are playing with the BSD guys/girls goodies?
      Wouldn't it just be nice to play with each others goodies? You know, to give back? Yes, Yes, YES, YES!

      Was it good for you? :-)

      --
      soylentnews.org Go there to enjoy the people!
    50. Re:What's wrong with GCC? by rubycodez · · Score: 1

      You are saying BSD servers and routers running BSD code not used much on the internet? or that BSD is not used much in printers, elevator controllers, etc. rather ignorant point of view, BSD code is very successful.

    51. Re:What's wrong with GCC? by mysidia · · Score: 1

      It raises the question... given the much better featureset, why are the major Linux distributions still using GCC to compile the kernel and all the OS packages?

    52. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1
      Ever thought that you're projecting here? The BSD guys are obviously less upset about this than you are, so perhaps the issue is more with your dislike of the perceived inequities of BSD licensing, as suggested by your describing the adoption of BSD code without returning changes as being "pilfering". Sure, and downloading copyrighted music is stealing? The original code remains, and anyone releasing under a BSD license must accept that there's no mechanism forcing adopters to return changes.

      Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back. All it takes is a change of heart or leadership.

      Sure, a change of heart like when GCC and other projects went over to GPLv3? That sure didn't cause any problems for people left having to maintain their own pre-GPLv3 forks.

      (it seems for Apple all developers outside of Apple are a bunch of idiots who can't code or something).

      If I doubted that you're a moron, this closer sealed the deal. Borrowing your flimsy and angst ridden reasoning, I could just as reasonably claim that Adobe thinks that Jewish footballers are a bunch of idiots who can't cook. As well as showing an advanced ability to miss the fucking point, you are a parody of yourself and no doubt the reason why your mother so often cries herself to sleep.

    53. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Winsock isn't based on BSD sockets.

      GP was probably confused with the TCP/IP stack, which did derive from BSD code.

      And it wouldn't matter if it was.

      Maybe not to you, but you haven't coded it. As a coder who has contributed to quite a lot of projects, I would feel pretty crappy if some company would just take the results of my effort without sharing changes if they improve something. I specifically refuse to contribute to projects with bad licences, such as BSD, because of that.
      Of course, other programmers might not care, but from discussions I've seen here on Slashdot, I think that the majority of contributors to BSD-licensed projects fall into two categories. 1) Commercial developers. Sometimes there is a good economic case for contributing back even if you don't have to; I recognise that, but also recognise that it's no guarantee for the future. 2) People who have been duped into thinking that the GPL isn't free enough, caused by misinformation spread by BSD propagandists.

    54. Re:What's wrong with GCC? by itsybitsy · · Score: 1

      GCC itself.

      "The development of a new front-end was started out of a need -- a need for a compiler that allows better diagnostics, better integration with IDEs, a license that is compatible with commercial products, and a nimble compiler that is easy to develop and maintain. All of these were motivations for starting work on a new front-end that could meet these needs."
      http://clang.llvm.org/

    55. Re:What's wrong with GCC? by 0100010001010011 · · Score: 2, Informative

      iXsystems. Juniper Networks. Apple

      I'm willing to bet that all three have some proprietary stuff that they're not feeding back. It doesn't mean that they completely ignore the community. Apple owns CUPS now. iXsystems picked up FreeNAS development.

      GPLv3 wouldn't probably make it anywhere into these companies.

    56. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Yeah, but be fair - those guys aren't really libertarians; they're laissez-fairians.

    57. Re:What's wrong with GCC? by Nutria · · Score: 1

      So the 3rd wave BSD companies learned the lesson of the 1st wave BSD companies, that taking the BSD source and running off to make your own OS does nothing but fracture Unix and give Wintel the opening to dominate the world?

      --
      "I don't know, therefore Aliens" Wafflebox1
    58. Re:What's wrong with GCC? by edxwelch · · Score: 1

      > This is something that XCode and Visual Studio (which takes a similar approach) are both capable of doing.

      Actually xcode doesn't support STL half as well as Visual studio. You can examine the contents of all STL containers when debugging in Visual Studio, but in xcode only the vector container

    59. Re:What's wrong with GCC? by bk2204 · · Score: 1

      GCC optimizes much better than clang. Also, despite defining __GNUC__, clang doesn't offer all of the features that GCC does. For example, a deal-breaker for the kernel is that it doesn't support explicitly assigning a variable to a register. Until it is usable across the board (including the kernel) and doesn't regress performance, distros are going to stick with GCC.

    60. Re:What's wrong with GCC? by cheesybagel · · Score: 0

      Apple gives you a sausage in exchange for a pig.

    61. Re:What's wrong with GCC? by unixisc · · Score: 1

      More specifically, GCC going GPLv3. The others, like the BSDs, Apple, et al didn't have so much of a problem when the GCC, and other GNU software was GPLv2.

    62. Re:What's wrong with GCC? by UnknowingFool · · Score: 2

      What the hell are you talking about? Apple contributes a great deal to open source including LLVM, Darwin, etc. Apple prefers BSD style licenses over GPL but does both licenses.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    63. Re:What's wrong with GCC? by KiloByte · · Score: 1

      Haven't you read the very page you linked to?

      scan-build [...] executes either clang or gcc

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    64. Re:What's wrong with GCC? by arth1 · · Score: 1

      The only valid way of integrating compiler with custom tools is calling the compiler from them (everything else is shit design made by shit developers).

      So writing a debugger that can be used where gdb can't is shit design made by shit developers?
      Glad we got that sorted out.

    65. Re:What's wrong with GCC? by gnasher719 · · Score: 3, Insightful

      And WHY would a company want to avoid GPL compiler, unless it intends to distribute a sabotaged version of the compiler?

      Apple had no problem using a GPL v2 licensed compiler. It looks like they have a huge problem using a GPL v3 licensed compiler. I suppose it has something to do with the difference in the licenses.

      Now you might want to consider the effects on a software developer of integrating a compiler into your own product. Which happens for example if you use OpenGL, or OpenCL.

    66. Re:What's wrong with GCC? by gnasher719 · · Score: 2

      GPL'd software is open source, so if you don't think the documentation is sufficient go and read the source and write better documentation for it.

      Here's the thing: If I don't think the documentation is sufficient that's it. I'm not going to waste my time reading the gcc source. It's not that entertaining and I have a lot better things to do with my time. And if the people who wrote the compiler can't be bothered writing documentation, why should I?

    67. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Or maybe they saw it done that way before but couldn't make it work so assumed no one else could do it "right"

    68. Re:What's wrong with GCC? by cheesybagel · · Score: 0

      Yes AC Apple fanboy. Just because some people do not care about being ripped off by companies owned by billionaires doesn't mean all of us are like that. The GPL works for the same reason constitutions work. They force everyone to follow the same rules in order to keep a functioning society. BSD development in comparison is sluggish simply because eventually most people get disheartened and stop working for such projects. Even Google used the Linux kernel (they could have used any number of *BSD kernels but they did not despite their anti-GPL bias on Android). BSD licenses have their place (e.g. reference standards base implementation) but not in pieces of software like this. Fact is Apple did not want outside developers working with their code and it took extreme nagging by the KHTML developers in order for them to try to have a shared development model. Apparently they thought the KHTML code was good enough for them to use, but the developers could not be trusted, just business as usual for Apple. The GPLv3 only came into being because, as usual, people tried to use GPLed programs against the spirit of the GPL and screw the original developers by adding DRM to the system or threatening an entire software stack with a couple of dubious patents. Even IBM and Microsoft's open source licenses have clauses regarding patents. The GPL needed an update because the environment changed. It used to be software patents were unenforceable. Pretty simple actually.

    69. Re:What's wrong with GCC? by unixisc · · Score: 1

      I thought this had been discussed (ad nauseum) in previous threads about the GPL - that legal departments of companies read into its license that when combined w/ non-GPLed software, the combination falls under GPL. Now, this may well be a debatable point, but the fact that enough legal departments have interpreted the license this way feeds the perception - wise or otherwise - that the GPL is software kryptonite (the green kind). As a result, many companies don't allow their software to be released under the GPL, and wouldn't touch GPL software w/ a bargepole.

    70. Re:What's wrong with GCC? by unixisc · · Score: 1

      ... as well as CUPS

    71. Re:What's wrong with GCC? by zixxt · · Score: 5, Informative

      1) It compiles slower than clang at -O0
      2) It produces slower code than clang at -O3 and -Os
      3) It's error and warning messages are not as good
      4) It's not as modular as clang, which can be used in parts, to produce useful tools like CSA
      5) The GPL.

      Got facts to back this up? Every benchmark I have seen as showed GCC producing faster code than Clang on 90% of the time, Phoronix benchmarks has in the last week showed this to be true.

      --
      ---- GENERATION 26: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
    72. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Then don't. Problem solved.

    73. Re:What's wrong with GCC? by Altus · · Score: 3, Interesting

      And yet, as so many people here love to point out when it favors them, you still get to have the pig. Apple has taken nothing, the pig still exists as ever and apple has provided you with a sausage as well.

      Maybe you don't like sausage and thats fine, but don't act like someone took away your (or anyone else's) pig.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    74. Re:What's wrong with GCC? by unixisc · · Score: 1

      The BSD guys are an interesting crowd. Well they can continue to watch Microsoft and Apple pilfer their software stack usually giving nothing in return while they can use GNOME or KDE or whichever other GPL or LGPLed project exists on their system (takes only a recompile) because otherwise they don't have a useable desktop and are stuck with 1980s user interfaces. I have used clang and it was neither faster to compile nor produced faster code than GCC. The only noticeable thing is the ANSI colored error messages... blech. I understand it is supposed to be easy to port because of LLVM but the fact is GCC has already been ported basically to every architecture that matters so it probably wasn't that hard to port GCC either. Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back. All it takes is a change of heart or leadership. I still remember in the early days they only released source code much time after they did the release which is counter to the GPL people had to beg to them to get access to the source code or, heaven forbid, actually participate in development (it seems for Apple all developers outside of Apple are a bunch of idiots who can't code or something).

      KDE? I doubt that the BSD guys would have had any problems w/ KDE when it was under the QPL. At any rate, they also use other DEs and WMs like WindowMaker, ScrotWM, and others, and one DE under development - Etoille - is being done w/ a BSD license. Also note that none of the BSDs have embraced GNOME3, but are going w/ the alternatives. Even GhostBSD - a GNOME2 based version of BSD - hasn't moved.

      I would say that the BSD guys deserve admiration for creating alternatives to what they believe is unacceptable, instead of ranting about it in public, like the FSF does on things like DRM, Tivoization, Android and so on. They saw GCC go GPL3, so they joined hands w/ Apple, and delivered Clang/LLVM as soon as they could, and drop the GCC from their collection. It would be nice to see alternatives to Samba, Glibc and others as well.

    75. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      Historically they did both licenses. When NeXT was founded they used GCC as the base compiler and contributed back the Objective-C support. But if you notice all their latest moves they are step by step removing all GPLed content from their base distribution whenever possible. Somewhere along the road they decided they were no longer a hardware company so now their priorities changed. Software is a now source of income for them and the reason why their hardware behaves differently. Anyone can go to Foxconn and ask for them to build a similar device to Apple's as long as they do not break any design patents, etc. Apple does not manufacture anything anymore. They design stuff, develop or tailor software, and have services (iTunes, the App Store, etc).

    76. Re:What's wrong with GCC? by TheRaven64 · · Score: 1

      Have you read the GPLv3? It is a long and complex legal document. Are you certain that nothing that you are doing violates it? Want to bet your business on it?

      --
      I am TheRaven on Soylent News
    77. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      No, I most certainly don't pine for any form of anarchy.

    78. Re:What's wrong with GCC? by KingMotley · · Score: 1

      Microsoft's TCP/IP kernal hasn't been based on the BSD code since Windows 3.5, nearly 20 years ago.

    79. Re:What's wrong with GCC? by TheRaven64 · · Score: 4, Informative

      I'm just on my way back from BSDCan and the FreeBSD DevSummit. At the DevSummit, there was a Vendor Summit, for companies that use FreeBSD in their products. Not all were there (Sony, for example, was absent), but companies like Fusion IO, Yahoo, IX Systems, Juniper, Apple, and so on all sent people. There were about 40 companies represented in total, for a developer meeting with about 70 attendees.

      --
      I am TheRaven on Soylent News
    80. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Insightful? Really moderators? The parent is nothing but -1 Troll and you know it.

      Oh, that's right, so are the GPL zealot moderators that infest this place. :-/

    81. Re:What's wrong with GCC? by pankkake · · Score: 2

      > Libertarians hate GNU.

      Libertarian here. Nope.
      Against copyright, patents, etc.

      --
      Kill all hipsters.
    82. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      I actually had stuff like that happen to me more than once. Someone took my code (under a restrictive non-commercial license), used it in their own online system (which users paid for the privilege of using), and didn't even credit or give back any changes made to the code sections they copied and used. I know they were using my code because I added an Easter Egg to it and the "developers" they had did not bother removing it. FWIW I could have gone to court but I just didn't feel like it. I simply stopped contributing to such projects. Of course not everyone was like this and some people gave back changes or bugfixes to the code. It still was a shitty move and most developers I knew in that area eventually gave up development altogether. The GPL does not instantly make people behave but seems like a more reasonable compromise. It does not restrict the user from using the software for commercial purposes, they just need to give back any changes they make to the software if they distribute it. For non-online systems it works perfectly well. For online systems arguably it does fail since someone like Google, Apple or Microsoft can use the code without giving any changes back.

      I guess some BSD people (and most proprietary software people) never quite got the concept of quid pro quo into their heads.

    83. Re:What's wrong with GCC? by unixisc · · Score: 2

      Well, if somebody wants the code they write to be used by others and popularized that way, it would make sense to use BSD, or one of the less restrictive licenses. There is a plethora/bonanza (depending on which way one looks @ it) of licenses, which gives every software project plenty to choose from - from downright proprietary to less restrictive ones like BSDL to most restrictive ones like GPLv3. Given how many companies wouldn't touch GPL software, if a project wants its work to be used by such a company, it would make sense for them to use a license that their customer prefers. Sometimes, that may even result in the creators of such software being hired to write enhancements to it that are closed, and then get duly paid for it, thereby earning a living from that software. If however, the liberation of software is most important to them, then they ought to license it under GPLv3.

      Just as there are consequences to all actions, licensing something under the GPLv3 also has its share of consequences. Namely, that work that one does under GPL is likely to be avoided by a lot of potential customers, and also, that making money directly from the software would be quite problematic, w/ a few rare exceptions, such as Red Hat, which figured out early how to go about it.

    84. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      > (particularly Winsock which is a ripoff of BSD sockets)

      And who says geeks are intellectuals or even skeptics? They apparently get attached to their old wives tales, urban legends, and outright fictions like everyone else.

    85. Re:What's wrong with GCC? by TheRaven64 · · Score: 3, Informative

      There are companies shipping FreeBSD-based products using MIPS, ARM, and PowerPC, as well as x86[-64]. ARM support in LLVM is good (ARM and Apple both work on it). MIPS support is mostly there if you use an external assembler, but the integrated assembler is broken - some MIPS people are working on it. PowerPC just has three guys working on it, but everything except some thread-local storage models and position-independet code on 32-bit work. We're probably going to flip the switch for x86[-64] to default to compiling the base system with clang this week (I meant to do it yesterday, but I was only near my computer at the same time as I was near beer, and thought that this was a commit that should be done sober). For other architectures, it may take a little bit longer.

      --
      I am TheRaven on Soylent News
    86. Re:What's wrong with GCC? by TheRaven64 · · Score: 3

      Do they? Because at the BSD DevSummit last week there were a lot of guys who work at big companies, and all of them are contributing code...

      --
      I am TheRaven on Soylent News
    87. Re:What's wrong with GCC? by ommerson · · Score: 1

      VxWorks used to - and possibly still does - use a *BSD network stack. Like to hazard a guess how many embedded devices this is in?

    88. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Go try and build a BSD licensed kernel. There is CDDL and GPL code all over the place last I remember, and most of it has big warning about distributing the resulting binaries since it infringes one or both licenses to do so!

      FreeBSD is definitely not the pinnacle of 'bsd licensed software' in and of itself.

    89. Re:What's wrong with GCC? by LizardKing · · Score: 1

      What's wrong with GCC?

      It's architectually a bit too complex, making it difficult to add new compiler frontends, optimisations and backend targets. Add in license concerns with GPLv3, and there's a compelling set of reasons to move to Clang.

    90. Re:What's wrong with GCC? by TheRaven64 · · Score: 1

      It executes either gcc or clang as the compiler, it executes clang as the static analyser. The scan-build script is something that interposes a fake compiler script into your existing build system and allows you to run the analyser as a side effect of the build.

      --
      I am TheRaven on Soylent News
    91. Re:What's wrong with GCC? by hairyfeet · · Score: 5, Insightful

      I normally don't respond to ACs but this is one thing I've noticed and found interesting....anybody notice how the Anti-BSD GPLers sound a HELL of a lot like the RIAA? Both act as if copying is stealing, both come up with these giant FUD scenarios of doom which never seem to happen, and both act as if THEIR way is the only 'right" choice and frankly you are an idiot or "one of THEM!" if your views don't stay in lock step with their own.

      I just find it fascinating that those that constantly scream they are for "freedom" sound a hell of a lot like the most restrictive bunch out there.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    92. Re:What's wrong with GCC? by cheesybagel · · Score: 0

      You probably feel fine when you are in a ticket line and someone steps on your feet to get ahead in the queue while saying "sorry" but I certainly do not.

    93. Re:What's wrong with GCC? by Anne+Thwacks · · Score: 1
      code doesn't magically disappear when a company uses it.

      Thats not what my mother told me!

      --
      Sent from my ASR33 using ASCII
    94. Re:What's wrong with GCC? by vlm · · Score: 1

      It raises the question... given the much better featureset, why are the major Linux distributions still using GCC to compile the kernel and all the OS packages?

      LOL. As if those features matter very much to almost anyone. At this time, if you're developing C, it would be a really wise idea to verify code compiles under both and actually ship GCC compiled binaries because they're better (faster). Lack of optimization under clang is a bug, not a feature, unless you're doing human-powered-optimization like refactoring etc etc.

      Its unlikely you'll "ever" be able to totally drop gcc... there are features that clang architecturally opposed to. Specifically fortran/C stuff, and the alternative GCC languages in general. Also its not a binary either/or. This is hardly the first time a OS has had to deal with an alternatives system. On debian, the alternatives system is called the alternatives system. I suppose other OS might have a different named system, and it might work somewhat differently, but the concepts will all be the same.

      For a good time you can examine

      http://clang.debian.net/

      About 1 in 10 packages fail compilation. That percentage is steadily and constantly decreasing but it will never drop to zero obviously because at least some "OK on GCC" failure are due to two bugs correcting themselves, weird corner cases that the clang guys will never accept as a bugfix and the upstream will never tolerate, etc.

      Now, compiles without error does not mean the binaries actually work. You'd need a full unit testing setup. Compiles but insta-segfaults is not success. Compiles but fails to output correct data is not success. Compiles but anything that uses it fails in some odd way (contemplate a library that compiles, but does not play well with others) So the actual failure rate is obviously somewhat in excess of 10%.

      The next issue is thats 10% of Debian packages. Obviously installing clang and messing with the symlinks and compiling Eclipse (written in java) proves very little to nothing about the clang c and c++ compiler, because its not used for java. I would guess that only a large fraction of Debian packages use C or C++. So the actual failure rate for clang when rubbed up against "real world" source code is apparently far in excess of 10%.

      Certain general application classes probably have higher or lower failure rates. The failure rate for C operating systems is probably not going to be similar to the failure rate for high performance numerical computing.

      So the scales of justice weigh:

      GCC: Positives: Free-er society/culture, much faster binaries, and it actually works. Negatives: fully/partially automatic refactoring and source analysis tool writers have a somewhat more difficult time

      clang: Positives: People writing source analysis, refactoring type tools prefer working with clang. Negatives: BSD license encourages (at least permits) anti-social behavior, well over a tenth of your code will not compile without problems.

      Hmm I think I'll be sticking with GCC for a good long time. Predictions about a decade in the future are pointless, could go either way. For ideological purposes I'd much prefer a GPL / GCC world, much healthier and free-er and more social.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    95. Re:What's wrong with GCC? by UnknowingFool · · Score: 2

      What? Have you read a quarterly statement by Apple recently? Apple makes more profit than any other phone maker and little of it came from software. Overall Apple made 47% gross margin with the vast majority coming from hardware. Apple prefers BSD because it has fewer restrictions than GPL. It's more practical to them. There isn't anything more nefarious than that reason.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    96. Re:What's wrong with GCC? by Anne+Thwacks · · Score: 2

      As successes, none of the above can be compared with Netcraft saying you are dying 20 years in a row!

      --
      Sent from my ASR33 using ASCII
    97. Re:What's wrong with GCC? by reve_etrange · · Score: 1

      I understand why a GPL library might be discouraging to some, but what is wrong with a GPL compiler? The GCC runtime library has a linking exception...

      Are there a bunch of companies out their whose businesses would be ruined if they had to distribute source for their compiler extensions to their customers?

      --
      .: Semper Absurda :.
    98. Re:What's wrong with GCC? by mark-t · · Score: 3, Insightful

      Whether or not you consider this to be a sabotaged version depends on if you believe BSD-licensed source code suddenly disappears from existence the moment a company uses it for something.

      The funny thing about this is that it is *EXACTLY* what can happen.

      Although unlikely with high profile projects, a situation could easily exist in a smaller scope project where somebody uses an allegedly more liberal open source license than how they might see the GPL, perceiving the latter as perhaps somewhat "viral", and then what happens is some company with a lot more cash than the initial developers comes along, modifies it, and distributes it essentially as their own product. With no obligation to release source code, consumers of the product are left unaware of its origins. With a higher public profile than the original developer, the original developer's credibility is not actually improved by the distribution of his own software under different licensing terms than those he originally used. Although his ability to independently distribute is not impacted, the simple fact that he may not have the distribution capacity of the larger profile company would end up adversely impacting him. Worse, when he does attempt to claim credit for it when dealing with people or companies that he is endeavoring to do business with, they may perceive him as trying to take credit for what they perceived as the larger company's work.

      Finally, of course, if the original author is unable to continue his software before somebody else who values its free distribution manages to take up the gauntlet of sharing it freely with other people, then even though derived works of it may be available under another license, the open source nature of the work will be gone, forever.

    99. Re:What's wrong with GCC? by Anne+Thwacks · · Score: 3
      Some of us (BSD people) are old, wizend and experienced. We have found by experience, often personal, that some companies are not actually run by Gollum, and find that it is beneficial to give back improvements so the public source tree has them, and the public maintains the new, improved, code for free.

      If software is infrastructure, and not part of your product, this is almost certainly the case - you want the software to work well, but you don't want the cost of maintaining it.

      Notwithstanding this, many companies ARE run by Gollum, or arsehats, or corporate lawyers (guaranteed worse than decendents if a illegitimate union of Gollum and arsehats). That is life - suck it up!

      --
      Sent from my ASR33 using ASCII
    100. Re:What's wrong with GCC? by Anonymous Coward · · Score: 2, Insightful

      Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back

      Troll much? Apple give A LOT back to BSD, but just excludes a few lines of proprietary code. Apple is highly encouraged to contribute because a large divergence from upstream makes it progressively harder and harder to patch.

      GPL shills spread more FUD about BSD license than MS ever did about Linux. I find it really funny and quite saddening that opensource fights itself.

    101. Re:What's wrong with GCC? by Anonymous Coward · · Score: 2, Insightful

      Me too, but I know what he means. He's clearly talking about what Kevin Carson calls "vulgar libertarians." You know the ones I'm talking about, who think sweatshops are cool, and who have no real principles except "if it smells vaguely of patchouli, it's evil and I'm against it!" You see quite a few on slashdot, sad to say.

    102. Re:What's wrong with GCC? by reve_etrange · · Score: 1

      In the land of Mordor, where the shadows lie.

      --
      .: Semper Absurda :.
    103. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      How the hell is this informative? CLANG/LLVM has one advantage - the reason Apple uses it - it produces much nicer errors and is also better for use as part of an IDE. Two areas that GCC has long neglected.

      It does not a) produce better code b) do it faster c) do it across a huge number of platforms.

    104. Re:What's wrong with GCC? by omglolbah · · Score: 1

      By behaving in a way that makes 99.9% of the population go "Heh, a zealot" and ignore the post.

      Congratulations ;)

    105. Re:What's wrong with GCC? by beelsebob · · Score: 0

      a) varies, but the last benchmarks I saw said clang was faster – the post above suggest gcc is once again faster.
      b) this is a clear win for clang, pretty much every benchmark I've ever seen at -O0 shows clang running faster.
      c) clang supports every platform llvm supports... which is really quite a lot of platforms. If you care about more than i386, ARM, MIPS, PowerPC then you're a massive minority. If by platform you're talking about OS... clang supports OS X, windows, linux, FreeBSD (actually, any BSD I can think of), and I've made it compile on solaris, so there's really no problem here.

    106. Re:What's wrong with GCC? by russotto · · Score: 1

      Libertarians hate GNU.

      We do? I'm a libertarian and I like the GPL v2. I like the GPL v3 tivoization clause, too -- and I wish they hadn't limited it to consumer devices. I have objections to other parts of the GPLv3 (though I admit I've forgotten what they are), but not because I hate GNU.

    107. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      How's that klang-aid taste?

    108. Re:What's wrong with GCC? by neurojab · · Score: 1

      Apple sells hardware/software bundles wherein a major reason people buy the hardware is to use their exclusive software. Examples? Mac, iPhone, iPad, iPod. All I'm saying is let's not discount the software aspect of what apple sells. If they sold windows or android devices, nobody would care about them.

    109. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      I want to hear you explain this one.

    110. Re:What's wrong with GCC? by cbhacking · · Score: 1

      WinCE / Windows Embedded Compact (same thing, just rebranded; it's CE 7) are availalble in source form with a Visual Studio project type explicitly to allow you to build your own versions (I believe the source license requires you to get a paid license if you want to redistribute your customized version).

      In university (junior year of undergrad) our professor got us access to the Win2000 source code, and had us modify certain parts of it (mostly just tweaking some kernel-mode code, adding a new syscall and the like). Next year (in another class with the same instructors), we were again given the source, and told to come up with our own project to modify / improve on it. I don't think anybody ever installed our custom builds on anything other than a VM - the OS was almost a decade old even then - but some of them had impressive improvements in certain situations (tweaking the scheduler to optimize for certain types of apps, for example).

      Before anybody cries foul, I also had classes that used Linux, including writing my own device drivers in it, and I could have taken the general OS courses using the Linux kernel for the projects as well, if I'd wanted to.

      --
      There's no place I could be, since I've found Serenity...
    111. Re:What's wrong with GCC? by Moridineas · · Score: 1

      If you're against copyright, then you're against the GPL.

      I would somewhat agree with the GP's assertion. In my (admittedly limited) experience, I have run into many libertarian or anarcho-libertarian types in the BSD world. I would classify the "freedom"-oriented people in the Linux world as more paternalistic.

    112. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      I already wasted my points modding the trolls. Sorry that I don't have one to +insightful you.

    113. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      What's wrong with GCC?

      Ask the clang developers, many of which are former GCC developers.

    114. Re:What's wrong with GCC? by rev0lt · · Score: 1

      Well they can continue to watch Microsoft and Apple pilfer their software stack usually giving nothing in return

      You sound very worried about that. There are other cases, such as the ton of Linux distros that use BSD software (the big example is probably OpenSSH) and give nothing in return. Other companies (such as Apple and iXsystems), employ BSD developers and sponsor - directly and indirectly - development. What is your point?

      while they can use GNOME or KDE or whichever other GPL or LGPLed project exists on their system (takes only a recompile)

      I'm a BSD user, and I only have a (development) VM with X and Gnome. Every other system doesn't even have X installed. And if you think that running Gnome on BSD is a recompile away, you are sadly mistaken. Just because there is a port of it, doesn't mean it doesn't take a lot of effort (and in some cases, loss of funcionality). Also, many BSD desktop users are "advanced" users - I'd say it's way more common to see minimal/tab based windowmanagers than Gnome or KDE.

      they don't have a useable desktop

      What is a useable desktop? Because many opensource desktop applications aren't GPL, so the same principle applies to Linux. Because, you know, X/Xorg itself isn't GPL. And most of Mozilla Firefox. Did Microsoft and Apple also pilfer it?

      Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back.

      Yes, because BSD developers are usually paranoid about the possibility of maybe some evil company use their code. Or they just don't care, and choose a license that expresses that.

    115. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      What's wrong with GCC?

      Everything

    116. Re:What's wrong with GCC? by Lisias · · Score: 2

      I never implied BSD is loosing (or would do) contributors.

      I was replying to the (implicit) statement that contributors worth less than the code.

      Make no mistake here. The more valuable resource any open source project has (BSD including) is not the code.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    117. Re:What's wrong with GCC? by Lisias · · Score: 1

      Yes, they do.

      Don't think that BSD is imune to this. Don't make the same mistake the FSF is doing with GPL3.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    118. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Which isn't surprising when GCC is older and has therefore had longer for people to review and tweak the code for better output.

    119. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      "Dropping utility over licensing kind of smacks of the thing GNU is accused of when BSD advocacy folks get all snooty about technical superiority."

      Like how Linux wont use ZFS because of the CDDL? How's that BTRFS working out for you? ;-)

    120. Re:What's wrong with GCC? by Meneth · · Score: 1

      A good idea, in theory, but as someone who's attempted to add an architecture to LLVM, I can tell you, it's NOT easy to port.

      Minimal documentation, inexplicable crashes, a 600 MB debug executable that takes five minutes to link on a modern workstation... not fun at all. Had to give up and go back to GCC.

    121. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Here are some facts.
      GCC 4.6.3 Loses to Clang 3.0 50% of the time.
      GCC 4.6.3 Loses to Clang 3.0 ~18% of the time. Most of the benchmarks use OpenMP which clang doesn't support.
      GCC 4.6.1 Loses to a prerelease Clang 3.0 ~50% of the time.

      Where are you getting this 90% from? Cause it's not from reality.

    122. Re:What's wrong with GCC? by catmistake · · Score: 2

      The BSD guys are an interesting crowd. Well they can continue to watch Microsoft and Apple pilfer their software stack usually giving nothing in return while they can use GNOME or KDE or whichever other GPL or LGPLed project exists on their system (takes only a recompile) because otherwise they don't have a useable desktop and are stuck with 1980s user interfaces.

      Pretty sure neither Microsoft nor Apple uses GNOME or KDE, but don't let that interrupt your rant.

      I have used clang and it was neither faster to compile nor produced faster code than GCC. The only noticeable thing is the ANSI colored error messages... blech. I understand it is supposed to be easy to port because of LLVM but the fact is GCC has already been ported basically to every architecture that matters so it probably wasn't that hard to port GCC either.

      I take no issue with this part of your opinion... as it is close to mine.

      Apple just wants to clamp down everything to be BSD so they can batter down all hatches eventually for the day when they give nothing back. All it takes is a change of heart or leadership. I still remember in the early days they only released source code much time after they did the release which is counter to the GPL people had to beg to them to get access to the source code or, heaven forbid, actually participate in development (it seems for Apple all developers outside of Apple are a bunch of idiots who can't code or something).

      Just fyi, Apple is an enourmous contributor to OSS. Here's what they admit to, but even if there wasn't all that, IMHO, WebKit alone would be sufficient to compensate humanity for all the OSS technologies from which they have freely and legally benefitted.

    123. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Almost.

      They don't intend, I think, to sabotage it. They intend to *optimize* it for their main paying customer, namely Apple, and support the lack of genuinely "open" toolchains.

      The "open source" label is really a misnomer, because it encourages "closed" behavior such as has occurred with other tools.

    124. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0
    125. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Clang is more modern and produces better, faster code.

      So nothing **wrong** with gcc, but LLVM/Clang is a big ball of awesomeness.

      (and the Dragon logo looks cool too)

    126. Re:What's wrong with GCC? by mbkennel · · Score: 1

      Apple pays for a pig farm that you can also play in and gives you free sausages and they make their own spicy sausages which you have to buy.

    127. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Is this just a religious objection then, or is there some practical reason why having a GPL licensed compiler in FreeBSD is "bad"?

    128. Re:What's wrong with GCC? by ChrisMaple · · Score: 0

      Libertarians understand that without the government stealing half of everything, we could have the same wealth with half the effort. Furthermore, technical progress would be much more rapid.

      --
      Contribute to civilization: ari.aynrand.org/donate
    129. Re:What's wrong with GCC? by mbkennel · · Score: 1

      "Somewhere along the road they decided they were no longer a hardware company so now their priorities changed. Software is a now source of income for them and the reason why their hardware behaves differently. "

      I don't think that's it at all.

      It's somewhere along the road, Apple started making enormous farktons of money from hardware and so management felt able to pay enough people to rewrite GPL stuff so they would have more control and not have to negotiate with ideologues who can't be paid off.

      That they decide to BSD license some of it is their gift.

      Apple devotes pretty huge internal team to hardware design (they have their own CPU designers after all), even if they don't bang together the glass themselves.

    130. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Yes AC Apple fanboy. Just because some people do not care about being ripped off by companies owned by billionaires doesn't mean all of us are like that. The GPL works for the same reason constitutions work

      And this was kind of my point. Not everyone wants the same thing, so as I said, anyone using BSD licenses must accept that there is no mechanism to force people to share code. GPL and BSD licenses have useful roles to play, and I think the BSD licenses are more useful than you suggest. How the fuck is someone being ripped off if corporations use the code as the author intended? The GPL itself doesn't prevent people from being ripped off. Let's say that Stehanie Myers writes a program to automatically generate novels for dumpy overweight women. Google, seeing a market here, develops in-house improvements that allow the program to churn out novels twice as fast. Google are making a fortune with this code, probably to the detriment of Myers. Google are not obliged to share the source with Myers. Is she being ripped off, or is this the nature of the license that she chose? One of the problems with KHTML is that Apple sat on the code for so long before releasing it - which is perfectly acceptable under the terms of the GPL. The GPL doesn't prevent me from writing some really useful stuff, in heavily obfuscated code, just handing it over in a big lump of practically useless shit. Doing so harms me because the failure to adopt my changes in to the original project means that I have more work to do if I want to remain in sync with future improvements, so hopefully companies would prefer to avoid this.

      I develop some software. I release it under a BSD license. McEvil Corp uses this code as per the terms of the BSD license. How is that pilfering, and how am I being ripped off? BSD development is sluggish? What does that mean and why should it worry BSD users? Who's disheartened and leaving projects? FreeBSD is coming up for its 10th anniversary. OpenBSD and their projects are ticking over, despite this exodus of developers. BSD is smaller scale, except perhaps in the case of OS X. Would the BSDs have wider adoption if they switched to GPL? Perhaps. Do I give a shit if FreeBSD doesn't have as many installs or flavors as Linux? No.

      You're the fanboy here, proudly waving your waving your GPL flag and looking at BSD licensing as some kind of mugs game that shall no doubt lead us all to doom. I'm saying that people should choose the license they want and should expect to receive no more than the license allows. Of course everyone should give serious consideration to their choice of license, and certainly GPLv3 is good for anyone wanting to mitigate the software patent bullshit that I think we'd agree is a serious threat.

    131. Re:What's wrong with GCC? by beelsebob · · Score: 1

      Yes... Why would apple code an entire compiler and release it under the BSD license if their goal was not to release a sabotaged version... wait...

    132. Re:What's wrong with GCC? by beelsebob · · Score: 1

      Correct –which is why you want a nice, modular compiler that you can call the parser of separately from the type checker, separately from the code generator, separately from the optimiser... Just like apple made clang, and just like GCC isn't.

    133. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      A dependency on GPL software in FreeBSD is akin to Linux having a dependency to some Microsoft/etc software. FreeBSD wants people to be able to build and use their entire environment without ANY licensing issues.

      FreeBSD wants 100% freedom, GPL wants 99.9% freedom. Both camps have very good intentions, but an ever so slight philosophical difference.

    134. Re:What's wrong with GCC? by profplump · · Score: 1

      So if Microsoft starting publishing someone else's GPL'd software, and following all of the GPL license rules to the letter, how would any of that change what you're saying about credit going to the publisher rather than the original author? Is there some component of the GPL that requires publishers to advertise the original author? Wasn't that one of the original provision of the BSD license that people didn't like and eventually did away with?

    135. Re:What's wrong with GCC? by Tough+Love · · Score: 1

      I see you were modded down as flamebait. However, benchmarks would seem to support your claim.

      C'mon Apple people, please back off the reality distortion. LLVM has a lot of interesting points to recommend it, but one those is very definitely not beating GCC in code optimization. Particularly GCC 4.7 which has turned in yet another impressive performance increment across the board.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    136. Re:What's wrong with GCC? by profplump · · Score: 1

      The anti-BSD guys are an interesting crowd. Well they can continue to classify generational improvements in software as pilfering and lock out both closed-source and BSD developers from using any of their innovations -- after all, it's better to force some ideology than to actually work to improve the state of software.

      Look, if you want to change the locked-away nature of software, change copyright law. Software gets 5 years of protection, but unobscured source must be placed in escrow, and after 5 years the source becomes public domain. Or you can keep code a trade secret indefinitely, but you have to forgo copyright protections. That would allow a balance of commercial and openness interests, without pitting the two against each other (IMHO unnecessarily -- society benefits both from widespread sharing and from commercial motivations), and would bring software in-line with other copyright-protected works, which are currently much easier to reproduce at the end of their protection period.

    137. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      ...In fact, it's in company's best interests to rely on open contributions, because they don't want to waste time and manpower on, say, maintaining a compiler...

      But as a contributor, I don't see how contributing to BSD-licensed project is in *my* best interest. I contribute to GPL project because I get back other people's feedback and fixes. That helps me and everyone else involved. If code is closed, then those fixes don't come back to help me.

      Sure, for any given project, there might be some people working on open BSD-licensed code version. But there is bound to be more "action" on GPL projects because people are obligated to give back. More action means more people active on the project, more eyeballs on the code, etc.

      Well, that's what I think anyway.

    138. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      And those companies could also detonate radioactive dirty bombs in populated areas.

      The question at issue is actual actions, not potential worst-case scenarios.

    139. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Good point. I'm a libertarian, and I always BSD license my code if given an option (ie. unless contributing to a differently-licensed project).

      I get my jollies from my code being used. I don't feel an urge to tie the hands of those using my code, so I eschew the GPL. However, I don't adhere to the anti-GPL jihad.

    140. Re:What's wrong with GCC? by mcneely.mike · · Score: 0

      Okay, sorry. Maybe humour isn't my selling point. I'll just go back to playing with my wife's goodies and shut up.

      There is no humour or sarcasm in this note, but yes there is a small bit of spam. I apologize.

      --
      soylentnews.org Go there to enjoy the people!
    141. Re:What's wrong with GCC? by jo_ham · · Score: 2, Insightful

      What?

      How are Apple "stepping on your feet" by using BSD code and developing successful products with it? If OS X had flopped would you still be saying that?

      Apple has put a great deal of effort into open source development because they realise that it is mutually beneficial to everyone concerned. Oh, of course their primary goal is their own success and their own bottom line, but they have been able to strike a pretty good balance with open source software and the community at large on their rise into the company they are now.

      Apple are only "stepping on your toes" if you feel jealous of their success or the fact that they aren't legally forced to release the entire source code of OS X because they used a large proportion of BSD code in it. For some reason you think this is Apple being "unfair" or "leeching off the back of the OSS community" to make money. This view is very petulant and childish, and ignores the fundamental truth that *that's how the BSD licence works* and that method of development is *actively encouraged by the licence*. It's precisely why the code was released under that licence.

      It also ignores the *enormous* contributions to Open Source (both 'legally forced' on GPL projects like KHTML/WebKit, and non-forced like Apache and BSD code) from Apple, especially with some of the large projects they have been involved with - LLVM/Clang being a big one.

      The Open Source community benefits from large companies contributing resources to it - just look at what happened with KHTML, for example, and numerous other projects that large companies have put time, money and personnel behind. The benefits are a two way street, but comments like yours about Apple "leeching" from the community are counterproductive and only damage the community's image.

    142. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Winsock version 1 that was included in Windows between WFW and Windows ME was absolutely a BSD port. It even attributed the copyright in the version header. Winsock 2 was a complete rewrite. Coming from the Unix programming world, both implementation were horrendous if you shied away from the MS approved wrappers.

    143. Re:What's wrong with GCC? by jo_ham · · Score: 1

      The fact that you think that companies using BSD code to make money are "ripping off" the community really dispels any doubt that you're a petulant child. It's the most ridiculous argument that I've ever heard and the stupidest reason for "hating" a company possible.

      Grow up a bit then come back to the discussion.

    144. Re:What's wrong with GCC? by jo_ham · · Score: 1

      How strange, then, that Apple decided to use a BSD licence for Clang. I mean, they're going to lock everything behind a proprietary wall, of course... oh wait.

    145. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Apple had no problem using a GPL v2 licensed compiler. It looks like they have a huge problem using a GPL v3 licensed compiler. I suppose it has something to do with the difference in the licenses.

      Even with GPLv2, the GPL gets really iffy when it comes to interfaces that are not intended for use by end users, such as the interface between the front end and back end of a compiler. Even if Apple had been able to add the necessary richness into GCC's AST, I'm not sure they could have legally integrated it into Xcode as they did with Clang, even if GCC had stayed under GPLv2.

      And there were fundamental inadequacies in the overall design of GCC (a tightly coupled front end and back end without clean interfaces, an AST that lacked a lot of information that was needed for things like code refactoring, etc.).

      Not to mention that with Clang, Apple probably doesn't have to keep a huge branch of patches that the GCC maintainers hadn't integrated. Can you imagine trying to massively redesign the GCC AST on a permanent branch?

      Chances are, Apple would have eventually dumped GCC in favor of Clang even if the FSF hadn't pushed GPLv3 on everyone. Of course, the looming threat of GPLv3 might have pushed it along, but the license was just the accelerant; GCC's poor design lit the match.

    146. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Was good enough for 20 years, before someone dropped another ready made compiler on their laps.

    147. Re:What's wrong with GCC? by EvanED · · Score: 1

      Now now, even I've called RMS a zealot for some of the stuff he's said and done re. GCC (e.g. telling someone who wrote a JVM backend for GCC to delete it not tell anyone he wrote it) along that line.

      But my understanding is that GPL v3 introduced some change (that I now forget) to make the license stronger, which means that the FSF is now comfortable with that sort of thing. GCC has had a legitimate plugin interface for quite some time now.

    148. Re:What's wrong with GCC? by jo_ham · · Score: 1

      They don't necessarily come back to you by force of the licence, but that doesn't mean they *won't*.

      Apple (or any other large company), or any other developer is under no obligation to share their changes, but they still do because they get benefits from doing so, but without some of the legal issues that arise from the use of the GPL due to the nature of some of their other licences and their overall business model.

      Just because they prefer (or in some cases are unable) to use the GPL does not mean they're opposed to the open source development model.

      There's certainly a "risk" that you'll "lose" your code into the belly of the beast with nothing ever coming back, but if you stick exclusively to GPL projects then some of those big beasts can't even sit down at the table to begin with.

    149. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Libertarians claim this, not understand it, but they also like to misrepresent their position to match the target audience, so what's a little lie? Understadning something that doesn't exist isn't even possible.

    150. Re:What's wrong with GCC? by jo_ham · · Score: 1

      That is just about the most insightful thing I've seen written about them.

      I'm pro-GPL and pro-open source, but the efforts of these "companies being successful using BSD code are leeches!" people are doing nothing but hurting the image of the OSS community.

    151. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      ditto

    152. Re:What's wrong with GCC? by mark-t · · Score: 1

      There's a component of the GPL that ensures that the source code remain freely available, so people who received it could discover where it originated anyways... plus, they'd have the bonus of being able to tinker with the source code themselves if they so desired.

    153. Re:What's wrong with GCC? by hazah · · Score: 1

      Any insight as to why it's commonly referred to as "Copyleft"?

    154. Re:What's wrong with GCC? by Gerald · · Score: 1

      I have indeed read the web page. In fact, I'm using scan-build + gcc as part of an automated build system. That doesn't change the fact that gcc itself doesn't ship with a static analyzer.

    155. Re:What's wrong with GCC? by Lisias · · Score: 1

      Sorry my crappy English.

      Where I wrote "The more valuable", please read "The *most* valuable" instead.

      (I need more practice, I know!)

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    156. Re:What's wrong with GCC? by Moridineas · · Score: 1

      No, not really. The wikipedia article on copyleft looks like a good starting point though!

      The reason I say that if you're against copyright, then you're against the GPL is that the GPL relies on copyright to function. The BSD license is closer to a world without copyright, as the BSD license functions more like public domain.

    157. Re:What's wrong with GCC? by LingNoi · · Score: 1

      Apple wanted better code completion which mean't separating GCC into different layers and putting those layers under lesser licensing so that you could include the code in your editor. GCC doesn't work like that, it mangles the names up for optimization from the beginning leaving little useful information available for code completion and errors.

      You've probably seen this yourself if you've ever used GCC on c++, if you have an error in a c++ template it'll spit out a 20 line compiler error rather then the template name.

      Due to the fact that GCC core devs didn't want to change anything and didn't feel it important, didn't want to make it easier for text editors to hook into the tool chain they decided to make their own compiler and now everyone is rushing away from GCC since what LLVM and Clang have produced is a much cleaner tool chain that runs much faster, is able to be used for numerous things, doesn't mangle up error messages, etc.

      All in all it has very little to do with BSD vs GPL and much more to do with the existing project being designed wrong.

    158. Re:What's wrong with GCC? by Lisias · · Score: 1

      But, still, he's still wondering why would be his best interest to contribute, as this same beasts are unlikely to give him any kind of reward.

      I understand why companies pay for some people to contribute to BSD style projects.

      I understand why people with some heavy stakes on a project (the maintainer, for example) do contribute to BSD style projects.

      But I can't see why he (or me) would expend our time doing it.

      I can't afford a Mac, and my Linux box is doing fine.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    159. Re:What's wrong with GCC? by hawk · · Score: 1

      The problem isn't the number interpreting it, but that it's, as you put it, "debatable.". that's not something lawyers let their clients do--we find ways with known meaning.

      hawk

    160. Re:What's wrong with GCC? by Billly+Gates · · Score: 1

      Any major bank.

      Many banks merge and do SOX works and do not want to get hit with a scandal. They use internal tools and many banks get bought up and their assets sold in complex financial products. That counts as redistribution.

      BSD is just friendly and you can do whatever you like with it.

    161. Re:What's wrong with GCC? by smash · · Score: 1

      The GPL, and the hostile attitude towards Objective-C support.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    162. Re:What's wrong with GCC? by SuperKendall · · Score: 1

      That's a great point. I have long been a GPL supporter but I see nothing wrong with BSD either, and do not place any weight at all on scenarios where companies make changes and never give them back... it makes no sense since a company does NOT want to merge changes they made every time they get an update. They just want the mainstream code to work and keep using it.

      Both GPL and BSD worlds want the same thing, source code that anyone can look at and use.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    163. Re:What's wrong with GCC? by smash · · Score: 1

      Add Netapp to that list.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    164. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Last you heard you were full of shit. There was interest in TenDRA's compiler, which was not their own.

      And get your FUD straight. Did it fail, or was it too much effort?

    165. Re:What's wrong with GCC? by unixisc · · Score: 1

      Actually, 'loosing' instead of 'losing' was more egregious than 'more' instead of 'most' ;-)

    166. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Not to troll, but what companies are those? What's the closest thing to Red Hat that's selling FreeBSD support, what volume are we talking about? Or are they all providing their own support?

      Companies which can have their own processors required a customized version of the compiler, for example.

    167. Re:What's wrong with GCC? by unixisc · · Score: 1

      How would BSD be making the same mistake? They've not touched the license, and have only introduced a new compiler platform b'cos of concerns that companies have about the GPL (and, as has been pointed out, other advantages of Clang over GCC). Nor is there an equivalent of the FSF in any of the BSDs.

      One thing I'm curious about - has anybody ever stayed away from BSD on the grounds that they are Unix, and have fears that they may contain proprietary code of USL/SCO/AT&T/UCB/BSDI? Or do the BSDs not have any such perception issues when it comes to promoting their software?

    168. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      the error messages part is true and will continue to be so for a long time.... gcc 4.7 also had some decent improvements in speed but it's -O3 sucks.

    169. Re:What's wrong with GCC? by shutdown+-p+now · · Score: 1

      Debugger visualization is completely unrelated to being able to parse source code that's being edited - for debugging scenarios, the real types of symbols come out of debugging information, not from the editor. VS can show all those STL containers nicely simply because it has stock visualizers written for them. If Xcode doesn't, it's a problem with Xcode, but it doesn't have anything to do with Clang or modularity. Qt Creator can also visualize all STL containers, much like VS, and it works with g++.

    170. Re:What's wrong with GCC? by jo_ham · · Score: 1

      Who says Apple's contributions only benefit the Mac?

      Things like Clang are not exclusively Mac-focussed - the very premise of this article talks about FreeBSD making use of a project that Apple has sunk a lot of time and effort into, or projects like libdispatch or the address book and calendar server projects that they released as open source code and so on. I suppose the mindset would have to be that you trust your fellow project developers to also contribute back to the project for mutual benefit, unlike GPL where they are forced to do so.

      History of big BSD projects seems to support that fact that most large scale developers do contribute back. I understand why some people would prefer to stick to GPL licensing, however.

    171. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Bollocks. You ALWAYS reply to ACs, and prefix it with a blurb about how you don't actually do so. Then you call them shills and make up stories.

    172. Re:What's wrong with GCC? by adri · · Score: 3, Informative

      Really? cddl and gpl software have their own directories. You can build totally functional kernels, completely with the tools given to you by the build system, without:

      * any binary blob drivers (and yes, ath(4) doesn't need a binary blob, so you can get wireless support!);
      * any GPL or CDDL code (so no ZFS and no ext2fs, for example.)

      Please re-inform yourself of the reality of FreeBSD's distribution and structure before making such uninformed comments.

      -adrian (@freebsd.org)

    173. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      no, because you're just making shit and strawmen up.

      you're being a fucking troll in every post in this tread.

      it's annoying.

    174. Re:What's wrong with GCC? by profplump · · Score: 1

      Because end-users are likely to download the source code, dig into the credits, and care about who wrote it originally instead of who sold it to them and provides support. That seems really likely.

      And again, how is that different from the original BSD license, which requires accreditation?

    175. Re:What's wrong with GCC? by smash · · Score: 1

      I'd actually argue the point that BSD folks just want better software. They put the source out there for anyone to use as they see fit, so we can all stop reinventing the wheel (with new bugs) whether it is for commercial closed source applications or not.

      If Microsoft were take BSD code and use it to put out a less buggy version of Windows, we all still win. Less spam, less botnets, less congested networks, etc. As Steve Jobs said re: microsoft upon his return: "For apple to win, Microsoft doesn't have to lose". The same applies in this case.

      For open source software to flourish, closed source software doesn't have to lose/die.

      The GPL crowd seem to believe that for open source to get anywhere, commercial software has to be defeated - and if that means we need to make things difficult for our users or limit the applications of our code, so be it. This is the reason that no truly open, cross-platform standard will ever originate via software developed under the GPL.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    176. Re:What's wrong with GCC? by jaymemaurice · · Score: 1

      ^^ What this guy is saying is a MAC book without OSX is now an expensive PC. An iPod/iPad or iPhone without iTunes and iOS is a Zune.

      Apple sells the end to end package. Anyone can buy a compatible laptop and throw OSX on it or a MAC Book and put windows on... but this is not how Apple makes a significant portion of its cash.

      --
      120 characters ought to be enough for anyone
    177. Re:What's wrong with GCC? by demars · · Score: 1

      Actually, 'loosing' instead of 'losing' was more egregious than 'more' instead of 'most' ;-)

      Heh. I actually didn't have that reaction. I was a little confused by his original post and his clarification actually helped. As for "loosing" versus "losing," that mistake is ubiquitous on the web and it drives me crazy, but I have to admit that most of the people making that mistake are native English speakers; I'm a lot more inclined to overlook it when it's posted by a non-native English speaker.

    178. Re:What's wrong with GCC? by TheRaven64 · · Score: 1

      A lot of people avoided BSD in the early '90s for exactly this reason. It delayed the i386 port for long enough that Linux started to gain traction. It's not a problem I've seen in the last 10 years though.

      --
      I am TheRaven on Soylent News
    179. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Because it allows people like DarkHelmet433 to pretend this is about anything other than zealotry and dogma.

      No corporation cares about the license of their compiler so long as the resulting binaries is license and royalty free.

      BSD cares because their entire point of existence is about dogma and zealotry. Otherwise, its a seriously who cares and doesn't matter.

      There are good reasons GCC is the most prolific compiler available and why its broadly adopted for dozens, if not hundreds, of specialized commercial compilers. The fact is, the fact that GCC is GPL licenses has constnatly proved to not be a problem at all unless you are zealot.

    180. Re:What's wrong with GCC? by mevets · · Score: 1

      Let it out man; it's the only way it's going to heal.

    181. Re:What's wrong with GCC? by Vintermann · · Score: 1

      I suppose it has something to do with the difference in the licenses.

      Now what could that be? Apple isn't involved in any dubious patent litigation, are they? /s

      --
      xkcd is not in the sudoers file. This incident will be reported.
    182. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Good luck doing any kind of analysis on the intermediate code with that attitude.

    183. Re:What's wrong with GCC? by higuita · · Score: 1

      and they use it long ago... and what did those companies do to improve *bsd systems? it goes from very little to not enough
      even google contributed more than ixsystems.com, a top *bsd user!!
      Netapp products make money from *bsd, but yet they are very, very low in that list

      BSD have this fault, companies take the code, but contribute very little back and only look back to take yet more code

      --
      Higuita
    184. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Don't forget two others who are major players here, especially Citrix:

      * Citrix Systems
      * Blue Coat

    185. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Juniper also uses a lot of Linux and is moving more and more to it because the FreeBSD kernel is full of bugs that have been screwing up their routers during the last two years.

    186. Re:What's wrong with GCC? by 0100010001010011 · · Score: 1

      That's just stuff officially sponsored by the company. Have you cross referenced all the individual contributors and seen where they work?

      For example digging through FBSD code all day you may find bugs or code improvements. It's not a big enough project to warrant getting your whole company involved so you submit your own patches.

    187. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Right now the shit way works better and gives us much better tools integration. You'll find that MS takes a similar approach with .NET and Roslyn and it leads to great results. There's a difference between "The shit way" and "The way that we tried years ago but were shit at coding it".

    188. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      I normally don't respond to trolls but this is one thing I've noticed and found interesting....anybody notice how the Anti-GPL BSDers sound a HELL of a lot like the RIAA? Both act as if copying is stealing, both come up with these giant FUD scenarios of doom which never seem to happen, and both act as if THEIR way is the only 'right" choice and frankly you are an idiot or "one of THEM!" if your views don't stay in lock step with their own.

      I just find it fascinating that those that constantly scream they are for "freedom" sound a hell of a lot like the most restrictive bunch out there.

    189. Re:What's wrong with GCC? by Alex+Belits · · Score: 1

      Have you read the GPLv3? It is a long and complex legal document. Are you certain that nothing that you are doing violates it? Want to bet your business on it?

      Absolutely. I work for a company that has legal department for that very purpose. And they had to deal with much, much more complex and restrictive licenses, like every single license for proprietary software that I ever had to use there.

      --
      Contrary to the popular belief, there indeed is no God.
    190. Re:What's wrong with GCC? by Alex+Belits · · Score: 1

      Good! Then those "many companies" will be extinct soon because "most companies" do not rely on incompetent legal departments who use meaningless weasel words like "combined w/ non-GPLed software", and follow the license that covers redistribution of modified software.

      --
      Contrary to the popular belief, there indeed is no God.
    191. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Apple owns CUPS now.

      owns

    192. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      He may be talking about the speed/quality combo, not only the quality, just like you can gzip at -6 or -9, and it is slightly better but usually not the effort. So clang runs -6 much much faster and produces code which runs faster than gcc producing code at the same pace.

    193. Re:What's wrong with GCC? by youknowwhat · · Score: 1

      Rumors and BS are created in this kind way.

    194. Re:What's wrong with GCC? by Anonymous Coward · · Score: 1

      Plenty. Anyone who has ever attempted to comprehend the byzantine compilation stages in order to add a new processor knows this code has been on it's last legs for quite some time. Like plants, all code has a life cycle and GCC is at the end of its. A complete rewrite is required, and an open approach to the front, middle, and back end portions.

      Surely, there are political explanations to how the code was self-obfuscating, but generally speaking it mostly looks like it does because so many hands have been in the pot. It tastes bad.

      As it stands, GCC is cannot easily evolve to the demands of next generation processing. "
      Help! I'm stuck in and ARM/INTEL world and can't get out!!"

    195. Re:What's wrong with GCC? by abigor · · Score: 1

      Let me be honest: you have no idea what you're talking about.

    196. Re:What's wrong with GCC? by hazah · · Score: 1

      Copyright is concieved as a method to circumvent a "natural right". By that I mean, simply the fact that its a decision made by humans as to who can legaly recollect and regurgitate that information.

      Copyleft, on the other hand, is specifically designed to circumvent all such circumventions as mentioned above, using the same law. It is effectively a reverse of the intended concept. Hence the use of the word 'left' (a silly pun, I admit). But... another "natural right" is being taken away here, as you are now bound by law to distribute the source under the same licence.

      So the question is, what "natural right" is more important, and why? How many more dark ages do we need to get it through our thick collective skulls that hiding knowledge for the short term gain will enevetibly lead to the loss of the knowledge altogether?

      "natural right" -- I'm referring to having the capacity to do something that normally, would not be concidered illegal. Things like reading or writing. I'm not speaking about stealing/killing/hurting... (actions that have very real consequences in the physical world), and I think that we can leave it at that and hope that we're on the same page of that topic.

    197. Re:What's wrong with GCC? by jbolden · · Score: 1

      I'm not quite sure what you are saying here.

      Lets say X releases their software (x) under the GPL.

      1) Company Y has software that tightly combines with (x). That code has to be released under the GPL.
      2) Company Y writes software (y) and releases it under the GPL. They also write some more software (z) which combines with (y). They release y+z. In this case they can do anything they want.

    198. Re:What's wrong with GCC? by jbolden · · Score: 1

      I have to bet my business all the time I'm not going to get sued for far worse long legal documents written by big companies. The nice thing with GPLv3 is that most of the people who hold the license don't actually have that much money.

    199. Re:What's wrong with GCC? by jbolden · · Score: 1

      Apple has a long history of contributing back as well as starting open source projects.

      http://opensource.apple.com/
      http://www.macosforge.org/

      1) All the bug fixes from Macports / Darwinports.
      2) Darwin itself
      3) Bonjour / zeroconfig networking
      4) Webkit
      5) launchd
      6) MacRuby

      etc..

    200. Re:What's wrong with GCC? by jbolden · · Score: 1

      Just adding to this... Apple in fact actually does release the code back for almost everyone of their BSD projects. They don't tend to take these things private.

    201. Re:What's wrong with GCC? by jbolden · · Score: 1

      Huh? LLVM came from University if Illinois in 2004. It came from research consideration that had nothing to do with concern about the GPL. Apple picked it up because of concern about the GPL. GCC has been GPL since it started. BSD used to use ICC (generally under SCO) and cross compile. Moving to GCC was moving away from a commercial OS.

      And the KDE guys had problems with QT when it was under the QPL. They agreed with Debian legal's analysis that redistribution for anyone other than KDE itself was legally questionable.

    202. Re:What's wrong with GCC? by jbolden · · Score: 1

      And the KDE guys had problems with QT

      Sorry should be: And the BSD guys had problems with QT...

    203. Re:What's wrong with GCC? by jbolden · · Score: 1

      it's amazing that people still spread this kind of fearmongering despite the fact that this scenario has never come true.

      Of course it has. The classic case was X. The versions of X people cared about were OS specific versions. The free MIT version existed but was mostly worthless. When someone wanted to create an X, with the XFree86 project they pretty much had to start from scratch. The experience with X was what drove people toward the GPL.

    204. Re:What's wrong with GCC? by jbolden · · Score: 1

      Nor is there an equivalent of the FSF in any of the BSDs

      Sure there is, OpenBSD.

      One thing I'm curious about - has anybody ever stayed away from BSD on the grounds that they are Unix, and have fears that they may contain proprietary code of USL/SCO/AT&T/UCB/BSDI?

      Yes in the early 1990s there was a problem. It was resolved but it happened during the crucial time period around 1992-4 when the world could have gone either way (in most BSD's guy's opinion, I don't agree).

    205. Re:What's wrong with GCC? by jbolden · · Score: 1

      Apple has just on this version of iOS made the MacRuby distribution included in system directories. They are close to making MacRuby their standard for dynamic language application development.

      Ruby is GPL.

    206. Re:What's wrong with GCC? by TemporalBeing · · Score: 1

      One of the key design objectives of Clang is that it is highly modular, and implemented in such a way that various compilation stages are self-contained, and have clean APIs and data structures. This allows development tools such as IDEs to link directly against the stages of the compilation pipeline then need to implement syntax highlighting, code completion, refactoring tools and so on.

      Apple's XCode does precisely this, and licensing and lack of modularity in the GCC source tree would have been major factors in their choice to support Clang and LLVM development.

      The traditional way of implementing these functions in IDEs has been to effectively re-implement the front-end of the compiler (often not completely). This is a big deal when developing in C++ against the STL/Boost/TR1 when you find that code completion can't grok template properly.

      It's the traditional way because it is not a function of the compiler to do those front-end things. Debuggers offer a part of the functionality when running the code; but they're of limited use. However, if you don't want to have to recompile the code all the time, then you're front end tools (e.g. IDEs) need to be able to understand the syntax, etc using their own tools, storing the data in meaningful manners (e.g. internal databases), etc. None of that is the job of a compiler.

      This is something that XCode and Visual Studio (which takes a similar approach) are both capable of doing.

      Qt Creator can do that quite well too, and works with VS and G++/GDB.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    207. Re:What's wrong with GCC? by TemporalBeing · · Score: 1

      Right now the shit way works better and gives us much better tools integration. You'll find that MS takes a similar approach with .NET and Roslyn and it leads to great results. There's a difference between "The shit way" and "The way that we tried years ago but were shit at coding it".

      MSVS does a number of things, and is often very broken. They build separate database files for the various IDE functionality.

      However, I don't think they even do things the way you are suggesting. For instance, there are a number of projects I work on (for work) where the IDE environment is completely broken when it comes to trying to find information about classes, functions, variables, etc - things that intellisense should work just fine on; however, the compiler has no issue with compiling the project. (This is true from VS6 through VS2008; I haven't tried VS2010, but as it is an evolution of VS2008 it will probably be the same).

      Now, you are mentioning .Net. They may be emulating the behavior you are thinking they are doing by running it through the compilation process more often to generate the same data. However, I don't think they've fundamentally changed how they do intellisense, etc from how they do it with C++, VB, etc either.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    208. Re:What's wrong with GCC? by TemporalBeing · · Score: 1

      "Dropping utility over licensing kind of smacks of the thing GNU is accused of when BSD advocacy folks get all snooty about technical superiority."

      Like how Linux wont use ZFS because of the CDDL? How's that BTRFS working out for you? ;-)

      There's a difference. The FreeBSD/OpenBSD folks tend to drop something simply because it is not a BSD license, regardless of any other merit of the product, or how it is integrated. Linus refused ZFS because it was under CDDL because of licensing incompatibilities. It was stated very early on that they would have preferred it under the GPL and if so it probably would have gotten integrated.

      So you have the "reject simply because we don't like the license" vs. "reject because we can't use the license" - an Apple vs Oranges comparison.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    209. Re:What's wrong with GCC? by TemporalBeing · · Score: 1

      FreeBSD wants 100% freedom, GPL wants 99.9% freedom. Both camps have very good intentions, but an ever so slight philosophical difference.

      Both want 100% freedom. Definitions of freedom vary between the two.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    210. Re:What's wrong with GCC? by TemporalBeing · · Score: 1

      If you care about more than i386, ARM, MIPS, PowerPC then you're a massive minority. If by platform you're talking about OS... clang supports OS X, windows, linux, FreeBSD (actually, any BSD I can think of), and I've made it compile on solaris, so there's really no problem here.

      Check the Linux Source Tarball, they support far more than i386, ARM, MIPS, and PowerPC - I count 27 architectures in Linus's current tree.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    211. Re:What's wrong with GCC? by unixisc · · Score: 1

      From what I understand, FSF is an advocacy organization for Liberated Software, much like OSI is an advocacy organization for Open Source Software. OpenBSD otoh is a BSD distro. Granted, Theo de Raadt has some strong opinions about patents, licenses and all that, but I don't see OpenBSD running around claiming that what the GNU project does is not exactly kosher (the way the FSF does about TiVo, Android, RedHat, Debian, Canonical, and just about every other major Linux distro)

    212. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Data ONTAP runs atop FreeBSD in it's latest incarnation. I'm sure NetApp isn't interested in sharing their shiny bits.

    213. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      You have no idea what you're talking about. The "GENERIC" Kernel that ships with FreeBSD has no GPL or CDDL code in it.
      "For example, the GENERIC kernel must be compiled under only licenses identical to or substantially similar to the BSD license. GPL, APSL, CDDL, etc, licensed software must not be compiled into GENERIC."
      http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/pref-license.html

    214. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      Nah, turning the other cheek is for chums. These people certainly do not think that way. It will be interesting to see how Apple is fairing one or two decades from now.

    215. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      You sound like you don' t know what you're talking about. The freeware community that wants to avoid the GPL (BSD, MIT and Artistic licenses apply) are often heavily participated in by small companies who want to sell complete products based on the freeware. It's the largest companies that all abuse the GPL through Linus' interpretation of the GPL and how it applies to linked binaries and binary drivers and so on. The largest businesses have all shown that they don't mind keeping the GPLed content available and making their own proprietary content binary-only. It's a total sham and much more honest to start with BSD licensed software if that's what you wanted in the first place.

      I didn't realize that modularity principles applied to every piece of software existing on planet earth. Often they apply within a system and the GPL helps maintain that modularity in the Linux distributions. BSD systems maintain their own modular components and so on. The diverse ecosystem and diverse goals of the authors make the actual software available that everyone can use much richer.

    216. Re:What's wrong with GCC? by cheesybagel · · Score: 0
      There is one point where it would be interesting to have common code and that would be the OpenGL base implementation and drivers (which is based on LLVM). Yet I have never seen any opening in that front from Apple. It means on the Linux side everything needs to be reimplemented including OpenCL support and compilers. As usual if the Linux implementation proves to eventually be better than their own they will have no qualms with using it. Wouldn't even be surprised if they sued these same people who worked on that code despite it being an open standard.

      Even Google contributes cash back to Mozilla in return for search advertisements because they know they are increasing their user base this way even after they developed their own open source browser. The least Apple could do is to have OSS specific programmers on their staff like Intel has. But of course Apple does not think in this way. They could care less. They no longer are a hardware company.

      Apple are a bunch of shitheads because even if they release their source code back they produce crippled devices which are not meant to empower the user to use the hardware to its fullest extent but to line their pockets instead. Differences between iPod and iPhone? One antenna. Difference in price to the consumer? Over a hundred bucks. Price of an antenna? $1? $2? They have devices with multiple GB of storage which you cannot access as a regular storage device because of DRM and because it would obliterate their nice walled garden. You could actually install your own app in the device, heck even develop apps in the device, without going through the Apple anointed way. They are a bunch of control freaks even worse than Microsoft. They use open source software out of necessity for now, but it remains to be seen what will happen in the future. Apple is well known for shafting every other company they have dealt with including Microsoft, Adobe, IBM, Motorola which weren't exactly coir boys to begin with either.

    217. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      This is what happens all the time with GPL software too. Of course you could always pull an Oracle, if you really want to get noticed.

    218. Re:What's wrong with GCC? by jbolden · · Score: 1

      Everyone including Theo de Raadt would agree that Theo is much harsher that Richard. No one for example has ever believed that Richard Stallman was likely to get violent.

      He's always making rather critical quotes like, "Linux people do what they do because they hate Microsoft. We do what we do because we love Unix." For that matter his comment to Richard, "...you are being the usual slimy hypocritical asshole... You may have had value ten years ago, but people will see that you don't anymore."

      You might want to check out:

      1) NetBSD vs. OpenBSD wars
      2) Theo's attacks on FreeBSD and NetBSD's privacy policies
      3) Theo's attacks on FreeBSD having GPL code in the kernel.
      4) Theo's attacks on NetBSD maintaining legacy hardware too long
      5) Theo's attacks on HP being cheap
      6) Theo's attacks on Linus programming in the kernel

      etc...

    219. Re:What's wrong with GCC? by jo_ham · · Score: 2

      You just don't have a clue, do you?

      Difference between an iPod and iPhone being "one antenna that costs $1-2"? Give me a break, you're not even trying.

      You also seem to be ignorant of what the term "DRM" actually means, just throwing it around like a bogeyman. Apple's lack of exposure of the iPhone/iPod Touch's filesystem as a USB mass storage device is not DRM. It may be a silly restriction (I agree with you), but it's not DRM.

      So, your argument is Apple are shitheads because although do do have OSS specific programmers on staff (oh, and on the "Google developing their own browser" front, which HTML engine did they opt to use, eh? They certainly didn't start from scratch), you instead condemn them for their choice of business model. They do everything they're asked of and more regarding open source licences (ie, contributing back to BSD projects when they are not obligated to) but that's not enough. You seem to have changed your argument now that I called you out over their totally legal, encouraged and designed-from-the-start use of the BSD licence, now you're saying it's not enough that they contribute back to open source because they make hardware that you personally don't like. That makes them "shitheads".

      Mmm. Ok then. Come join us when you've grown up a bit and have more of an argument than "they're shitheads".

      How did they "shaft" everyone they worked with?

      Motorola and IBM - I assume you're talking about the move to Intel chips. Mmm. Really "shafting" of those two companies there, who were at a dead end with their CPU development, leaving Apple struggling for performance while Intel and AMD streaked ahead with x86, giving Apple little choice but to switch hardware architectures.

      Microsoft - a company that originally wrote MS Office for Mac (yes, it was a Mac office suite first) who ripped off the UI for the Mac and later settled the case by agreeing to continue to ship MS Office for Mac and buy $150 million in stock, who continues to this day to run a specialised Mac Business Unit for developing Mac software (that makes them a lot of money), and enjoys the benefits of Apple integrating many MS-controlled features into OS X such as Exchange and Samba. Sounds like shafting to me!

      Adobe - I assume this is about dropping Flash on iOS, given that Adobe themselves had neglected Flash on OS X for years, causing it to be an enormous performance hog and severe second class citizen compared to the Windows version. Adobe then claimed this was all about Apple "not providing" needed access to the internals of OS X to shift the blame, but this was clear nonsense given that other developers were doing *just fine* implementing flash playback on OS X with great performance (for example, the XBMC developers showing up the official Flash player on OS X by being able to play back HD flash streams at less than half the CPU use). Adobe then also claiming it was about lack of hardware decoding on OS X, even though comparisons of software-only rendering on Windows and OS X showed large disparity (not to mention XBMC seemed to do just fine).
      Adobe, of course, dropped support for mobile Flash late on in the game after realising it simply wasn't feasible due to performance reasons on mobile devices.... the exact reason Apple provided at the launch of the iPhone.

      I get that you're an Apple hater who seems to define yourself by the hate of a large corporation, but the way you skip around your arguments to keep coming back to your pre-defined hate of Apple is quite amusing when your previous arguments that justify your hate are addressed logically. I'm not claiming they're saints, or perfect, or without criticism - there is plenty of that to level at them - but blind hate is just as bad as being an "apple fanboi" - it leaves very little room for real discussion.

    220. Re:What's wrong with GCC? by alexo · · Score: 1

      We have found by experience, often personal, that some companies are not actually run by Gollum

      True, some are run by Sauron.

    221. Re:What's wrong with GCC? by cheesybagel · · Score: 0

      I do not see you doing any math to disprove my point regarding iPod vs iPhone costs...

      So basically you agree that it is a stupid idea not to be able to have full control of the storage space.

      Google used KHTML as well. Oh yeah now people prefer to call it Webkit. But they do not only open source the HTML rendering portions they changed and were forced according to the license, they also open sourced the browser itself which was not mandatory to open source. People who put their code under the BSD license are only reaping what they sow. Simple as that. It's their choice to use such a permissive license. I was just making clear that I would not release code under that license and for that case neither will many other individuals and even corporations. It seems to be in fashion to bash the GPL but most of us in the business know otherwise. FYI I code for hire so I could care less about selling software. Most of the clients I have worked for develop software in-house for use in their own machines. People pay me to create something, not to make copies or sell licenses. Of course some people always like to have something for nothing, how do you think Apple manages to get these profits? They are the DRM middlemen of digital media distribution. Their main competitor at this point is not even Google, it's Amazon.

      Motorola and IBM developed the PowerPC series at Apple's request given a certain set of conditions. Apple by itself could not fund the development of a family of CPUs. Let alone two implementations by separate vendors. The deal was that Apple would open up the hardware platform and sell MacOS as one of the OSes that users could install so the market would be larger. Of course since Apple couldn't produce hardware worth a damn as usual (Steve Jobs once told the CBM Amiga designers that the flaw of their design was that it had "too much hardware") the competition easily captured a huge share of the PowerPC market (UMAX, Power Computing, etc). When Steve Jobs came back to Apple the first thing he did was cancel all those licenses and pursue anyone selling the PReP or CHRP standard compliant hardware products. Apple's profits rose because they became a monopoly in that segment again, while Motorola and IBM had their target market of tens of millions CPUs sold per year shrink to millions or hundreds of thousands. So yeah they were shafted and x86 won as a consequence. If you do not sell enough CPUs you do not have the profit to do the R&D on better products later on. It is something of a minor miracle how IBM manages to custom design so many different PowerPC implementations for the consoles today (which do sell in the tens of millions). That is an expertise other people in the segment do not seem to have.

      Microsoft got sued for doing pretty much the same thing Apple did which was to copy someone else's GUI. Bill Gates gave Apple the money after Jobs came back to Apple because at the time he was still involved in an anti-trust case and he need to prop up some competition. He also probably thought the investment would pay itself back which it did.

      Adobe was shafted by Apple more than once. Apple started competing with Adobe on products directly while disabling Carbon. Since Adobe has their code base in C++ and not Objective-C they could not easily switch to Cocoa even if they wanted to. Most of their customers used Windows and they wanted to share the development costs using the same code base. They only were able to do it much later after Apple released Objective-C++ and by that time they lost a lot of the market. It is easy for Mac apologists to say Adobe was the villain here, but the fact is they weren't. I won't even get started with Flash on iOS because the argument is complete bunk. Lots of software is a performance hog, yet if it is useful people use it. The choice should be user's not the hardware vendor's. Just one more thing that shows how closed that environment is. An environment which is now moving elsewhere. Apple already has an app store for MacOS X and Microsoft is doing the same thing with their new and crappy Windows phones nobody wants. I now make it a point not to buy any further Apple products. My tablet runs Android and my next phone will certainly not be running iOS.

    222. Re:What's wrong with GCC? by jo_ham · · Score: 1

      Disabling Carbon? Ok, your delusional ranting is clearly just impenetrable.

      Apple kept Carbon alive for *over ten years* and marked it depreciated when OS X was originally launched. If a full decade of development time isn't enough to transition to the parallel, modern API then what the fuck were they doing?

      It's hardly Apple's fault that after including an API that was already deprecated at the launch of OS X and telling everyone about it, and that eventually it would go away but that it was around for now alongside Cocoa for legacy code and to smooth the transition that when they finally pulled it after a decade (with plenty of warning), that somehow that is "shafting" Adobe?

      You really won't entertain any possibility that Apple is anything other than a Machiavellian empire, bent on screwing everyone for no purpose other than the lulz. Crazy.

    223. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Well you can choose to "think" or you can read and find out what is true. Roslyn isn't ready yet, but it's literally the compiler's interface, and what they use/will use for Visual Studio. None of this is really related to the way C++ works, which explains the brokenness you are seeing. C# is a nicer language for it, but personally I'm glad the Clang/LLVM teams are working on improving the situation.

    224. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      How do you propose GPL to exist without copyright?

    225. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      How do you propose to have GPL without Copyright?

    226. Re:What's wrong with GCC? by cheesybagel · · Score: 0

      You don't understand do you? Do you even know jack shit about programming? Adobe had their entire codebase in C++. They still do. You could not mix Objective-C code (which is what Cocoa is) with C++ code (Adobe's code) in the same file. Carbon was written in C which can be mixed with C++ in the same file. It was a wrapper to Cocoa. Apple dropped it just to thumb their nose at Adobe apparently. Adobe weren't the only ones complaining at the time. Had Apple actually listened to app developers they would have introduced Objective-C++ before dropping Carbon instead of doing things the other way around. Apple is notorious for breaking backwards compatibility and then they jest about Android being fragmented. What a joke! I cannot use Stanza ever since I upgraded to iOS 4 because they broke the binary. Which is kind of interesting since it competed with iBooks for free and had IMO a better interface and easier access to public domain books. On MacOS X you need to release a new binary like every time there is a major OS upgrade.

    227. Re:What's wrong with GCC? by jo_ham · · Score: 2

      "Apple dropped it just to thumb their nose at Adobe"?

      Just listen to yourself.

      The API was old, and deprecated when OS X was literally brand new - when OS X shipped at the start of its life. It was then kept around by Apple for ten years.

      "Notorious for breaking backwards compatibility" - right, like keeping Classic around for years after switching to OS X, then shipping and keeping Rosetta around after *changing CPU architecture* so PPC code could run on x86, and keeping an API that was already old hat by the time OS X launched for 10 years.

      "On MaOn MacOS X you need to release a new binary like every time there is a major OS upgrade." - oh come on, you can troll better than that. You're not even close to accurate.

      Adobe had *plenty of time* (over 10 years) to adapt to a new API since they knew that Carbon would go away eventually (being already officially marked as EoL when OS X shipped). That they chose not to do anything about it for a decade says more about them than it does about Apple. In that same timeframe, Apple switched from PPC to Intel *and Adobe's ancient code still kept working* on the new platform, with Adobe's customers telling them "come on, it's really time to pull your finger out here... remember what happened to Quark during the OS 9 > OS X transition... they dragged their feet on making an OS X version (since Apple kept the Classic environment around for years so they didn;t have to) and Adobe came along and stole all that lovely user share away from Quark Xpress.... They thought they were too big to be ignored and that everyone would put up with it..."

      There are many valid criticisms of Apple and OS X to be made, but "not supporting legacy software" is not one of them by a long shot. I'm amazed they did as well as they managed to with not only a switch to a new core API in OS X, but also a total change of CPU architecture in the middle, with early PPC software still running on OS X right up until the release of Lion.

      Of course, it's not the first time they've swapped CPU architecture... the 68k switch comes to mind (and even then, they kept the emulator around for donkey's years afterwards to support legacy software).

    228. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      You could not mix Objective-C code (which is what Cocoa is) with C++ code (Adobe's code) in the same file.
      ...
      Had Apple actually listened to app developers they would have introduced Objective-C++ before dropping Carbon instead of doing things the other way around.

      Um, you've been able to use Objective-C++ on Mac OS X since 2001, well before Carbon was shown the door. It's in the Mac OS X 10.1 November 2001 Developer Tools CD Release Notes.

    229. Re:What's wrong with GCC? by rmav · · Score: 1

      Here are some facts. GCC 4.6.3 Loses to Clang 3.0 50% of the time. GCC 4.6.3 Loses to Clang 3.0 ~18% of the time. Most of the benchmarks use OpenMP which clang doesn't support. GCC 4.6.1 Loses to a prerelease Clang 3.0 ~50% of the time.

      Where are you getting this 90% from? Cause it's not from reality.

      I also get quite variable results. I have some code that runs significantly faster with gcc 4.6.x or 4.7.x. Other code is faster with clang 3.0. It really depends. In my experience gcc is more faster than not, but the gat is closing quickly. Roberto

    230. Re:What's wrong with GCC? by rmav · · Score: 1

      What's wrong with GCC?

      This? http://gcc.org/
      Roberto (ducking under the table)

    231. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      Quark is not Adobe. You just need to see how much time it took for them to release a Windows port to see the difference.

      The PowerPC transition wasn't done when Steve Jobs was around (so they did do some things right then) but yeah they did manage to make CPU emulation work to keep the older apps back then. However this was nothing that hadn't been done elsewhere. Windows NT for Alpha also ran x86 apps at good performance. The main difference was that the 68k was utterly obsolete performance wise by that time while the Pentium Pro vs Alpha 21164 was not a clear win for either way if you ran integer code like most applications do. Emulation of x86 on Alpha was hence a much harder problem to solve and users never quite got over the fact they were using a more expensive platform which ran their old software slower than a cheaper x86 processor would do..

      The classic emulation at first was little more than running an emulator box inside MacOS X. It was very crude at first. If I remember correctly you could not even cut & paste properly and everything ran in a separate screen. You effectively had a separate MacOS Classic instance running. It was much more cumbersome for the users than the PowerPC transition. Hence the outcry from users who required Cocoa apps in the first place. The Classic apps ran in a second class environment in MacOS X.

      I have helped people who do MacOS X development. The need to release new binaries every time there is a major revision is hardly rare or anything. They had to do it so frequently even they got pissed off from working on it (and these were hardcore Apple users/developers). Sure Apple has fat binaries so probably you don't notice someone has compiled several different instances of the code to run on different OS versions and hardware platforms. But the people who work on the code either do it, or it stops working eventually.

    232. Re:What's wrong with GCC? by cheesybagel · · Score: 1

      Wouldn't it be great if the first revision of anything worked 100% fine at the time of release without any bugs? Adobe probably just didn't want to be the test subjects of it. So they procrastinated as long as they could until the tools were up to shape. Even then I wouldn't be surprised if the tools still had bugs in them by the time they did a port.

    233. Re:What's wrong with GCC? by jo_ham · · Score: 1

      The PowerPC transition wasn't done when Steve Jobs was around (so they did do some things right then) but yeah they did manage to make CPU emulation work to keep the older apps back then.

      So you don't remember Steve Jobs inviting the CEO of Intel up onto the stage during the Macworld keynote with the Intel logo as the backdrop to officially announce the worst kept secret in the tech industry at the time?

      Perhaps some fact checking first before you throw a casual insult at the man.

      Or are you talking about the 68k transition? Either way, both CPU architecture changes were handled in the same way - with extensive support for legacy code, so they handled it exactly the same as the PPC>x86 switch, dropping 68k emulation in 1998 after about 4 years. Rosetta hung around from 2006>2011 when it was finally dropped in Lion.

      Adobe had no excuse other than laziness for not moving their code to Cocoa (assuming they wanted to stay on the Mac platform with the release of OS X of course). Relying on the legacy support system for almost 10 years that they knew was being removed and then crying that Apple was being unfair to them is simply not the way to run a business.

      The Classic instance was a pseudo-VM - you essentially had a fully fledged copy of OS 9 running alongside. It worked ok, but it was hardly perfect. It did not run in a separate screen (although apps had their own windows). It ran much as Windows does right now if you use a VM that supports "side by side" mode like Fusion.

    234. Re:What's wrong with GCC? by Anonymous Coward · · Score: 0

      Cisco too.

  2. in other words by phantomfive · · Score: 4, Insightful

    and suit well for their BSD needs

    In other words, it has the license they want. GCC was a thorn in the side of the collective BSD conscience, they didn't like it.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:in other words by bonch · · Score: 5, Interesting

      One of the FreeBSD developers gave a talk about this. FreeBSD has commercial users, and the new GCC just wouldn't have been an option for them. The older license-compatible version still in FreeBSD wasn't receiving updates, and it was beginning to affect developers too greatly.

      Whether this compiler switch is a good thing or not depends on how much you hate the idea of commercial vendors using open source. GCC's strictness is admiral from an ideological perspective, but certainly not from a practical one. It should be noted that even Linus Torvalds adheres to a more pragmatic worldview:

      There are "extremists" in the free software world, but that's one major reason why I don't call what I do "free software" any more. I don't want to be associated with the people for whom it's about exclusion and hatred.

      It's pretty damning when Linus himself no longer refers to Linux as free software because he doesn't like the extremism of the free software movement. And why should he? He's an engineer, not a religious fundamentalist.

    2. Re:in other words by cupantae · · Score: 5, Insightful

      It's not quite as simple as that. The development of Clang is being funded by Apple. They need a BSD license so that they have the freedom to make further modifications down the line (without leaving them open). Yes, I'm a GPL advocate. No, I don't agree with Apple's ideology. But it's the case anyway.

      In any case, it doesn't do us any harm to have an underdog in the world of open source C compilers. If you only have one option, then people start treating even the programme's eccentricities as standards. The need for compatibility encourages people to document. Not to mention that the different attitude taken in Clang from the offset means that it may be more suitable for certain applications. This page makes for some interesting reading.

      --
      --
    3. Re:in other words by Anonymous Coward · · Score: 0, Flamebait

      It's pretty damning when Linus himself no longer refers to Linux as free software because he doesn't like the extremism of the free software movement. And why should he? He's an engineer, not a religious fundamentalist.

      Which is hilarious because it is the BSD fundamentalists who are re-implementing huge projects just to avoid a license they don't like for no reason other than poltical correctness. Oh right, of course, when BSD zealots flame everyone else it doesn't count as "religious fundamentalism". You fucking hypocrites.

    4. Re:in other words by phantomfive · · Score: 1, Insightful

      Talking about 'fundamentalism' and 'how bad the other people are' is childish (yes, I'm calling you childish, Bonch). Which license you prefer is a matter of preference, and it doesn't make you an extremist, dumb, religious, or even impractical. Which license you choose is a matter of preference.

      1) BSD: if you want your software used by corporations, and you don't care if you get anything back as a result. You are interested in fame.
      2) GPL: if you want to help people out, but don't want a corporation to make millions without giving back. Your code might not get used as much, but you're fine with that.

      Both of these are great licenses from people who are giving their hard work away for free. Insulting either one as 'religious' or 'unethical' is incredibly unseeing and idiotic. The license you choose is a preference, nothing more.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:in other words by bonch · · Score: 1, Interesting

      Which is hilarious because it is the BSD fundamentalists who are re-implementing huge projects just to avoid a license they don't like for no reason other than poltical correctness.

      Clang also addresses the lack of modularity in GCC. One of Apple's Clang engineers gave a talk several years ago about how at NeXTStep in the early 90s, he asked Stallman to implement precompiled headers in GCC. Stallman refused on political grounds. GCC was also intentionally obfuscated to make it difficult to integrate with. It's a clear example of rigid religious ideology standing in the way of and given prominence over technological progress.

    6. Re:in other words by ommerson · · Score: 1

      There's also the awkward truth that the vast majority of Linux run-times sold are in mobile phones and other embedded devices and a very, very long way from being 100% open source software.

    7. Re:in other words by Anonymous Coward · · Score: 1

      You sound like a nut job (you even use the term "libre software"...I bet you also use the acronym "FLOSS"). You're not going to end up as some freedom fighter in a post-apocalyptic future where end users can't control their software. You're just a nerd at a computer. There are no "stakes". The original BSD code doesn't suddenly disappear the moment a company does something with it.

    8. Re:in other words by jedidiah · · Score: 0

      > FreeBSD has commercial users, and the new GCC just wouldn't have been an option for them.

      What commercial users? If the likes of EA and Oracle can manage fine using a Free Software toolchain then it clearly isn't the politics of the Free Software crowd.

      You like to pretend that Free Software is incompatible with commercial usage when it is quite clearly otherwise. Your lie would be more convincing if Oracle didn't plaster all of the CAT busses with an armoured Tux at OpenWorld time.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    9. Re:in other words by jedidiah · · Score: 0, Flamebait

      The "need" to keep a C complier closed is a highly dubious one.

      This is about Apple being neurotic and ant-consumer. It isn't about any real limitatoins of GCC or the GPL.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    10. Re:in other words by Anonymous Coward · · Score: 0

      and suit well for their BSD needs

      In other words, it has the license they want. GCC was a thorn in the side of the collective BSD conscience, they didn't like it.

      Your wording makes it sound like people felt like were drinking razor blades whenever they typed in "gcc" at the CLI. I'm sure some people didn't like it, and some didn't mind, but it was generally a non-issue before GCC's switch to GPLv3. Given non-restrictions that the BSD license has, forcing the users with GPLv3 terms was a non-starter.

      At the end of the day it was the practical considerations given the project goals that drove the decisions. At least with FreeBSD, I think the majority of the decisions are done from an engineering point of view, and looking at GPLv3 as "good" or "bad" was not done from an ideological context (in as much as "free" is no ideological :).

    11. Re:in other words by Nutria · · Score: 1

      RMS refused to implement precompiled headers in GCC because he doesn't like BSD?

      --
      "I don't know, therefore Aliens" Wafflebox1
    12. Re:in other words by bytesex · · Score: 1

      Huh ?

      1) But it's not.
      2) Intel's is, and it's one of the best ones around.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    13. Re:in other words by carou · · Score: 1

      It's not quite as simple as that. The development of Clang is being funded by Apple. They need a BSD license so that they have the freedom to make further modifications down the line (without leaving them open). Yes, I'm a GPL advocate. No, I don't agree with Apple's ideology. But it's the case anyway.

      I doubt that's accurate view of their motivation - although neither of us can prove it either way. But judging on past form they don't seem to have held back their Clang modifications so far, why would they want to start doing so later?

      I think it is more likely that they are worried about the patent grant implications of GPL 3. A lot of corporations are, rightly or wrongly. Certainly in the company I work for, the legal department are paranoid about the idea that one of our contributions to a GPL 3 project might be picked up and (legally) included in unrelated projects, which doesn't necessarily need to be software products, and thus we might be deemed to have granted a license to all our patents to a hardware competitor. Now me and the lawyers can disagree on how likely that is to happen in reality, but the final words is that it's way easier for me to get corporate approval to send changes upstream to a BSD licensed project than a GPL licensed one. I suspect something similar is going on at Apple, and that backing the BSD-licensed clang project is enabling them to be a better participant in the open source community, not a worse one.

    14. Re:in other words by BradleyUffner · · Score: 2

      1) BSD: if you want your software used by corporations, and you don't care if you get anything back as a result. You are interested in fame.

      Or, you recognize that your software might be useful to others and you want to allow them to use it without placing restrictions on them (yes, requiring them to release the source code is a restriction).

    15. Re:in other words by Anonymous Coward · · Score: 0

      What commercial users? If the likes of EA and Oracle can manage fine using a Free Software toolchain then it clearly isn't the politics of the Free Software crowd.
      You like to pretend that Free Software is incompatible with commercial usage when it is quite clearly otherwise. Your lie would be more convincing if Oracle didn't plaster all of the CAT busses with an armoured Tux at OpenWorld time.

      Yes, because EA and Oracle are representative of all commercial users, and with such amazing reasoning, it's completely not fucking paranoid to accuse the guy of lying. Now, before I dismiss "Jedidiah Log" I should give it a try.

      Why did GCC move to GPLv3 when so many other projects get on just fine with GPLv2? Liars! Why don't cats suddenly appear, every time, you are near? Birds do. Fucking deaf cats!

      There we go, you can't say that I didn't at least try seeing things your way. My God you're dull.

    16. Re:in other words by serviscope_minor · · Score: 0

      requiring them to release the source code is a restriction

      You are either a liar or a fool.

      You said:

      use

      Not distribute.

      --
      SJW n. One who posts facts.
    17. Re:in other words by Carewolf · · Score: 2

      *Cough* bullshit. BULLSHIT!

      Simple proof: GCC has precompiled headers, and is in some ways more modular than Clang, separate precompiler for instance? What clang has is better API for the code analytics where GCC's modular APIs are either too high level (precompiled source), or too low level (intermediate GIMPLE code).

    18. Re:in other words by colinrichardday · · Score: 1

      2) Intel's is, and it's one of the best ones around.

      Unless you are compiling for an ARM.

    19. Re:in other words by unixisc · · Score: 1

      Glad to see that Linus at least has the sense to distance himself from the 'free software' movement, and instead go w/ open source: as he noted in the same interview, 'I believe in open development, and that very much involves not just making the source open, but also not shutting other people and companies out.'

      After all, why should Linux associate w/ a movement that demonizes one of his customers - TiVo?

    20. Re:in other words by unixisc · · Score: 1

      I'm not a developer, but from what I've read in Stallman's writings, he is opposed to distribution not only in just binaries (without source), but also in intermediate formats, such as precompiled code and in case of Java, bytecode is out. So in the GP's case, it is believable that Stallman would have refused to implement precompiled anything if that would imply that the source code wouldn't have to be given out.

    21. Re:in other words by Sancho · · Score: 1

      *Cough* bullshit. BULLSHIT!

      Stallman could have changed his mind. Precompiled headers weren't introduced until the mid 2000s.

    22. Re:in other words by TheRaven64 · · Score: 2

      I think it is more likely that they are worried about the patent grant implications of GPL 3.

      There are two things in the GPL that make companies nervous. One is the patent grant, the other is the revocation clause. It is possible to discover that the product that you are selling 100,000 instances of a month violates the GPL, and have your license instantly revoked. Getting the license granted again requires explicit interaction with the copyright holder (just getting into compliance does not make the license valid again), so if you can't get hold of every copyright holder then you have to stop distributing your product or face massive liabilities.

      --
      I am TheRaven on Soylent News
    23. Re:in other words by Anonymous Coward · · Score: 0

      No, because he didn't want developers sending 'obfuscated' headers with their software, making it difficult for end-users (developer-level, not 'user'-level) to work with them. Same principle as open source software. Ironic though since they did exactly that sort of obfuscation inside of gcc.

    24. Re:in other words by bonch · · Score: 0, Troll

      The engineer giving the talk mentioned that GCC eventually got precompiled headers over a decade after he had asked Stallman for the feature and after NeXTStep had already invested significant work in creating DevKit to work around GCC's limitations. It was those kinds of political moves that drove Apple to initiate the Clang project once LLVM came along.

    25. Re:in other words by Anonymous Coward · · Score: 0

      GCC didn't get precompiled headers until the 2000s. NeXTStep was around in the early 1990s. Do a little research before knee-jerk responding with "BULLSHIT!"

      As for GCC being more modular than Clang, even GCC's developers will disagree with you there, though they're trying to make things better.

    26. Re:in other words by Anonymous Coward · · Score: 0

      It's anti-consumer because they now prefer a different C compiler and leave the choice up to the consumer in the form of a switch?

    27. Re:in other words by Anonymous Coward · · Score: 0

      It's more than that. Apple also wants to retain the right to sue anyone who uses LLVM/Clang for patent infringement if they deem them a competitive threat. Naturally I will be downvoted by the fanatical pro-Apple anti-Linux zealot mob that has taken over slashdot but this is the truth. The GPLv3 protects users from patents related to the code, removing the last great hammer companies like Apple (and Oracle, IBM, all the usual anti-GPL companies) have to destroy their competition.

    28. Re:in other words by Anonymous Coward · · Score: 0
      I don't see BSD people flaming GPL, I just see GPL people flaming BSD while claiming their pseudo-freedom is the best freedom.

      [...]anybody notice how the Anti-BSD GPLers sound a HELL of a lot like the RIAA? Both act as if copying is stealing, both come up with these giant FUD scenarios of doom which never seem to happen, and both act as if THEIR way is the only 'right" choice and frankly you are an idiot or "one of THEM!"[...]

    29. Re:in other words by Meneth · · Score: 0

      It's pretty damning when Linus himself no longer refers to Linux as free software because he doesn't like the extremism of the free software movement. And why should he? He's an engineer, not a religious fundamentalist.

      He's a moron.

      The BSD license is good for only one thing: power-mad corporations who make proprietary crap.

    30. Re:in other words by Anonymous Coward · · Score: 0

      Congratulations on completely missing the point.

    31. Re:in other words by jedidiah · · Score: 1

      > Yes, because EA and Oracle are representative of all commercial users

      They aren't just representative of all commercial users. They are representative of THE MOST DEMANDING commercial users when it comes to things like licensing. They don't merely "use" Free Software. They build their own PROPRIETARY products off of it.

      They are both posessive and paranoid.

      If they can manage it, then anyone can.

      You're the one that's dull. You are blinded by religious zealotry.

      Anti-GPL zealots are funny.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    32. Re:in other words by Anonymous Coward · · Score: 0

      It has nothing to do with religion and everything to do with legal issues of GPL enforcibility. Nice troll though.

    33. Re:in other words by geekopus · · Score: 1

      You're not going to end up as some freedom fighter in a post-apocalyptic future where end users can't control their software. You're just a nerd at a computer. There are no "stakes".

      +1 LULZ

      These people are insane and have little-to-no sense of perspective.

    34. Re:in other words by Anonymous Coward · · Score: 0

      I'm a moron.

      The BSD license is good for only one thing: power-mad corporations who make proprietary crap.

      I have contributed a patch to fix your comment in accordance with the GPL.

    35. Re:in other words by jo_ham · · Score: 1

      They don't want to have to use a GPLv3 licensed compiler, so they worked to produced a BSD one. How is that being "anti-consumer"? Unless all BSD code use by anyone is also "neurotic" and "anti-consumer", in which case your beef is with the nature of the licence rather than those using it.

      It's their choice - the GPLv3 is pretty anti-corporation, so they moved away from GCC to avoid it (the older GPLv2 version is getting long in the tooth). There are real limitations for GPLv3 software from the perspective of a large corporation and Apple wishes to avoid them. This is exactly the intended result of those who wrote the v3 licence - the alienation of developers who would otherwise be able to "Tivoize" the code.

      Can you really blame Apple for finding that BSD code works for them, and using it where possible? Especially for a key component of their IDE.

      They also aren't keeping their C compiler "closed", even though it's under a BSD licence. They've been developing and releasing changes back into the community because it's beneficial for them to do so - namely that open source development of Clang is mutually beneficial to lots of different projects (even Linux itself). This is not some sort of black and white situation whereby the choice to not use GPL means they are automatically taking the diametrically opposed position, merely that the GPL does not suit them but the BSD licence does, especially now that GCC has moved to GPLv3.

    36. Re:in other words by jo_ham · · Score: 1

      It's more than that. Apple also wants to retain the right to sue anyone who uses LLVM/Clang for patent infringement if they deem them a competitive threat. Naturally I will be downvoted by the fanatical pro-Apple anti-Linux zealot mob that has taken over slashdot but this is the truth. The GPLv3 protects users from patents related to the code, removing the last great hammer companies like Apple (and Oracle, IBM, all the usual anti-GPL companies) have to destroy their competition.

      Ahahahahahaha! Oh wait, you were serious, let me laugh even harder! AHAHAHAHAHAHAHA!

      You honestly think /. is overwhelmingly "overtaken" by a pro-Apple, anti-Linux mob? Come on, pull the other one, it's got bells on it.

      No, if you get modded down from your lofty position of zero starting score due to your extremely brave AC login it will be because of your nonsensical post.

    37. Re:in other words by Anonymous Coward · · Score: 0

      No, it's religion. Stallman hates all proprietary software and intentionally put up roadblocks to prevent integration with GCC.

    38. Re:in other words by Anonymous Coward · · Score: 0

      Which is hilarious because it is the BSD fundamentalists who are re-implementing huge projects just to avoid a license they don't like for no reason other than poltical correctness.

      Because the whole point of GNU wasn't the re-implementation of a huge project like, oh, I don't know, Unix itself just to essentially avoid a license they don't like for no other reason than pointless politics. If it's okay when you do it, it's okay when everyone does it. You fucking hypocrite.

    39. Re:in other words by Anonymous Coward · · Score: 0

      mod down the professional troll.

    40. Re:in other words by Anonymous Coward · · Score: 0

      Or an Opteron.

    41. Re:in other words by jbolden · · Score: 1

      Linus has had those opinions for about 15 years maybe longer. That being said in 2005 Linus released GIT, and could have picked any license. He picked the GPL not a BSD license. He's been a strong advocate for the GPLv2 saying it was the best choice he ever made in terms of forcing contributions back. The Linux kernel has corporate contributors by the boatload.

      I think it is fair to say that Linus is very much on the GPL side of the debate while objecting to Stalman's tactics.

    42. Re:in other words by BradleyUffner · · Score: 1

      It was a poor choice of words. I meant "use" as in "use in software they plan to distribute".

    43. Re:in other words by Anonymous Coward · · Score: 0

      The GPL was a counter to the monopolistic platform wars that were brewing at the time. I'd argue that it may have been a necessary evil that helped the Linux kernel get to where it is today.

    44. Re:in other words by rmav · · Score: 1

      It's more than that. Apple also wants to retain the right to sue anyone who uses LLVM/Clang for patent infringement if they deem them a competitive threat.

      OK, please explain this. It will be fun.

  3. "article" by Anonymous Coward · · Score: 0

    I think "article" is a bit generous.

  4. Code quality will suffer by hpa · · Score: 0

    There are a number of things attractive with LLVM/Clang: the code base is cleaner, some people feel better about the license, and so on. The quality of the generated code, however, is significantly worse, at least at this time.

    1. Re:Code quality will suffer by bonch · · Score: 4, Interesting

      I've heard positive and negative claims regarding this. Certainly, Apple thinks it's production-ready (I think it was Xcode 4.2 that they stopped shipping GCC). Do you have a link showing that generated code is significantly worse? Which versions were compared?

    2. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      Are you a timetraveller from 1998? Nobody cares anymore what kernel people are using.

    3. Re:Code quality will suffer by cheesybagel · · Score: 1

      http://www.networkworld.com/community/blog/apple-ditches-mysql-favor-postgresql

      It is all about politics, performance be damned.

      Their kernel performance sucks. How many people have you heard using MacOS for server tasks? Probably even Apple isn't using it by now if they can avoid it.

    4. Re:Code quality will suffer by MtHuurne · · Score: 2

      Both Apple and FreeBSD didn't want to adopt the GPLv3 versions of GCC, so they were stuck at GCC 4.2. Compared to that GCC version, the code generated by LLVM/Clang is not worse, in my experience.

    5. Re:Code quality will suffer by steveha · · Score: 1

      The quality of the generated code, however, is significantly worse, at least at this time.

      At work, I use Clang to compile my DSP code, and the result is faster than if I use GCC. I haven't rigorously analyzed the situation but the speedup is on the order of 5% to 10% for my code; not dramatic, but nothing to sneer at either, and all I had to do was edit my makefile to specify Clang.

      So I find the blanket statement that Clang generates "significantly worse" code rather surprising. My own experience says otherwise.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    6. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      Like Apple cares about performance. If they did they wouldn't be using Mach.

      That statement is not even wrong. Mach has a bad reputation for performance because originally it was a microkernel, which meant tons of message passing and context switches. However, Apple doesn't use the Mach kernel in that way. The Mac OS X kernel is as monolithic as the Linux kernel as far as the hardware is concerned: passing messages is done by plain function function calls and the entire kernel, all drivers and all kernel extensions run in a single address space. Even the BSD and Mach personality run in the same address space and use the same system call interface.

      The Mac OS X kernel does perform quite badly in micro-benchmarks like lmbench, and has a number of weaknesses related to memory mapped IO. On the other hand, it's quite good at keeping e.g. audio latencies low even under heavy load (and was much better at it than Linux in the past, although the Linux kernel has caught up in the mean time afaik). And in general, that sort of stuff (keeping latencies the same regardless of system load) is what Apple optimizes for, rather than top performance on an unloaded system. All of that is unrelated to the fact that the kernel is based on Mach code though.

    7. Re:Code quality will suffer by gnasher719 · · Score: 1

      There are a number of things attractive with LLVM/Clang: the code base is cleaner, some people feel better about the license, and so on. The quality of the generated code, however, is significantly worse, at least at this time.

      Most of the time, code quality doesn't matter. In the very few cases where code quality really mattered to me, gcc and llvm optimisers both went out of their way to make it hard to create optimal code.

    8. Re:Code quality will suffer by TheRaven64 · · Score: 4, Informative
      At -O2 and -O3, clang and gcc are within 10% for the vast majority of code, with no overall winner. There are a few corner cases, however:
      • The autovectorisation support in LLVM is a very elegant design, but is very new code and so still performs worse than GCC in a lot of cases (about 70% of the autovectorisation test suite is faster with GCC).
      • Clang has no in-tree support for OpenMP, so anything using OpenMP (vaguely competently) will be faster with gcc because clang will fall back to the single-threaded version.
      • GCC's Objective-C support is just embarrassing, and (on non-Apple platforms) performance can be an order of magnitude better with clang, with a 20-50% speedup being pretty common.
      --
      I am TheRaven on Soylent News
    9. Re:Code quality will suffer by steveha · · Score: 1

      Somebody mod above post up, please. TheRaven64 knows compiler stuff.

      It seems possible that the reason my code is faster is due to the autovectorization stuff. DSP code generally is a good candidate for vectorizing, and my code is straight C with no explicit use of SIMD features.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    10. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      A lot of people are also overlooking the 'lack of self-containment' in newer gcc versions. I don't remember the exact version (4.3/4.4 might be before it), but you're now required to have gmp, mpfr, and one other library installed just to be able to install the compiler now. And not just that, but specific versions, so basically every compiler upgrade you have to reinstall all those packages as well. Not a big deal for most users, but it's a hassle for those of us compiling from source or when the distros don't have the version dependancies updated (*cough* gentoo *cough*). Additionally in most cases I've found newer versions of gcc to be noticably slower on most of my hardware (less so if your system has so much memory it can cache everything.), and that's given the fact that gcc-4.2 is already significantly slower than both gcc 3 and gcc 2.95 (which if you ever get a chance to compile with it, you'll see just how fast it is, even if it's not as efficient of code. Sometimes you want stuff compiled well, often you just want it compiled fast!)

      Regardless nowadays you're pretty limited in the compiler you can use, but figuring out WHAT that compiler is, might take even more effort (g++ 4.2 and clang for example have some preprocessing quirks that later g++ versions don't, especially regarding templating.)

    11. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      If you wanted to use BSD for server tasks you would obviously just use FreeBSD instead of OS X, duh.

    12. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      I'm using both right now on a 300,000 line code base. slashdot refuses to format this right.
      F16/x86_64

      clang version 3.1 (trunk 155097) /usr/bin/time -v clang++ -O0 -g -Wabi -Wno-parentheses -Wno-tautological-compare -Wno-long-long -pedantic ...
              User time (seconds): 320.28
              System time (seconds): 2.35 ./a.out
      Time 8.582550

      gcc version 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) /usr/bin/time -v g++ -O0 -g -Wabi -Wno-parentheses -Wno-tautological-compare -Wno-long-long -pedantic ...
              User time (seconds): 50.88
              System time (seconds): 3.38 ./a.out
      Time 8.380586

      The last time I measured -03 the performance margin was small enough to be lost is the system load noise. Of course the message in Clang are much better, as well as finding things g++ misses.

    13. Re:Code quality will suffer by TheRaven64 · · Score: 2

      If you're interested, take a look at the talk by Hal Finkel at EuroLLVM a couple of weeks ago. I believe there are actually three vectorisers in progress for LLVM, but the one Hal works on is particularly interesting because it approaches the problem with a very general solution, while the GCC version just transforms hard-coded patterns. I'm not sure if this code made it into trunk just before or just after 3.1 was branched, but I believe the plan for 3.2 is to have it along with a pattern-matching approach, which should autovectorise a superset of the cases GCC handled (which isn't really anything to brag about - I can think of four C/C++ compilers off the top of my head that do a better job than GCC at this).

      Oh, the other nice thing about this stuff in LLVM is that it's target-independent. LLVM supports arbitrary-sized vectors in the IR, along with a fairly rich set of operations, and target back ends just map these to real instructions. Once autovectorisation is done once, it can be used with AltiVec, SSE, NEON, and so on with some very minor tweaks (basically just adjusting some heuristics that decide when it's worth bothering with).

      --
      I am TheRaven on Soylent News
    14. Re:Code quality will suffer by Anonymous Coward · · Score: 0

      > Clang has no in-tree support for OpenMP, so anything using OpenMP (vaguely competently) will be faster with gcc
      > because clang will fall back to the single-threaded version.

      What's the prospect for Clang gaining in-tree support for OpenMP? Also for clang and fortran? Both are important for scientific applications.

    15. Re:Code quality will suffer by TheRaven64 · · Score: 1

      What's the prospect for Clang gaining in-tree support for OpenMP?

      Last week, someone posted a set of patches that added OpenMP support to clang 2.9 and relicensed them under the UIUC license so that they can be included in clang once they've been brought up to date. So far, no one has done this, but if there is sufficient interest someone probably will.

      Also for clang and fortran?

      Clang is a front end for C-family languages. Fortran is not a C-family language. It will therefore not ever be supported by clang. Apparently some people are working on a Fortran front end for LLVM, but since I have no Fortran code I have not really been following their progress.

      --
      I am TheRaven on Soylent News
  5. GPLv3 by bonch · · Score: 5, Insightful

    Having all this great open source compiler technology competing with each other is great, but one does wonder if the alienation caused by GPLv3 was worth it, as it is the primary reason both Apple and FreeBSD embraced Clang (in fact, Apple started the Clang project). As a result, GCC wasn't updated past GPLv2 on either platform. Apple couldn't integrate GCC with their IDE like they wanted, nor could FreeBSD's commercial clients work with it. Flexibility and pragmatism usually wins out over rigidness and ideology.

    1. Re:GPLv3 by rev0lt · · Score: 1

      There has been some effort in replacing GCC in BSD systems at least since the 2.95 shift. The GPL licensing of GCC was always obviously a problem, but the discarding of some architectures and the bloat of the latest versions did not help either. A couple of years ago the OpenBSD team did a port of PCC to replace GCC as the base compiler for the system, and for a "big" operating system like FreeBSD, compile times do make a difference.

    2. Re:GPLv3 by Alex+Belits · · Score: 1

      Apple couldn't integrate GCC with their IDE like they wanted

      If you can't integrate gcc into an IDE, you have shit IDE. I mean shittier IDE than Eclipse, and that's a shit IDE already.

      --
      Contrary to the popular belief, there indeed is no God.
    3. Re:GPLv3 by whoever57 · · Score: 0

      Apple couldn't integrate GCC with their IDE like they wanted, nor could FreeBSD's commercial clients work with it. Flexibility and pragmatism usually wins out over rigidness and ideology.

      Seriously? I can understand the desire to move to a BSD license from GPLvX, but how do the changes from GPLv2 to GPLv3 make it impossible for Apple to use it? Frankly, it looks like the rigidness and ideology was at 1 Infinite loop, not elsewhere.

      --
      The real "Libtards" are the Libertarians!
    4. Re:GPLv3 by whoever57 · · Score: 1

      I should clarify, by "it" (in "how do the changes from GPLv2 to GPLv3 make it impossible for Apple to use it?"), I mean specifically GCC, not the GPL or other GPL-licensed code.

      --
      The real "Libtards" are the Libertarians!
    5. Re:GPLv3 by TrancePhreak · · Score: 1

      Because Apple loves DRM, and GPLv3 tries to prevent DRM.

      --

      -]Phreak Out[-
    6. Re:GPLv3 by laffer1 · · Score: 1

      The tivo clause for one. Apple ships DRM and uses EFI. Lock in is part of their ecosystem. It also causes great problems with iPhone and iPad development.

      Don't ask yourself why apple switched, ask yourself why the Linux kernel is still GPLv2.

    7. Re:GPLv3 by Pinky's+Brain · · Score: 1

      It's worth it for people who develop code under it (DUH).

    8. Re:GPLv3 by Anonymous Coward · · Score: 2, Insightful

      They can't integrate it because of the GPL not because of any technical reason. Stop being obtuse.

    9. Re:GPLv3 by PhrostyMcByte · · Score: 1

      Clang aims for more integration than "compile & debug". IDEs can directly use Clang libraries for syntax highlighting and error diagnostics. It was my understanding that GCC lacked this functionality and an old, large, and complex code base made it unrealistic for such a large feature addition to be worked on by mere mortals.

      I'm sure not having to work with GPL is a definite plus for Apple, but this is the first time I've heard of licensing being a big reason for Clang's existence.

    10. Re:GPLv3 by Anonymous Coward · · Score: 0

      While this explanation sounds good, I think the reality is a bit more subtle. Pragmatism does not create software; programmers (and resources to support them) create software. For many companies, like RedHat, IBM, Intel, etc, the GPL license is fine and they are happy to contribute to GCC development. Clang exists because Apple decided that the GPL was unacceptable (and also that GCC was too clunky) for their purposes and they were willing to use their vast resources to create an alternative. LLVM had a diverse developer base before Apple, but Clang has come into being mostly through the sheer force of Apple's will.

      If Apple had not put up the money, I think the pragmatism of the BSD license and *BSD community would still not have created a viable competitor to GCC.

    11. Re:GPLv3 by cheesybagel · · Score: 1

      Yes it is worth it. Who cares about Apple anyway. It is only a matter of time until they decide not to contribute anything anymore. Regarding making parts of GCC LGPLed because of things like incremental compilation and such last I heard Stallman was considering it. He probably just doesn't have a clear picture of the use case yet.

      FreeBSD's commercial clients... probably more routers, etc, using Linux today than BSDs.

    12. Re:GPLv3 by jonwil · · Score: 1

      There are 2 big reasons I can think of why Apple may not want to use GPLv3 GCC:
      1.Patents. By using (and releasing) a GPLv3 version of GCC, the extremely patent grant in the GPLv3 kicks in. This would probably require Apple to grant patent rights for things it doesn't want to grant rights for.

      and 2.GCC includes a number of libraries and pieces of code that gets hipped alongside gcc-compiled binaries, most notably libgcc and libstdc++

      I dont know the official position and I am not a copyright lawyer but I suspect that legally shipping these libraries (libgcc, libstdc++ etc) requires following the GPLv3 including the anti-tivoization clause. This would mean that it would be impossible for Apple (or anyone else) to use the newer GPLv3 GCC and libraries to build any software for an Apple device (iPhone, iPad, iPod, Apple TV) that has software locks.

    13. Re:GPLv3 by bytesex · · Score: 1

      It could be a combined issue; where Apple wanted to integrate those features into GCC, but then keep them for themselves (lest not to supply any 'competition' with it). Given the fact that it would be a large effort, not so strange.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    14. Re:GPLv3 by Anonymous Coward · · Score: 0

      The linux kernel is still gpl v2 because when Linus released linux he removed the or any other later version of the gpl clause. Since the there's been a few thousand developers who have contributed to the linux kernel, so tracking them all down to get permission to change the license would be pretty much impossible.

    15. Re:GPLv3 by Anonymous Coward · · Score: 0

      The strange thing to me, as an end user of XCode, is that using clang has so far done nothing to make XCode better. In fact, the display for warnings and errors has become less usable in the recent past. (I forget when they change it, but it was probably around the time they introduced clang as an option.) Then again, much of their GUI design skills have gone down the toilet*, so that may be completely unrelated.

      *An example: Using the diff tool while having the color scheme set to their pre-made "midnight", which has a black background, using dark tinting to highlight diffs. This makes the highlights completely invisible. This wasn't always the case, and changed probably around the same time the warning and errors display became shittier.

    16. Re:GPLv3 by gnasher719 · · Score: 0

      1.Patents. By using (and releasing) a GPLv3 version of GCC, the extremely patent grant in the GPLv3 kicks in. This would probably require Apple to grant patent rights for things it doesn't want to grant rights for.

      As an example: gcc just _might_ infringe on some patent that Apple holds, or there might be not totally unreasonable reason to make such a claim. Assuming that Apple has no intention of suing anyone over such a patent, with GPL v2 that is neither a problem for gcc, nor for Apple, nor for Apple distributing a GPL v2 licenced gcc compiler.

      But with GPL v3, if there is such a patent, then Apple is not allowed to distribute the compiler without granting everyone a patent license. Now let's say Apple sues company X over infringement of patent Y, totally unrelated to GPL and gcc. And X figures out that gcc infringes on patent Y. And therefore Apple should have given everyone, including X, a license for that patent. Can you imagine the legal nightmare this could cause? Now if you are a lawyer for Apple, and you were asked whether Apple should distribute gcc 4.6, surely you would check the GPL v3 license and think of such things and tell the developers who want to distribute gcc that there is a significant legal risk.

    17. Re:GPLv3 by pankkake · · Score: 0

      > Apple started the Clang project

      No. LLVM started in 2000, in 2005 Apple employed hired a dev to work on it. Unless you were talking only about Clang, which would be silly.
      I doubt it would have been open if Apple started it.

      --
      Kill all hipsters.
    18. Re:GPLv3 by Carewolf · · Score: 1

      The tivo clause for one. Apple ships DRM and uses EFI. Lock in is part of their ecosystem. It also causes great problems with iPhone and iPad development.

      That is irrelevant for a compiler. The GPLv3 clauses would only be a problem if it is shipped as an integral part of a product Apple sells.

    19. Re:GPLv3 by TheRaven64 · · Score: 1

      So how do you use GCC for syntax highlighting in your non-shit IDE?

      --
      I am TheRaven on Soylent News
    20. Re:GPLv3 by Anonymous Coward · · Score: 0

      one does wonder if the alienation caused by GPLv3 was worth it

      It was worth it, because it provided the incentive for others to create a better tool.

    21. Re:GPLv3 by kthreadd · · Score: 2

      Clang uses LLVM but Clang is not LLVM.

      LLVM came from academia and existed before Apple got interested in it. Clang came much later and was largely "created" by Apple and the incorporated into LLVM in 2.something or so.

    22. Re:GPLv3 by kthreadd · · Score: 1

      Because Apple loves DRM

      [citation needed]

    23. Re:GPLv3 by Sancho · · Score: 1

      FreeBSD's commercial clients... probably more routers, etc, using Linux today than BSDs.

      Almost certainly, since the majority of consumer-grade wireless routers are probably running Linux.

      If you look at enterprise-grade routers, it's probably BSD (Juniper). by a long shot, though. For switches, I think HP is still #2, and I believe they run Linux (though Juniper is #3 and use BSD.) Of course, in no case is BSD or Linux code touching your packets--all that is done in silicon.

    24. Re:GPLv3 by Anonymous Coward · · Score: 0

      The objective c library from the gcc compiler is affected

    25. Re:GPLv3 by Anonymous Coward · · Score: 1

      He probably just doesn't have a clear picture of the use case yet.

      So the problem is the rest of the world is foolishly struggling to make stuff sans the Stallman blessed solution.

      Silly gits. There would be no need for alternatives if only they would humbly submit their case to Mr. Stallman and wait patiently for his judgement.

    26. Re:GPLv3 by Anonymous Coward · · Score: 0

      Appel started the Clang project

      Means Apple started the Clang project. Here is the very first commit to the clang source tree. Notice where the email address is from.

    27. Re:GPLv3 by Anonymous Coward · · Score: 0

      Apple did NOT start Clang; rather, they hired the main developer when he graduated.

    28. Re:GPLv3 by jo_ham · · Score: 1

      They do?

      News to me. I guess their very public stance against it, and the subsequent dragging of the music industry into a new online business model was something they really didn't want to do.

      I assume you're talking about the walled garden approach of iOS devices, but that's not DRM, that's something else entirely.

    29. Re:GPLv3 by larry+bagina · · Score: 1

      Hmm... what if Apple was using GPL v3 gcc. iOS 6 comes out with a new (patented) "lick to unlock" feature. 6 months later, Samsung adds "lick to unlock" on their phones. (<stereotype type="asian" offensive="offensive">No copy! we invent all by ourselves!</stereotype>) Apple sues. Samsung sends some commits (and cash) to the FSF and now gcc has "lick to unlock" code.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    30. Re:GPLv3 by Anonymous Coward · · Score: 0

      wow, the posts in earlier stories were right, you are a professional troll.

    31. Re:GPLv3 by peppepz · · Score: 1
      Your stance against GPLv3 is, in fact, rigid and ideological.

      As a user and a developer, I like the flexibility that the GPL gives to me to combine the software I use in ways that were not envisaged by its original authors, and I can only do so because I can actually get the code and because I have the guarantee of being able to run modified versions of it on the same hardware. Apple won't let me run the code I want on the hardware that I'd buy. Pragmatism in my case means that I must stay away from their closed products.

  6. Dropping the GPL ~= worse. by sethstorm · · Score: 1, Flamebait

    While the BSD licensing model allows various hijinks to go around without the requirement of disclosure.

    Complaining about the GPL is like complaining that you can't play dirty pool with code licensing(see Tivoization). Then again, you probably would rather throw some ad hominem at me regarding a certain GPL advocate.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
    1. Re:Dropping the GPL ~= worse. by jps25 · · Score: 1, Offtopic

      Don't put words into my mouth.

    2. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Complaining about the GPL is like complaining that you don't like S&M. Many people wants _real_ freedom for their software so that all, commercial and non-commercial users can expand and use the software in any way they want.
      There's a reason even the shining monument of GPL (Linux) uses GPLv2...

    3. Re:Dropping the GPL ~= worse. by itsdapead · · Score: 4, Insightful

      Complaining about the GPL is like complaining that you can't play dirty pool with code licensing(see Tivoization).

      I haven't heard Apple complaining about the GPL or trying to circumvent it - they're just switching to alternative projects.

      Of course, its a pity, because even if if you Tivoized GPLv2 code you still had to share your source so people could learn from it, or use and modify it on other (or jailbroken) hardware, whereas now people are moving to BSD-style licenses with no such benefits... but if the FSF want to let the perfect be the enemy of the good, declare jihad on Tivoization and have a tilt at the patent windmill, that is their right.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    4. Re:Dropping the GPL ~= worse. by mister_playboy · · Score: 5, Informative

      There's a reason even the shining monument of GPL (Linux) uses GPLv2...

      Even if Linus did want to move the kernel to GPLv3 (he doesn't), he would have to get every kernel contributor to agree to the license change, AFAIK.

      --
      Do what thou wilt shall be the whole of the Law ::: Love is the law, love under will
    5. Re:Dropping the GPL ~= worse. by asdf7890 · · Score: 5, Insightful

      Complaining about the GPL

      He wasn't complaining about the GPL, he was stating (correctly) that it is one of the key reasons some groups choose not to use GCC, particularly GPL version 3 (note that FreeBSD has not used and of the recent GCC release specifically for that reason - they were fine using GPLv2).

      It is a case of choosing the right tool for the job. Until recently their choice was to redefine the job (change the parts of their projects and licensing policy that GPLv3 conflicted with), keep the old tool (using older, GPLv2 licensed, releases of GCC only), or use something less stable/proven/compatible. They chose the middle option. Now option three is replaced by "use something else that is now stable/proven/compatible enough to be an alternative" they have taken that choice. Again this isn't complaining about GPLv3, it is simply refusing to use it because it is incompatible with some of their chosen goals.

      I'm told there are technical reasons why Clang and the related tool chain are preferable to GCC in some circumstances too, though I'm out of the loop on that one so I don't know what they are or if they are significant to FreeBSD.

      While his answer was rather terse and it would have helped to be less so (it made him appear to some, to you at least, like an anti-GPL troll), what you appear to have done in your response is set up a strawman to attack. This is the sort of thing that anti-GPL people (both within the open-source arena and external to it) will jump on as "proof" that GPL advocates are rabid loonies, so by defending the GPL in such a manner you may be harming the cause rather then helping it. You might want to be more careful not to come across that way (it may not have been you intention on this occasion, but it does seem that way by my reading).

    6. Re:Dropping the GPL ~= worse. by turgid · · Score: 2, Interesting

      whereas now people are moving to BSD-style licenses with no such benefits.

      This is symptomatic of PHB/MBA thinking: short term gains/benefits that mortgage long term growth.

      In a couple of years time, there will be a proliferation of different, incompatible versions of CLang/LLVM that will be increasingly expensive to maintain. Furthermore, I can foresee vendors making incompatible changes to the code produced by CLang, subtle ABI breakage and the like. The upper levels will suffer too : vendor A's version will not be able to compile source code with vendor B's extensions and vice versa.

      Then in come the patents, and to compile certain code on a certain platform (OS version and hardware) you'll need vendor C's compiler with some new super-duper patented feature that no one else is allowed to implement.

      This sounds like the 1980s/ealy 1990s all over again. Unix wars, balkanisation, and one dominant vedor ... Microsoft, although this time it'll be google.

    7. Re:Dropping the GPL ~= worse. by Stormwatch · · Score: 5, Insightful

      Many people wants _real_ freedom for their software

      No, they don't. If they did, they'd use GNU GPL v3.

      But I think you mean the opposite of what you said: people want to be free to do whatever they want with the software, including taking away the software's freedom.

      That's the thing. Free software is not about your freedom, it's about the software's freedom. It is not for the benefit of anyone in particular, it is for the benefit of the whole humanity. When you think about where rms came from, and when you read his writings, you realize that his ideal is not an indifferent "here's some code, use as you wish". It is an ideologically grounded "here's some code, it's for everyone to use, and if you build upon it, the result is also for everyone to use".

    8. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 3, Insightful

      I think one of the heads of Red Hat nailed it when he was asked about RMS: "Richard treats his friends as his enemies". Whether the community wants to accept it or not when RMS specifically targeted a single company with GPL V3 he gave a pretty damned good reason for businesses to stay away from the GPL, fear of being the target of GPL V4. BTW I personally bet that if there is a GPL V4 the new buzzword will be "Androidization" since RMS hates Android even though it has put more Linux devices into users hands than anyone else in history.

      What I do find interesting though is how many are having a shitfit when more and more move away from GPLed software when....isn't that the whole damned point of the FOSS model? that one man or one company can't dictate to the masses and the community can route around damage? Well that sure looks like what is going on to me, RMS made GPL V3 too nasty and won't come to the table and work with devs on a compromise so they are routing around the damage by choosing different licenses. Personally I figured the community would be happy as it shows that the FOSS model can't be broken or controlled by any one man and with so many licenses out there...BSD, Apache, MPL, AGPL,etc nobody has to "take it or leave it" like they do with the big two.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    9. Re:Dropping the GPL ~= worse. by arth1 · · Score: 4, Interesting

      In a couple of years time, there will be a proliferation of different, incompatible versions of CLang/LLVM that will be increasingly expensive to maintain. Furthermore, I can foresee vendors making incompatible changes to the code produced by CLang, subtle ABI breakage and the like. The upper levels will suffer too : vendor A's version will not be able to compile source code with vendor B's extensions and vice versa.

      Hindsight is invariably more accurate than foresight. And in this case, hindsight tells us that there are plenty of non-GPL free packages that you use every day that haven't succumbed to either of your fears. In fact you use at least a couple of them when you read this.

      This sounds like the 1980s/ealy 1990s all over again

      That wouldn't be bad. The productivity per user has never been higher, and most of what we use now was invented then. I'd rather see that again that these modern days where ideas are scarce and productivity per user base at an all time low.

    10. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0, Informative

      Not really, he'd just deprecate everything prior to however many years he could verify change history on, relicense the new stuff and either remove or rewrite what was 'contested'. It wouldn't be the first time, and given the talk about dropping 'legacy isa' driver support, it seems probable this will happen at some point (this particular item being annoying since most software won't run on legacy linux versions, due to gcc/glibc/kernel/userspace hell, and no real upgrade path since the kernel bloat has gotten ridiculous, the constant api changes have made driver verification impossible, and feature breakage has made it a crapshoot for both non-x86 and x86 hardware to function stably on any particular set of hardware (As an example I've been having hardlocks on both RV and RS200 class hardware, both of which worked stably about 4-6 years ago, but both of which now randomly freeze on some subset of operations. And unless you're a dev yourself, good luck getting someone to trace it down on hardware that old. Everything other than radeons, NV03 and above geforces, and i830 class hardware (in the i945/* bridge driver) has had 3d support dropped due to the removal of DRI1 support, kernel modesetting is now required for either most or all of the drivers that are left (which means using a framebuffer which on most hardware is *SLOW* if you do a lot of console based applications, especially on the legacy videocards!), oh and just to top things off, 8 bit pseudocolor has been broken for 5 years, only showing greyscale, which means anybody with 8 bit color hardware (say the sparc crowd?) can't see what they're doing if they're running an up-to-date x-windows install. (Not that that's a problem since linux support for 32 bit SPARC hardware has been broken from 2.2.19 for SMP boxes and 2.4/2.6.something for UP boxes on the rest. Not counting LEON hardware.)

    11. Re:Dropping the GPL ~= worse. by arth1 · · Score: 2

      I think one of the heads of Red Hat nailed it when he was asked about RMS: "Richard treats his friends as his enemies". Whether the community wants to accept it or not when RMS specifically targeted a single company with GPL V3 he gave a pretty damned good reason for businesses to stay away from the GPL, fear of being the target of GPL V4.

      That's a lot of meat without bones. Fear of being the target of parasite lawyers who sue over GPL is more of the reality, whether it's GPL2, 3, LGPL or other.

      BTW I personally bet that if there is a GPL V4 the new buzzword will be "Androidization" since RMS hates Android even though it has put more Linux devices into users hands than anyone else in history.

      I'm glad you have insight into Richard's brain and can tell us what he hates.
      As for bringing more devices into the hand of people, that's not the purpose of the open source movement. At best it's a side effect. The purpose is to do what governments and their constitutions fail to do - support progress, by ensuring that new code becomes available to anyone who can improve on or learn from it.
      How many linux devices are in cell phones, TV sets and microwave ovens is irrelevant - that's application and people taking advantage of the sciences, which must not be confused with the sciences themselves.

    12. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      This is precisely what I predict as well, and in fact have in previous threads touching on this subject - if there is a GPLv4, it will target 'Androidization'. But on the main story, it's interesting how GPLv3 has become so toxic that the crown jewel of the GNU - namely GCC - is now being abandoned in droves by the BSDs. And mark my words - if Debian can do a FreeBSD edition called kFreeBSD which gets decorated w/ Debian userland, then similarly, they can also first make a Clang/LLVM, and then make a Linux out of Clang, and do the same thing. I doubt they will, though, since they might as well throw all that effort into kFreeBSD.

    13. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0, Insightful

      Many people wants _real_ freedom for their software so that all, commercial and non-commercial users can expand and use the software in any way they want.

      You mean they want other people to give them their work unconditionally, so they can profit from it and not have to give anything back? That's what I thought you meant.

    14. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 4, Insightful

      Here is what I personally don't get, maybe someone can explain it to me, but WTF was it with RMS and the TiVo? It was ONE device that had NO choice but to be made the way it was. It wasn't like TiVo was being run by Cobra Commander here, they knew that if there was a way to get the content off the device (which is EXACTLY what running custom versions would have allowed) it would have been banhammered in the west quicker than you can say "copyright infringement".

      Would he have been more happy if it had used WinCE? Because that is what it feels like to me, that RMS wants ONLY true followers of "the way' to use anything GPL. And since there is multiple other OSes out there including BSD and Windows Embedded it just seems stupid to attack one specific corp and make other businesses afraid of being next on RMS' shit list and all over a device that frankly could have been made no other way without only being sold at China Mart and other "pro piracy" hardware sites.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    15. Re:Dropping the GPL ~= worse. by ommerson · · Score: 1

      There is another excellent reason why the Linux Kernel is staying on GPLv2: a very large proportion of Linux's market share these days is on ARM SoC in mobile devices. There is truckloads of IP in these devices, and right now the chipset vendors are able to keep this closed and compartmentalised.

      It's not a case of these chipset vendors wanting to keep their own IP private - often it's not theirs to start with, having been licensed - probably several times already - from other parties.

      You can bet that a GPL3 kernel would cause an enormous fork - or even an industry-wide platform switch to something else.

    16. Re:Dropping the GPL ~= worse. by TheRaven64 · · Score: 4, Insightful

      In a couple of years time, there will be a proliferation of different, incompatible versions of CLang/LLVM that will be increasingly expensive to maintain.

      It's already happened. This is why so many companies are now actively involved in the LLVM community: it's cheaper. I'm currently on my way back from BSDCan (where I was talking a bit about the progress in switching to clang) and I was at EuroLLVM a couple of weeks earlier. Both conferences were full of corporate contributors to LLVM and FreeBSD (two projects that I work on). They like the fact that the license means that they don't need to run everything that they possibly want to do past their legal team and, over the past decade, they've all discovered (at different speeds) that it's much cheaper to engage the community and push work upstream than it is to maintain a private fork.

      You get much better support from companies that join your community because they regard it as being good for them than if they dump code on you because they are legally obliged to. We don't want drive-by code dumps, we want long-term commitments to maintenance.

      --
      I am TheRaven on Soylent News
    17. Re:Dropping the GPL ~= worse. by Darinbob · · Score: 1

      Apple has mostly dumped GCC in Lion and replaced with Clang. They still include a GCC but it's very incompatible as it has LLVM back end and breaks stuff with inline assembler. I can understand them wanting to make a change but I don't understand why they include an incompatible GCC.

    18. Re:Dropping the GPL ~= worse. by Stormtrooper42 · · Score: 1

      How exactly do you "take away the software's freedom" ?

    19. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 1, Insightful

      Uhhh...you DO know that RMS has his own site, right? And that he gives out his views pretty much constantly? One doesn't have to "read Richard's brain" because the man hasn't be silent on the subject. If you want to know his thoughts Google "RMS On Android" and you'll find about 40 articles where he lays it out and its the same as red hat, RMS treats his friends as enemies.

      And your second point is a perfect example of what is wrong with ALL religions, and that is religious zealotry. Taken to its logical conclusion according to you if NOBODY used FOSS as long as it was 'pure" that would be just fine. that is the same attitude held by cults all over the world and frankly? More than a little scary.

      In the end I would argue it is THAT attitude as well as the increased militancy of RMS that is turning more and more away from the GPL because frankly the entire community is becoming toxic with this kind of religious extremism. you read the blogs by Torvalds and Perens and most of these guys that have been FOSS since the early days and you know what? NOT extremists, they just wanted to make nice software that others could use and could contribute to. if anything as RMS becomes more polarizing and extreme in his views he seems to be holding back the movement more than helping it, again see his attacks on RH or Android or his targeting a single company with an entire section of GPL V3.

      You simply can't have one person with extremist views touting there is only "one true way' without having exactly what we are seeing now, which is a large divide splitting the community. Personally i predict more and more will end up going to non GPL licenses simply because this will allow them to offer their programs in the appstores which have made it pretty clear GPL V3 is verbotten. if RMS wanted to make sure that only "true believers' used GPL it looks like he may get his wish, only it isn't gonna switch masses over to his way of thinking but drive them away instead.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    20. Re:Dropping the GPL ~= worse. by russotto · · Score: 4, Informative

      Here is what I personally don't get, maybe someone can explain it to me, but WTF was it with RMS and the TiVo?

      Tivo did exactly what RMS started the Free Software Foundation to prevent (The Printer Story). What did you expect would happen?

    21. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Can't you read? Which part of *their software* you don't understand?

    22. Re:Dropping the GPL ~= worse. by larry+bagina · · Score: 1

      I suspect the FreeBSD folks might be ok with using the BSD license. Just a hunch.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    23. Re:Dropping the GPL ~= worse. by asdf7890 · · Score: 4, Insightful

      Here is what I personally don't get, maybe someone can explain it to me, but WTF was it with RMS and the TiVo? It was ONE device that had NO choice but to be made the way it was.

      If it had not been TiVo it would have been something else. His problem was the use of GPLed software in that manner. While it wasn't found to break the letter of the license it broke the clearly stated spirit of the license, so that wording was updated in v3 to patch the hole.

      Would he have been more happy if it had used WinCE?

      Yes, basically. Or some form of BSD (the licenses used there would allow this sort of use IIRC). Or anything else not GPL licensed. They had those choices available to them.

      RMS is an absolutist on this and similar matters (some would say extremist, but I feel that label to be rather too strong here): if you want to use Free, keep it Free with your use, otherwise use something else (paying for it if need be).

      it just seems stupid to attack one specific corp

      He wasn't going after one specific corp, just the first one that did it (visibly) first and shoring up the hole before others tried. Remember that TiVo could keep using GPLv2 software as they had already done, they'd just have to start maintaining by other means once later versions switched to GPLv3, so the switch to GPLv3 did not explicitly stop them distributing their product.

      and make other businesses afraid of being next on RMS' shit list and all over a device that frankly could have been made no other way without only being sold at China Mart and other "pro piracy" hardware sites.

      That is where it falls down of course, but so does every other license commercial or otherwise - if you can't enforce the license in a territory people wanting to do something against the (letter of the) licence in that territory are at an advantage to those elsewhere. "Pro piracy" regimes are not a GPL specific problem and not really relevant here - you could just as easily state that VMWare's recent licensing model changes are an attack on compliant companies.

      There are many people who think RMS is wrong on the matter, of course. Linus for instance still explicitly uses GPLv2 as evidenced by it being the license git is released under (the kernel is a different matter: that could not be switched even if he wanted because of how many contributions there have been where rights were not explicitly handed over to the project).

    24. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 1

      Creating a proprietary derivative, of course. In contrast, any derivative of Free software is also Free software.

    25. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      All of this sounds exactly like what Linux is going through right now: Every mobile or embedded vendor is making incompatible changes for their platform.

      I work at a company which makes Linux based embedded devices which are meant to interoperate. Linux isn't a religious choice, but in most cases it is the only reasonable choice. We have five devices we are supporting currently running five different vendor specific versions.

      Our biggest goal for standardization is to be able to drop support for Linux 2.4, and that is still realistically a couple years out.

      Last I heard even Android isn't getting its changes into mainline Linux. It's much higher quality than most of what is out there, and Google actually cares unlike other companies who are actively antagonistic to open source. Many companies for instance strip all comments from GPL'd source before releasing for legal reasons, but it also has the affect (bonus?) of making it harder to locate and understand their changes.

      License matters less than you think.

    26. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      they knew that if there was a way to get the content off the device (which is EXACTLY what running custom versions would have allowed)

      To quote the GPLv3:

      The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

      I.e., TiVo would have been completely in its rights to deny TiVo's running custom software from interacting in any way with its network or the cable services. The GPLv3 only requires that users are able to install modified versions of the software, not that they get the same kind of service with that modified software.

    27. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Would he have been more happy if it had used WinCE?

      No, of course not--but no more upset either.
      If greedy douchebags find loopholes to circumvent all the advantages of copyleft, then what's the point?
      Who cares if everybody uses software that's theoretically free, when it's proprietary in practice?

    28. Re:Dropping the GPL ~= worse. by marcello_dl · · Score: 2

      > The productivity per user has never been higher

      There were no software patents, so the point is very debatable.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    29. Re:Dropping the GPL ~= worse. by itsdapead · · Score: 1

      I can understand them wanting to make a change but I don't understand why they include an incompatible GCC.

      Probably just a stop-gap until everybody fixes their makefiles to use Clang rather than GCC. GCC is still the default command-line compiler. There's still a heap of open-source stuff in OS X (Apache, PHP, Perl, Python, Postgresql,...) and also projects like MacPorts that enable you to compile most of the usual open-source suspects. Since these are mostly cross-platform, I'd assume that inline assembler is fairly rare, but build scripts that depend on GCC are fairly common.

      I'd guess the LLVM backend is for interoperability with Clang (which uses LLVM, right?).

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    30. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 1

      How large is the Freebsd community ? Four cats or five dogs ?
      Yeah that's some "droves" of developers there abandoning the gpl license.

    31. Re:Dropping the GPL ~= worse. by SEE · · Score: 2

      I'm glad you have insight into Richard's brain and can tell us what he hates.

      Actually, that's the exact problem, isn't it? Nobody knows what RMS might do next week.

      The purpose is to do what governments and their constitutions fail to do - support progress, by ensuring that new code becomes available to anyone who can improve on or learn from it.

      That's clearly not the goal of the GPL3, because if it were, there would be no need of an anti-TiVoization clause, but the Affero clause would be standard.

    32. Re:Dropping the GPL ~= worse. by shiftless · · Score: 2

      And how does that "take away" anything from anyone? Am I no longer free to alter or use the original work?

    33. Re:Dropping the GPL ~= worse. by beelsebob · · Score: 1

      Just for reference – they don't include gcc any more:
      Greyjoy:~ tatd2$ which gcc /usr/bin/gcc
      Greyjoy:~ tatd2$ ls -la /usr/bin/gcc
      lrwxr-xr-x 1 root wheel 12 22 Mar 15:43 /usr/bin/gcc -> llvm-gcc-4.2

    34. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 3, Insightful

      That's the thing. Free software is not about your freedom, it's about the software's freedom. It is not for the benefit of anyone in particular, it is for the benefit of the whole humanity.

      The problem with that argument is that what is best for the software and humanity is not clear cut. Most of the better software out there has significant corporate backing. Far too often, open source software falls into the trap of writing code that "works for me", where "me" is defined as the person who wrote it, yet tends not to "work for me", where "me" is defined as anyone else. Corporate backing tends to fix a lot of that because you have lots of "mes" working on the code, each of whom has a significant interest in making it work correctly and reliably (because they're getting paid to spend their time doing so). Any licensing requirements that are sufficiently onerous to scare away that corporate backing, therefore, tend to result in software of lesser quality.

      IMO, the ideal situation is a BSD or similar license with the code owned by a non-profit organization. In this way, you have a reasonable assurance that the code won't suddenly get closed by its primary maintainer, and other companies are unlikely to want to close the code themselves because of the maintenance headaches of keeping a proprietary branch in sync with something that is regularly getting updated by others. However, companies are willing to work on the software and improve it because they don't have to worry about crossing some fuzzy line and getting sued.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    35. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      No, llvm-gcc is GCC. More precisely, it's the GCC front end with the LLVM back end. That's the one the GP was talking about; although it is GCC, it has some hairy edges where it doesn't behave quite like the standalone GCC.

      The actual Clang compilers are called clang and clang++.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    36. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      IT CAN'T GET CLOSED THE WAY YOU ARE THINKING!

      In other words, I have yesterday's copy of FreeBSD 10.

      If the FreeBSD foundation were taken over by pod people and they decided to shut down everything and sell only binary CD-ROMs, I would still have a license to do as I see fit with yesterday's copy of FreeBSD-10 sources. The BSD license doesn't allow revokation.

      Matt

    37. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      RMS hates Android even though it has put more Linux devices into users hands than anyone else in history.

      That's ok by him. Remember that evil Linux is holding back the pure HURD.

    38. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      I'm well aware of that. Not sure what part of my post made you think I wasn't. Perhaps my comment about the primary maintainer taking something closed. That's a concern with software (regardless of license, including the GPL) because whenever an organization or company that owns a project's copyright (or enough of the copyright that they can easily rewrite the rest) decides to create a closed-source fork of that project, it generally results in the death of the open source fork of the project, for all intents and purposes. After all, the company was the primary maintainer, so now nobody is maintaining it. Sure, you still have the right to fix bugs yourself, which is certainly better than nothing; it's just not ideal.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    39. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Depends on who "they" refers to. But I see what you mean, I misread it as software they *use* rather than software they authored.

    40. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      incompatible versions of CLang/LLVM

      And how, pray tell, do you expect this to happen? GPL projects can already be forked and changed however someone wants to.

      FUD and strawmen is all I hear.

      BSD believes that code should be 100% free, no string attached. Lots of GPL shills want to paint pure freedom as a "bad thing"(tm). Doom and Gloom awaits true freedom.

    41. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Like Apple's Webkit? It's part LGPL and part BSD. It has how many organizations contributing directly to the tree?
       
      Generally there are resources to support one major fork for BSD projects... if the management pisses off the contributors the resources will go to a different fork. Look at XFree->Xorg.

    42. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      No he wouldn't. The GPLv2 has a clause allowing "updating" to the new version of the GPL. What this clause really does is say that the FSF can at any time change the details of the license you are giving to your users.

      Going back however would be impossible. Any new code contributed under GPLv3 could not be made GPLv2 without consent. Just like going from BSD to GPL is easy but going back is painful/impossible.

      9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

      Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

    43. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      As for bringing more devices into the hand of people, that's not the purpose of the Free Software movement. At best it's a side effect. .

      FTFY. Making more software open source is precisely the goal of the open source movement. But not that of the FSF.

    44. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      Oh, Hurd is pretty much abandonware as far as the FSF is concerned. The only people working on producing a working version of it are Arch and Debian, Otherwise, RMS himself says that Linux is the kernel of the GNU.

    45. Re:Dropping the GPL ~= worse. by agrif · · Score: 2

      I always thought about it this way: the GPL is about user freedom, and BSD is about developer freedom. If you're using GPL'd software, you are explicitly given the right to know what it's doing and the right to change it. If you're developing with BSD software, you're given the right to control how it's integrated into your project and how it's distributed. Unfortunately it's impossible to guarantee both rights at the same time; the correct choice for each project depends a lot on how that project is meant to be used.

      I lean towards GPL, because there's nothing more frustrating for me as a programmer than not being able to control or fix something that's running on my computer. So when I write software, I try not to put anybody else in that position. I appreciate the appeal of BSD, though, especially when I'm working on something to sell, or on a restricted platform (like iOS).

    46. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      In the real world, TiVo would have been forced to support such modified platforms - especially if the modification broke them. At any rate, TiVo's choices were to produce something that was GPLv3 compliant, but breakable as a result, or stop @ GPLv2 compliant, but solid. Picking the latter was a no-brainer.

    47. Re:Dropping the GPL ~= worse. by Lisias · · Score: 2

      Not necessarily.

      If you have control over the hardware (as Apple does), you can make hardware changes that renders the original code unusable, locking you up in the derivative closed code.

      (I'm not implying that Apple is evil - all companies are: if any of them finds a breach to restrict a freedom in order to maximize a profit, they will do it!)

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    48. Re:Dropping the GPL ~= worse. by unixisc · · Score: 0

      Using the tag 'Tivoization' to describe the problem - thereby tarring the company's brand name w/ this segment of the population - is definitely going after one specific corp, even if the target was others like them as well. If done in good faith, there is no way he'd have used TiVo's name.

      Since TiVo was just using Linux, which Linus has made clear that he's not going to switch to GPLv3, they don't have the same problem that GCC users are having - GPLv2 works for them, and they're staying w/ it. In other words, TiVo couldn't have moved to GPLv3 even if they wanted to, which no one in their right mind would.

      As for Linus, he's explicitly stated that he keeps his distance from the 'Free Software' movement b'cos of their fanaticism and hatred. You're right that it would be a mammoth undertaking to get the approval of everyone to get that license changed, but I'll bet that Linus alone would likely veto such a move if it came that far, since he, unlike RMS, wants Linux to be used by more people, not less. In fact, it's safer to say that Linus might be more comfortable w/ BSDL than GPLv3 if GPLv2 did not exist.

    49. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      Had the GPLv2 really been an improvement on GPLv2, all those devs would have been banging on Linus door to get the license updated, and Linus too would have had no problems w/ it.

    50. Re:Dropping the GPL ~= worse. by Myopic · · Score: 0

      Brutal downmod.

    51. Re:Dropping the GPL ~= worse. by smash · · Score: 3, Informative

      One reason for that is because the GCC team won't accept Apple's patches for new versions of Objective-C. Apple want to move Objective-C forward, GCC has become a barrier to that, so they support CLANG/LLVM development. The version of GCC included is simply for legacy support and will be removed in due course once CLANG support for C++ is good enough.

      Clang/LLVM also gives you nifty stuff for interfacing with the IDE, far better compilation errors/warnings, faster compile times, etc.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    52. Re:Dropping the GPL ~= worse. by symbolset · · Score: 1

      He wasn't complaining about the GPL. GNU just has different goals than BSD, and different licensing. Building a complete OS requires a matching compiler, so one that's under the BSD license is a desirable effort for the BSD licensed variants. That's not the same thing as saying "GPL bad". It's just making your system feature complete and organically portable - as BSD was always intended to be.

      --
      Help stamp out iliturcy.
    53. Re:Dropping the GPL ~= worse. by Darinbob · · Score: 1

      But the "legacy" version of GCC isn't compatible with the older GCC. Include both and let the user decide. I need gcc for various reasons, I'm not using xcode and never will, I'm not writing mac or phone apps, so all Apple is doing is making Linux more attractive.

    54. Re:Dropping the GPL ~= worse. by smash · · Score: 1

      Netapp, Juniper, IX Systems... Apple...

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    55. Re:Dropping the GPL ~= worse. by smash · · Score: 1

      He would, he wants to stamp GNU ownership on everything.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    56. Re:Dropping the GPL ~= worse. by jaymemaurice · · Score: 1

      Except, GPLv3 over-steps software into platform and then governance... and sadly, some platforms cannot be allowed to do whatever they COULD do.

      Take for example your wifi card... is it a wifi card or a 2.4ghz radio made to be wifi? you probably could turn many wifi cards into bluetooth sniffers or cordless phone sniffers had you the FPGA code and know how... but then, that hardware manufacturer would be barred from the type approvals needed to sell the device in certain countries. What about 3G modem? Cell sniffer/jammer/sms spammers?!

      What about your TiVo? Would make a great copyright infringement device with the right code.

      In the real world, considering the software's freedom does not go towards the greater good of humanity if it goes against governance and common law.

      --
      120 characters ought to be enough for anyone
    57. Re:Dropping the GPL ~= worse. by Stormwatch · · Score: 1

      Funny that you use the TiVo as an example, as it is the very reason for GPLv3.

    58. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      when RMS specifically targeted a single company with GPL V3

      You're being dishonest. He specifically targetted a problem that particular company made evident.

      he gave a pretty damned good reason for businesses to stay away from the GPL,

      Dishonest. No he didn't. He gave a reason for companies that want to abuse the absolutely clear intent of the GPL and the FSF. Those who want to be good neighbours? No problem.

      when more and more move away from GPLed software when

      Dishonest. Not many are moving away from GPL. Some are taking up LLVM as a project that has more momentum than GCC at the moment. It has little to do with the license.

    59. Re:Dropping the GPL ~= worse. by eugene+ts+wong · · Score: 2

      Nonsense. BSD also gives the user the same freedom. In either case, the user can look at the sources.

      GPL is about giving rights to the giver of the code, and BSD is about giving freedom to the recipients of the code.

    60. Re:Dropping the GPL ~= worse. by Barefoot+Monkey · · Score: 1

      Nonsense. BSD also gives the user the same freedom. In either case, the user can look at the sources.

      In the case of the GPL, the user can look at the sources. With BSD the user may or may not have access to the source, but if he does then he has plenty of freedom.

    61. Re:Dropping the GPL ~= worse. by demars · · Score: 1, Flamebait

      Many people wants _real_ freedom for their software

      No, they don't. If they did, they'd use GNU GPL v3.

      But I think you mean the opposite of what you said: people want to be free to do whatever they want with the software, including taking away the software's freedom.

      That's the thing. Free software is not about your freedom, it's about the software's freedom. It is not for the benefit of anyone in particular, it is for the benefit of the whole humanity. When you think about where rms came from, and when you read his writings, you realize that his ideal is not an indifferent "here's some code, use as you wish". It is an ideologically grounded "here's some code, it's for everyone to use, and if you build upon it, the result is also for everyone to use".

      In other words, he was using the common English meaning of "freedom" rather than Stallman's Orwellian redefinition of the word.

    62. Re:Dropping the GPL ~= worse. by arth1 · · Score: 1

      Building a complete OS requires a matching compiler

      Why?
      There are many operating systems without a matching compiler (and a few without a compiler at all), and I would think that unless you beg the question, this is patently false.

    63. Re:Dropping the GPL ~= worse. by jbolden · · Score: 5, Informative

      We don't have to guess which model works best, at this point we have historical data. Your model failed with respect to X. MIT created and maintained an X that they released via. the MIT license. All the UNIX vendors then took this MIT code and intermixed it with their custom code creating value add X's that were specific to their platform, and closed source. The effect was that the X that existed in the public domain was worthless for end users, and the X's that were worthwhile were closed. X itself couldn't progress because it fragmented so all the interesting stuff existed in other layers. Years later when there was a desire for a workable open X, the XFree86 project had to start, essentially from scratch and this took years. We still haven't gotten all the features that existed in those proprietary Xs 2 decades ago.

      That is the classic example of why BSD style licensing doesn't work. The primary maintainer is not unchanging.

      Conversely the GPL has a long history of successful multi corporate contributions over time. The historical data simply refutes your theory of what should work.

    64. Re:Dropping the GPL ~= worse. by jbolden · · Score: 0

      No the BSD does not give the user in practice any freedom. The developer is not, in the Unix non commercial world, the last step between the end user and the software. Those people intermediate in the chain get those rights and then choose based on their own needs whether to pass those rights on or not.

    65. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      What about your TiVo? Would make a great copyright infringement device with the right code.

      As an aside the TiVo as it ships now includes everything you need for copyright infringement. The DMCA prevents people from selling an "all-in-one" solution for the software side, TIVO itself is not doing anything secret here.

    66. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      I agree with you and good point regarding the X analogy. GCC has benefited time and time again from corporations contributing code that benefit other corporations in uses they never considered. LLVM has some substantial technical advantages over GCC. So we might end up with a situation like we had for a long time where GCC is standard based, feature rich but technically inferior to the commercial compilers many of which are LLVM based.

    67. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      And in this case, hindsight tells us that there are plenty of non-GPL free packages that you use every day that haven't succumbed to either of your fears

      Yes but compilers are one area where this sort of thing has happened before and appears to be happening now. Where this fragmentation hasn't happened with BSD projects is when only one entity is heavily invested and cooperation isn't happening or his happening within the one entity.

      I'd rather see that again that these modern days where ideas are scarce

      When are these modern days with scarce ideas? I'd say we are having a pretty wonderful world of software diversity and experimentation. Just look at the incredible number of web frameworks, for designing interactive websites. Compilers in their hayday never had diversity like this.

    68. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      Many companies for instance strip all comments from GPL'd source before releasing for legal reason

      That's specifically illegal under the GPL. Source code is defined as what is used internally. If a company uses a commented version internally they can be forced to hand that over by the people whose code they are comingling with.

    69. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      It is not really an RMS issue.

      The model that worked well for GPLv2 was:

      company X writes code for Y that Y sells it as part of a suite to Z.
      If Y wants to GPL his stuff then X's community can use it.
      If Y wants to keep his stuff then he had to buy a commercial license from X.
      This way X got money from people with money, got contributions from people who were willing to contribute and could sue people who did neither.

      But
      company X writes code for Y that Y sells as part of a SaaS suite to Z.
      doesn't constitute distribution under the GPL. So you either need a stricter license if you want to stop Y's behavior or you might as well use a less strict license if you don't.

    70. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      What lawyers have sued over GPL beyond a few special cases?

    71. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      As far as I understand it this is the approach that LLVM recommends. Using the LLVM GCC front end for your code while you slowly migrate. If you want real GCC you can use the MacPorts version.

    72. Re:Dropping the GPL ~= worse. by peppepz · · Score: 3, Insightful

      Far too often, open source software falls into the trap of writing code that "works for me", where "me" is defined as the person who wrote it, yet tends not to "work for me", where "me" is defined as anyone else. Corporate backing tends to fix a lot of that because you have lots of "mes" working on the code, each of whom has a significant interest in making it work correctly and reliably (because they're getting paid to spend their time doing so).

      I don't see this working in the real world, e.g. with Android. Corporate backing tends to push code of low quality (cf. the plethora of bugs that were fixed when the Android specific code was put in the upstream Linux kernel) because it was written quickly due to the corporation feeling the pressure from its competitors, and because its developers are paid for the time they spend coding; their interest is focused on solving the corporation's own problems (a corporation is a very big and selfish "me") with no regards to the effect that their solution will have on others' problems (cf. what happened with Apple and CUPS). And when a corporation has moved to the next product, they have no interest whatsoever for either the old code itself or its users (cf. what happens every time a new release of Android is revealed and users would like to upgrade, but they can't because of the binary blobs or forked code).

      Any licensing requirements that are sufficiently onerous to scare away that corporate backing, therefore, tend to result in software of lesser quality.

      This is not what I'm seeing with GPL projects such as Linux and the GCC. I think that the code quality of an open source project depends more on the community that it's able to gather than its license. But even if it we assume it's so, then the problem lies with the FUD about the license rather than in the license itself. FUD that I find in your comment, too:

      they don't have to worry about crossing some fuzzy line and getting sued.

      No company has ever been sued because of "crossing some fuzzy line". A couple of companies were sued because they absolutely refused to put a tarball on an FTP site despite the fact that the authors of that code had tried to convince them to do so for years. In comparison, Google is getting sued to hell because of BSD-licensed code. The truth is that no license will make you safe from copyright/patent trolls.

    73. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      I think he probably should have said "Building a complete Unix like OS". Unix has always had system compilers and an assumption that even end users would need to compile code.

    74. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      Them, and then, there are also the OpenBSD and NetBSD communities. OpenBSD is trying out PCC, and it's probably a matter of time before they too abandon GCC

    75. Re:Dropping the GPL ~= worse. by arth1 · · Score: 1

      When are these modern days with scarce ideas? I'd say we are having a pretty wonderful world of software diversity and experimentation. Just look at the incredible number of web frameworks, for designing interactive websites.

      I think you just proved my point. These days, we have umpteen web frameworks. Back then, we had people inventing things like the web. We've reached a point where rehashing is considered innovation.

      Compilers in their hayday never had diversity like this.

      But how groundbreaking is that diversity?
      People quibble about which back-end to use for the compiler. Thus this thread.

      With half the OSS code out there not even compiling without a gcc front-end, I don't think you have much of a case for diversity. I remember being able to use MipsPRO, Aztec, gcc, Manx or SunWS compilers, all on the same code. These days, you need not only a gcc compatible compiler, but likely a specific version of automake.

    76. Re:Dropping the GPL ~= worse. by arth1 · · Score: 1

      A quick Google search for "gpl lawsuit" returned:
      About 1,810,000 results (0.21 seconds)

      The publicity is enough to make managers worry, and their reaction isn't to investigate to get the real deal and make sure they dot their i's and cross their t's to avoid a potential GPL lawsuit, but to avoid GPL whenever they can.

    77. Re:Dropping the GPL ~= worse. by Stormwatch · · Score: 1

      Again, think of Stallman's roots, and you will see that his definition makes perfect sense. Consider that he came from MIT's AI Lab, from a hacker culture where you built upon others' code, and others built upon yours. That's what Free software means: the code is always available for everyone, and to hinder the code is to hinder everyone's freedom.

    78. Re:Dropping the GPL ~= worse. by agrif · · Score: 1

      BSD does not guarantee access to the source; it defers this choice to whoever is distributing it.

      BSD lets distributors decide whether the user has access to the source, while the GPL guarantees it. You can't do both: it's impossible to let the distributor decide whether to give the source to users and also guarantee users have access. Often, authors of BSD-licensed code choose to distribute the source for free, and it's quite possible to create a much freer environment than you can with the GPL. But the GPL guarantees access to the source and the ability to run modified sources, on every project. With BSD, you have to research each individual project to see if these rights are available, then worry about whether they will be taken away.

    79. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Linus has removed the "update" clause from the very beginning; it has never applied to the kernel.

    80. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Yawn boring troll. Businesses aren't moving away from the GPL except in troll land

    81. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      In the real world, TiVo would have been forced to support such modified platforms - especially if the modification broke them.

      Just like Apple is required to support software problems on jailbroken phones? Oh wait, they aren't, and I haven't seen any outrage anywhere about Apple not doing so. The only thing they are not allowed to do is to forbid people from jailbreaking their own devices and installing unsupported software on it.

    82. Re:Dropping the GPL ~= worse. by symbolset · · Score: 1

      Yes. End user capacity for cross-platform migration for preservation of data was quite the point.

      --
      Help stamp out iliturcy.
    83. Re:Dropping the GPL ~= worse. by DuckDodgers · · Score: 1

      If your proprietary program breaks or has a security flaw and the company is out of business or charges a fee you cannot or will not pay, you cannot fix it. If you fix it yourself, you can't share the fix. I work at a small company, we had some proprietary software that cost $650 per server in 2003 and cost $15,000 per server in 2010, and that's when we switched to a free software alternative.

      With free software, if it breaks for you, you can fix it. If you can't fix it, you can pay someone else to fix it - maybe the original author, maybe someone else. And no matter whether you fix it yourself or have someone else fix it, you can share the fix.

    84. Re:Dropping the GPL ~= worse. by DuckDodgers · · Score: 1

      I'm out of mod points, sorry. I agree on all points. I'm frankly astonished at this view that the GPL or Stallman are evil or hateful or built with malicious intent.

      Most big companies prefer a BSD or MIT license to GPL because it lets them take what they want and allows them to give back as much or as little as they want, including nothing. If your primary interest is promoting your own business, this makes sense. The GPL was not designed with facilitating profit as a goal, and as a result it doesn't fit the wants of Apple, Microsoft, Oracle, and most other large software companies.

      As an employee of a software business and a shareholder in software businesses, I want them to use BSD and MIT. As a home user of computer software and software hobbyist, I want as many people as possible to use the GPL and if I ever find the free time to contribute to a free software project it will be one that uses a GPL license.

    85. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      No company has ever been sued because of "crossing some fuzzy line".

      Just about no company of any size (other than the Linux distro vendors themselves) has touched anything licensed under GPLv3, either. Most companies are not comfortable with that license. Whether you feel that their fear is rational or not isn't really relevant; that fear still exists, and still drives their behavior.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    86. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      What does that have to do with GPL versus BSD? They're both open source. You can fix bugs in either one.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    87. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      We are losing each other I think, or at least I'm losing you. I read up the thread I'm not seeing anything about data. So can you clarify what at this point I'm responding to.

      From my perspective the GP was just giving an argument for LLVM (it is BSD licensed and thus a better fit for the BSD culture) but phrased this more generally, you questioned him and I said he was over generalizing you then agreed. Which is all good, except there is something about data here...?

    88. Re:Dropping the GPL ~= worse. by jbolden · · Score: 2

      Back then, we had people inventing things like the web

      Which took decades, GML started around in 1960. ISIL was in the 1980s. That's not a fair comparison you have no idea what technologies being invented today are important for the computing world of 2030. How would you know?

      I can tell you as someone who was around when the web starting being used in the early 1990s I didn't think of it as all that big a deal. I actually thought Gopher with built in indexing was going to be better than the HTML with graphics.

      But how groundbreaking is that diversity?

      Pretty huge. Most compilers even 10 years ago were heavily optimized for one type of code (language) to one type of CPU in one type of configuration. Even slight changes to hardware required massive shifts in the compiler, often essentially a rewrite. Today we have multi-stage compilers doing very complex compiles with a few man years at most going into getting any particular piece of hardware to work.

      In terms of functional compilers, .NET being the best example there was nothing like that a decade ago in mainstream use. In terms of the areas that compilers are moving (again .NET being a leader) with things like Hindley–Milner inference or tail-recursive reduction becoming standard those are huge improvements.

      I could go into details but this was just one example of improvement. Another area is the whole high speed handling of video, which is similar to the work that happened on sound in the 1990s.

    89. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      I haven't seen that at all. People who are getting sued are generally getting sued for violating the GPL and on purpose. That's not lawyer parasites but the kinds of lawsuits that happen with commercial software all the time.

    90. Re:Dropping the GPL ~= worse. by Patch86 · · Score: 1

      What this clause really does is say that the FSF can at any time change the details of the license you are giving to your users.

      It absolutely does not. The license you give to your user is whatever words you put in the license you give to your user. You can make this up yourself, or you can use a license someone else has written for you. All the FSF does is provide legally tested templates to you to use, and they put a new version number in whenever they release a new one. If they said one day "we've decided to change the GPL v2 to be [something madly different]" it would have no effect on any software, except those that chose to adopt the new licence. You, as a user, are not bound to anything other than the license that was in place when you first purchased/downloaded/received the software.

      If the FSF took a mad one and decided to write a new license, they would call it "GPL v4" and software distributors would be free to adopt it or not as they see fit. And you would be equally free to leave the license as it is, or change it in some other way that suits you, or switch to another well-known license, or write a new one from scratch, or commission a lawyer to write one for you...

    91. Re:Dropping the GPL ~= worse. by symbolset · · Score: 1

      I was agreeing with you. The bit about data is from some papers I read in the early days about the motivations for portable compilers and operating systems. But since the data is the reason for everything, I guess it's been implied for so long we don't talk about that any more.

      --
      Help stamp out iliturcy.
    92. Re:Dropping the GPL ~= worse. by peppepz · · Score: 1
      Partitioning the Linux vendors away from other companies seems arbitrary to me; RedHat makes millions by selling GPLv3 software. Nokia also has GPLv3 software in its repositories for the N9 (which is an end user-oriented, DRM-restricted product).

      I really don't know why companies should be afraid of the GPLv3, since it's compatible with more licenses than the GPLv2, including permissive ones such as the Apache license, and is actually more business-friendly than the GPLv2, with its automatic license reinstatement clause, the 60 days limit for the notification of violations and the explicit patent clause.

      We have lots of concrete, contemporary examples of what happens when choices are made for fear instead of by reason. So if you imply that I should license my software under a permissive license only to give in to the companies' unjustified fears, in the hope that their involvement will make my software better, then I disagree.

    93. Re:Dropping the GPL ~= worse. by Patch86 · · Score: 1

      Perhaps my comment about the primary maintainer taking something closed. That's a concern with software (regardless of license, including the GPL) because whenever an organization or company that owns a project's copyright (or enough of the copyright that they can easily rewrite the rest) decides to create a closed-source fork of that project, it generally results in the death of the open source fork of the project, for all intents and purposes.

      This will always be the case where a project has significant corporate backers. If you have a large corporate backer, you are always at risk of them pulling the plug, forking, or in other ways derailing the project. If you don't have significant corporate backers this is not a problem- but you're also far less likely to have a seriously competitive piece of software.

      The same problem applies similarly to GPL works, seeing as corporate backers can still pull the plug. For example, if Canonical were to drop Ubuntu, the distro would start to suffer very quickly. GPL just closes off the one possible line of attack, in that the company can't have their cake and eat it too- they can either abandon the open source project (and drop their favourite software at the same time), or they can keep their favourite software (and inevitably keep the open source project too). Under a BSD license, having cake and eating it is very possible- they can drop the open source project, but still keep their shiny software (including the work of all the lovely folk who are no-longer invited to play).

    94. Re:Dropping the GPL ~= worse. by patman600 · · Score: 1

      There's nothing stopping you downloading gcc and installing it yourself.

    95. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      Oh the reasons for portable compilers and operating systems show up a lot.

      1) Most end user programs don't require low level access to hardware.
      2) "Best hardware" changes rapidly, much more rapidly than software life-cycles.

      Thus the intermediate levels should abstract hardware.

      Both GCC and LLVM are very portable as compilers go. Both of them support operating systems that are widely cross platform.

    96. Re:Dropping the GPL ~= worse. by DragonWriter · · Score: 1

      In a couple of years time, there will be a proliferation of different, incompatible versions of CLang/LLVM that will be increasingly expensive to maintain.

      Or they'll be a mainline version that is maintained by an active community of both independent and paid corporate developers contributing code, and corporations that want to maintain proprietary extensions will do so in a modular way, contributing any necessary core support back to the mainline project.

      There's plenty of widely-used non-GPLv3 (public domain, BSD, Apache, GPLv2, etc.) free software that doesn't have the problem you suggest in practice. SQLite (public domain) comes to mind.

    97. Re:Dropping the GPL ~= worse. by Darinbob · · Score: 1

      Yup, and am having troubles getting it to build as well. Even the mac ports version (universal so I can get 32/64 bit) has some problems with one application.

    98. Re:Dropping the GPL ~= worse. by Lennie · · Score: 1

      Do you really believe that Linus would use GPLv3 for the kernel ? You most be kidding. Linus is very clear about why he does not want GPLv3. He is happy with GPLv2.

      --
      New things are always on the horizon
    99. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      That's not entirely correct. Apple stopped contributing to GCC the moment they switched to GPLv3 (which is why Apple's GCC has been stuck on version 4.2.1 - it was the last GPLv2 release). Of course they had started sponsoring Chris Lattner and the LLVM project long before that.

      It's not limited to GCC either. Apple has a blanket ban on all GPLv3 software. They've either stuck to the old GPLv2 versions or replaced them with new software with licenses they find acceptable (eg. their own brand new slightly buggy CIFS implementation rather than Samba).

    100. Re:Dropping the GPL ~= worse. by DuckDodgers · · Score: 1

      You can fix bugs in either one. But other people and companies can also fix bugs in either one. With BSD the people and companies can choose whether to share the changes when they distribute new binaries based on the changes. With GPL they have to share the changes when they distribute new binaries based on the change.

      Yes, there are cases like FreeBSD and WebKit where most of the useful changes are passed upstream to the parent project. But it's overly optimistic to assume that this model will always work or even that it usually works. Microsoft, Apple, Oracle, and Sony, just to name a few, take what they can use from BSD licensed products and then do their best to steer people away from using the upstream projects and towards their proprietary offerings. That's great for them but bad for everyone else.

    101. Re:Dropping the GPL ~= worse. by msauve · · Score: 1
      "That's specifically illegal under the GPL. "

      Making things up doesn't constitute a valid argument.

      You don't have to disclose anything under the GPL unless you "convey" the work to others. There is nothing to force someone to hand over internally used code.

      "To 'convey' a work means any kind of propagation that enables other parties to make or receive copies... You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force." -GPLv3

      There is nothing in the GPL which defines source code as you have claimed ("what is used internally").

      "The 'source code' for a work means the preferred form of the work for making modifications to it. 'Object code' means any non-source form of a work... The 'Corresponding Source' for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities." - GPLv3

      There is nothing in the GPL which would prevent someone from stripping all comments, then compiling and conveying the resulting object and source code.

      "You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
      a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
      b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to 'keep intact all notices'..." GPLv3

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    102. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      What ARE the features? mostly drivers and GL support. Blame SGI not the license. Most companies today are contributing good driver code, except Nvidia. Blame them. They're the assholes.

    103. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      You even quoted the correct line, "The 'source code' for a work means the preferred form of the work for making modifications to it" The version used by developers for making modifications is the one with the comments.

      As for the GPL what prevents someone from stripping comments is that the recipient can request source.

    104. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      The situations where companies have created closed-source forks of BSD-licensed projects have almost invariably been cases where there was no set of benevolent core maintainers, e.g. the Apache Foundation. If the open source content is not changing significantly, there is minimal benefit of keeping up with public changes, and thus no real penalty for creating a closed branch. That's why I specifically stipulated that the ideal situation was a BSD license in which the core development was done by a benevolent foundation (and, by extension, in which the software is still being actively maintained and enhanced).

      Further, it's worth noting that when companies create closed-source forks, they often do so by hiring the main/sole developer or buying the company that owns the copyrights. When that happens, the GPL provides no additional protection. The GPL provides protection only if a sizable percentage of the code was written by someone who won't accept money in exchange for the right to create a closed-source branch. In practice, this means that the GPL is usually largely ineffectual at preventing the sorts of situations that you describe; the fact that GPLed software falls victim to this less frequently has more to do with corporate aversion to touching the stuff, plus the existence of groups like the FSF that help back some of it, rather than because the license inherently prevents the creation of such a branch.

      Finally, FWIW, most of the BSD-licensed technology that Apple uses is still released as open source. There's a giant pile of it on opensource.apple.com. I count 65 published projects for the current Lion release that are in whole or in part licensed under a BSD license.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    105. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      When you think about where rms came from

      An environment where he didn't have to work for a living?

    106. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      Linux vendors are unusual in that they've already thoroughly cast their lot with the GPL, for better or worse. They don't have any alternative short of not being a Linux vendor. Same goes for other companies that make their living by providing support for GPLed software.

      So if you imply that I should license my software under a permissive license only to give in to the companies' unjustified fears, in the hope that their involvement will make my software better, then I disagree.

      No, I'm just saying that if you want broad adoption, GPLv3 is a dead end. The fears, unjustified or not, are very prevalent, and are unlikely to go away. So you have to choose which is more important: broad adoption or preventing a theoretical abuse that statistically won't ever happen to the vast majority of projects regardless of license.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    107. Re:Dropping the GPL ~= worse. by dgatwood · · Score: 1

      This will always be the case where a project has significant corporate backers.

      True, but it is a far bigger concern when you have exactly one major corporate backer. When you have five or six companies contributing lots of code, the disadvantages caused by keeping private repositories in sync with the public ones usually outweigh any advantages any single company might get from keeping significant bits proprietary.

      GPL just closes off the one possible line of attack, in that the company can't have their cake and eat it too- they can either abandon the open source project (and drop their favourite software at the same time), or they can keep their favourite software (and inevitably keep the open source project too).

      Not true. If the GPL project requires copyright assignment, then the new owners of that copyright can do whatever they please, up to and including creating a closed-source fork. Likewise, if a single company owns the copyright on 90% of the code, they can rip out the 10% contributed by outsiders, hire people to rewrite those bits, and create a closed-source fork. The GPL closes off that line of attack only if there are multiple major contributors contributing large portions of the code, and in those circumstances, BSD-licensed software is also largely immune to that line of attack by virtue of the synchronization hassle factor, as I mentioned previously.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    108. Re:Dropping the GPL ~= worse. by msauve · · Score: 1

      I prefer the form of the work which has a binding contract paying me $1M for viewing the source. I demand you provide source code.

      Are you really that obtuse? The GPL is clearly making a distinction between high level "source code" and other forms of the code, so someone can't offer up, say, an intermediate assembly language output.

      As I correctly pointed out, if the "conveyed" binary was compiled from a source with no comments in it, then source with no comments is all one has to provide.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    109. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      The GPL is clearly making a distinction between high level "source code" and other forms of the code, so someone can't offer up, say, an intermediate assembly language output.... As I correctly pointed out, if the "conveyed" binary was compiled from a source with no comments in it, then source with no comments is all one has to provide

      No that's not true, that is not what the GPL is doing. Source code is not defined as what you compile from but what you modify from. Source code the way you are using it, is explicitly excluded from the license. It is eliminating all intermediate codes including stripped source.

      This in fact came up in European courts where Microsoft provided some complex XML quasi-binary code and the courts tossed it as meeting the definition of source, using the GPL definition that source was what Microsoft works in.

        I prefer the form of the work which has a binding contract paying me $1M for viewing the source. I demand you provide source code.

      That would be a license fee and other licenses include license fees all the time.

    110. Re:Dropping the GPL ~= worse. by msauve · · Score: 1

      You clearly don't know what "modify" means, do you?

      Is it also your position that since you can't remove comments, you can't remove lines of code from the original as part of your modification?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    111. Re:Dropping the GPL ~= worse. by Anonymous Coward · · Score: 0

      Wrong, anything that NEEDS copyright to exist is not free, period. Even BSD isn't free, but is as close as it can get without making the code public domain.

      Stop talking about freedom when you clearly think of it as some FORCED communal experience anyone has to share.

    112. Re:Dropping the GPL ~= worse. by smash · · Score: 1

      Maybe your time is better spent on #DEFINEs or similar to get your code to work on other compilers? Tying yourself to GCC irrespective of what apple does is not really a wise move.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    113. Re:Dropping the GPL ~= worse. by DuckDodgers · · Score: 1

      I realize that Apple releases some of the changes they make as open source, and taken as a whole it's a lot of code. But the monetary value of the source code Apple releases is insignificant when views as a percentage of their annual income. They could fund an industry-changing amount of free software, and they choose not to because their entire business model is built around steering customers towards their proprietary software. I'm grateful for the code they have released back to the community, but that is clearly not a major priority for Apple as a company. Contrast that to Red Hat, which spends a significant portion of its annual budget developing code that gets released back to the community.

      A company can take a project from open to proprietary if it's easy to locate all of the contributors, or if the project has required developers to assign copyright of contributions to the project. A lot of free software projects have neither, and I like that - you couldn't release the Linux kernel under a BSD license even if you wanted to, because it's impractical to track down every contributor who still has code in the active kernel and get them to agree.

      And while companies like Apple and Microsoft shy away from working with or on projects with a GPL license, it works just fine for other companies and volunteer projects. Hence Debian, Red Hat, Ubuntu, etc... The GPL isn't winning the hearts and minds of the huge firms, but the truth is that while we would love to have their money and their resources, the GPL exists mainly to make it hard for them to exist. If Apple and Microsoft have to constantly struggle to convince consumers that their offerings are technically superior to software they can get for free, then the GPL is working as intended. It's a rising tide - proprietary software companies have to keep moving to higher ground to prove their worth, as soon as they rest on their laurels the baseline (software consumers can get for free) surpasses them in quality. And no matter how they would like to push the water level lower, they can't stop the ocean.

    114. Re:Dropping the GPL ~= worse. by Darinbob · · Score: 1

      Maybe. But we do have a lot of inline asm (ie, emulating RTOS task switching, third party code with optimized functions, etc). Ie, there is code that properly checks for __GNUC__ around some inline assembler but this fails because LLVM-GCC claims to be GCC but doesn't handle the syntax correctly (possibly an xcode 4.3 bug?). Probably with time we could get things working but I.T. is insistent that people upgrade now and be disrupted rather than put it off until code is ported and makefiles rewritten.

      Is it really so much to ask that the legacy compiler they leave behind for compatibility reasons actually be compatible?

    115. Re:Dropping the GPL ~= worse. by smash · · Score: 1

      Is it really so much to ask that the legacy compiler they leave behind for compatibility reasons actually be compatible?

      Due to licensing changes, apple are unable/unwilling to bundle newer versions. So maybe it is too much?

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    116. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      Yes you cannot remove any lines from the version you worked on, the preferred form for modification that was used to create the binary you are distributing. I don't know what you mean by "original" there 3 different originals in the source code variant I was responding to.

    117. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 1

      There is an even more relevant point you are missing. the ONLY reason TiVo was allowed to exist at all was that you couldn't just copy off the content. The reason you couldn't was the very code in question being locked to the flash meant one couldn't just make a version that say output a DivX file instead of sending the output to the audio and video jacks.

      So if they would have done as RMS wanted TiVo would have been banned for sale in the USA not a month after they complied because it would be labeled a piracy tool, no different than you can't sell stand alone units that will rip copy protected DVDs and make copies. Sure you can buy devices that will play pirated content at places like China mart but you sure as hell ain't gonna find those at your local Best Buy.

      But this is why I call those that treat GPL as sacred as "FOSSies" because like Moonies if one stopped for even a few moments to think about their position logically it simply doesn't hold. They say they are for freedom and the common man yet by doing as RMS wanted TiVo would have been put out of business and frankly there would be NO way for users to actually pause live TV or replay a show short of using an old fashioned VCR. But this shouldn't be surprising when RMS himself will only use a Loongson MIPS netbook that isn't sold in the USA (most likely because of the patents they are stepping on) because that is the ONLY device that fits his definition of "free".

      This is why extremism simply doesn't work, because taken to its logical conclusion to measure up one would have to jump through so many hoops and deal with so much bullshit frankly you wouldn't have time for anything else. Try the only Linux distro RMS himself promotes which is GNUSense some time, its had so much ripped out of it that doesn't fit with his dogma it is frankly unusable on the vast majority of systems out there. I find that a perfect example of why one has to compromise, because if you don't then all you get is a broken mess.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    118. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      Funnily enough, RMS doesn't insist that GNewSense be spelt GNUSense, even though the latter would make more sense, manner of speaking. I wonder whether Lemote sells that computer w/ GNewSense or some other distro - they can't sell it w/ Windows, since it's MIPS based, and neither will it run OS-X. Of course, if the only app that you live in is Emacs, I suppose that it's not a problem. Too bad RMS couldn't extend Emacs to become the entire OS - including bash, the kernel, a GPLed X11/Wayland, GNOME and so on. He'd have an OS w/ ONLY ONE GPLv3 application, w/ no capability to support any others - just needs to import all their functionality into Emacs. In a word, GNUtopia!

    119. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 1

      Well I was just spelling it how it sounds, frankly the right way just looks..."wrong' and since we know the whole damned point of the distro is to be an RMS ideal GNU system its just dumb not to call a spade a spade IMHO.

      Funnily enough everyone gives RMS credit for the GCC and Emacs yet both of the current versions aren't his but were forks created by devs that got tired of his BS that when he saw were supplanting his own creations he "blessed" to keep from being made irrelevant with his own former creations!

      And the Loongson, just FYI, shows what RMS thinks of other people's property since the reason they can't be sold here is they infringe on Intel's copyrights and patents. look up the specs on the chips and you'll see they added Intel's X86 code to their own chip to give them a speed boost on hardware emulated X86 which is of course a no no, at least in the west. you are allowed to emulate hardware in software for interoperability but NOT allowed to just bold faced copy the hardware itself.

      In the end i'll use his own words about Jobs "I won't be glad when he's dead, but I'll be glad he's gone' because frankly i think his extremism is holding back the entire open source movement and is causing more divisions and zealotry than anything else anymore. you read the man's writings and it is pretty plain to see that this has long since quit being about software and is a lot more...well cult like. I mean the man gives out a list of words AND THEIR MEANINGS TO HIM and you can only use HIS language HIS way or he won't even talk to you. I ask you, does that sound like an advocate, or a cult leader to you?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    120. Re:Dropping the GPL ~= worse. by eugene+ts+wong · · Score: 1

      Hi. Thanks for your reply.

      I think that you are right on a grand scale. I misunderstood it, because I focused on things like drivers and operating systems. Operating systems like BSD and Linux don't need to be under the GPL, because, by nature, the developers want the spread of the software. They make the software commonly available, and they want developers to code to the standard.

      In other situations, there needs to be a trust relationship. If we need to force a company to release the source, then we might as well use the GPL. I could imagine that tax software might fit in here. The tax software probably has no meaningful stuff that needs to be patented or copyrighted.

      Using the BSD license makes sense for operating systems that are popular and mainstream because it makes it easier for companies and developers to come to the table on their own terms.

      [disclaimer: I'm going to copy and paste this to the other people who replied to me]

    121. Re:Dropping the GPL ~= worse. by eugene+ts+wong · · Score: 1

      [I copied and pasted the text below from my reply to other guy above, because it applies to you.]

      Hi. Thanks for your reply.

      I think that you are right on a grand scale. I misunderstood it, because I focused on things like drivers and operating systems. Operating systems like BSD and Linux don't need to be under the GPL, because, by nature, the developers want the spread of the software. They make the software commonly available, and they want developers to code to the standard.

      In other situations, there needs to be a trust relationship. If we need to force a company to release the source, then we might as well use the GPL. I could imagine that tax software might fit in here. The tax software probably has no meaningful stuff that needs to be patented or copyrighted.

      Using the BSD license makes sense for operating systems that are popular and mainstream because it makes it easier for companies and developers to come to the table on their own terms.

    122. Re:Dropping the GPL ~= worse. by eugene+ts+wong · · Score: 1

      [I copied and pasted the text below from my reply to other guy above, because it applies to you. I would like to add that perhaps the BSD licenses should require a link to the original BSD licensed code.]

      Hi. Thanks for your reply.

      I think that you are right on a grand scale. I misunderstood it, because I focused on things like drivers and operating systems. Operating systems like BSD and Linux don't need to be under the GPL, because, by nature, the developers want the spread of the software. They make the software commonly available, and they want developers to code to the standard.

      In other situations, there needs to be a trust relationship. If we need to force a company to release the source, then we might as well use the GPL. I could imagine that tax software might fit in here. The tax software probably has no meaningful stuff that needs to be patented or copyrighted.

      Using the BSD license makes sense for operating systems that are popular and mainstream because it makes it easier for companies and developers to come to the table on their own terms.

    123. Re:Dropping the GPL ~= worse. by jbolden · · Score: 1

      Operating systems like BSD and Linux don't need to be under the GPL, because, by nature, the developers want the spread of the software.

      That's not actually necessarily true. It depends whether the developers are making money, generally indirectly, from selling services or from selling hardware. In the case of hardware, hardware / software combinations are very powerful value adds. The developers don't necessarily want to spread the software to competitors. They might want to use an open source system as a base. If they are selling services then generally they are happy to give away the code. But even here often under a restrictive licenses since they might have competitors that are selling hardware / software combinations.

      This is exactly what we saw with the Linux kernel. The big box Unix guys who wanted to get out of the OS business were willing to port their stuff to Linux but not BSDs because their competitors who were still in the software / hardware business (Sun primarily) couldn't use it.

      In fact I'd use the example of the failure of X, where the MIT version of X did set a standard but was worthless for end users who used proprietary Xs with OS specific features that were closed source.

      In other situations, there needs to be a trust relationship. If we need to force a company to release the source, then we might as well use the GPL.

      Exactly and frequently there is no trust relationship and the company does need to be forced.

    124. Re:Dropping the GPL ~= worse. by eugene+ts+wong · · Score: 1

      Regarding the Linux kernel example, I view it as them porting to Linux to *limit* the spread to the other businesses [e.g. Sun].

      On the other hand, if a government or a who-cares type volunteer wanted everybody to have the same operating system, for profit or not, then they would choose a BSD license, thus forcing a standard.

      China chose Linux, probably because all the software was there already.

      That being said, I could be wrong about China, since you seem to be revealing new information to me.

      Regarding X, I don't know the history, even though I just went through Wikipedia's version of it. There is no reason for the proprietary Xs to be incompatible, other than beliefs about technical merits, or just inflexibility [i.e. "Nope. It's my way, or the highway."].

      If I understand the history correctly, a group wanted to force the advertising clause on others, and then and uproar arose. This makes sense, because it is more restrictive.

      Some graphic card vendors are not allowed to create their own linked drivers, from what I read on Slashdot, so that implies to me that a BSD license would have accommodated them.

    125. Re:Dropping the GPL ~= worse. by unixisc · · Score: 1

      Oh, I used to think that Loongson was just a pure MIPS RISC CPU, w/ no x86 emulation involved. I had no idea that they have x86 emulation on the chip itself. Since Loongson is making a CPU out of Intel's IP anyway and only selling it in China, they could well have made Pentium or iCores, and just run w/ it - they'd have had a field day.

    126. Re:Dropping the GPL ~= worse. by hairyfeet · · Score: 1

      The reason they didn't do that is they don't have access to the templates and masks. Intel makes their own CPUs in their own fabs and is pretty tight when it comes to security on their chip designs so what Loongson did was copy certain instructions, probably from leaks on older CPUs as the stuff I saw written about them has the X86 code in them roughly about the same as a P3 which is a pretty damned old design.

      Basically the Chinese wanted a chip they could claim was "theirs" and theirs alone which is why they simply bought the designs for an older MIPS chip outright. Then they found out how badly it would run and how the vast majority of code out there (even Linux) is not for MIPS but X86 which is when they stole Intel microcode to put in the Dragon which is what RMS runs. Like I said kinda telling, at least to me, that a guy that constantly screams about big bad business ripping off the GPL he has no problem with himself using stolen code if it suits him.

      But considering he gushes on his own website about Chavez and Castro and what utopias those places are frankly it doesn't surprise me that he doesn't mind stealing as long as its done by communists. Frankly I'm shocked he just doesn't come right out and declare himself a marxist, he made no bones that he sees Chavez and his regime as practically heaven on earth. To me it just makes him a hypocrite, claiming to be for freedom while gushing about dictatorships and claiming to be against corps stealing code from the GPL while he himself uses stolen code every damned day with the loongson.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  7. Linux dev's experimenting with LLVM/Clang too by perpenso · · Score: 4, Informative

    What's wrong with GCC?

    Some people argue that LLVM/Clang offers better code generation, compile time warnings, and code analysis. Some compiler developers think the gcc code has become too bloated and complicated. Even gcc devs have described the gcc code as "cumbersome".

    There are various efforts to get Linux building under LLVM/Clang. Especially for embedded environments.

    1. Re:Linux dev's experimenting with LLVM/Clang too by cheesybagel · · Score: 1

      GCC has been rewritten a lot of times. It used to only make tree based and peephole optimizations. However now they use a form of SSA called GIMPLE. The problem was porting all the code optimizations to GIMPLE but that should have been done by now. The backend only needs to convert GIMPLE into machine code which should not be particularly hard...

    2. Re:Linux dev's experimenting with LLVM/Clang too by KiloByte · · Score: 2

      GCC always shows the offending line, clang does not.

      For example, if you have a printf()-like function whose format string has a default value, every use will emit:
      warning: format string is not a string literal (potentially insecure) [-Wformat-security]
      without a mention of the line in question. The default value here is also a literal, making the whole warning bogus in the first place.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    3. Re:Linux dev's experimenting with LLVM/Clang too by gangien · · Score: 1

      I tried reading the GCC code a few years ago. It has to be the most painful code i've ever read. It was incredibly difficult to follow.

    4. Re:Linux dev's experimenting with LLVM/Clang too by Anonymous Coward · · Score: 0

      GCC always shows the offending line, clang does not.

      For example, if you have a printf()-like function whose format string has a default value, every use will emit:
      warning: format string is not a string literal (potentially insecure) [-Wformat-security]
      without a mention of the line in question. The default value here is also a literal, making the whole warning bogus in the first place.

      By default, do you mean a C++ default parameter value or setting it to NULL? Judging by the warning it looks like you have asked the compiler to analyse the parameter as a format string then proceeded to pass NULL which is not a valid format string. In other words, it's PEBKAC.

      Solution:
      int myprintfv(const char *format, va_args va); /* the actual function */
      int myprintf(const char *format, ...) { /* implicit var args version */
              va_args va; int r;
              va_start(va, format);
              r = myprintfv(format, va);
              va_end(va);
              return r;
      }
      int myprintfd(int param1, unsigned param2, ... /*ignore*/) { /* printf with default format string (explicit type matching) */
              return myprintf("Default format: %d 0x%X", param1, param2); /* tail call */
      }

      If you're using a C++ default argument and the compiler doesn't notice it properly then file a bug.

    5. Re:Linux dev's experimenting with LLVM/Clang too by KiloByte · · Score: 1

      By default, do you mean a C++ default parameter value or setting it to NULL? Judging by the warning it looks like you have asked the compiler to analyse the parameter as a format string then proceeded to pass NULL which is not a valid format string. In other words, it's PEBKAC.

      It is a literal, and thus, contrary to what the warning claims, there's no possible security error. It also makes sense if the message is optional.

      But that's beside the point. Even if the warning was correct, clang fails to point out where it happens, not letting you fix it without bisecting the whole file which may be hard to do.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    6. Re:Linux dev's experimenting with LLVM/Clang too by Anonymous Coward · · Score: 0

      > Some people argue that LLVM/Clang offers better code generation

      Where does _anyone_ argue that? It clearly doesn't.

    7. Re:Linux dev's experimenting with LLVM/Clang too by Webz · · Score: 1

      As an engineer I hate to sound like I'm trivializing this... But let's start with something straight forward. Why not have a sub project/campaign that makes gcc easier to grok/suck less? What are they spending their time on? Just curious.

  8. Clang vs GCC by Anonymous Coward · · Score: 1

    While both compilers are very good, I find myself preferring Clang both on technical and licensing merits. Putting aside the license for a moment, Clang gives better warnings/errors. They are clearly defined and easier to read. In addition I've found some GCC warnings are not accurate. To date Clang hasn't given me any bad advice.

    1. Re:Clang vs GCC by Anonymous Coward · · Score: 0

      Clang's warnings are fantastic, especially when dealing with deep templated stuff (STL anyone?), but the performance gap is too great for me to consider using Clang to actually generate production code. I've worked with build chains that compile twice -- Clang for warnings/errors, and gcc for actual code generation.

  9. Please review my source code mods by Anonymous Coward · · Score: 1


    #include <stdio.h>

    #if defined( __GNUC__)
    static char* world_type = "free ";
    #elsif defined(__clang__)
    static char* world_type = "unencumbered ";
    #else
    static char* world_type = "";
    #endif

    int main( int argc, char** argv )
    {
        printf( "hello, %sworld.\n", world_type );
        return 0;
    }

    1. Re:Please review my source code mods by Anonymous Coward · · Score: 0

      Why static here?

      (Not criticizing, genuinely curious. I'm only familiar with using it in class definitions in C++.)

    2. Re:Please review my source code mods by ZorroXXX · · Score: 3, Informative

      Static for functions or variables with file level linkage makes them "private" to that file. E.g. in this case, several source files can define global variables named world_type without collisions. That is provided all declare them static. One of the files might ommit, but if two or more source files declare non-static global variables named world_type then the linker will (correctly) complain when linking.

      --
      When you are sure of something, you probably are wrong (search for "Unskilled and Unaware of It").
    3. Re:Please review my source code mods by colinrichardday · · Score: 3, Informative

      According to Kernighan and Ritchie, the static modifier restricts the scope of externally declared variables to the rest of the source file. AC might not want to accept the GPL and BSD definitions of free/unecumbered to non-software contexts.

    4. Re:Please review my source code mods by shutdown+-p+now · · Score: 1

      Note that declaring a function as static does not preclude type definitions (e.g. structs) nested inside such a function from being "public" for ODR purposes in C++. In other words:

      // 1.cpp
      static void foo() {
        struct foo { int x; }
      }
       
      // 2.cpp
      static void foo() {
        struct foo { float y; }
      }

      If you compile and link these together, you have an ODR violation for struct foo. If it contains methods with the same (mangled) names, the compiler will have a fun time deciding which one to actually link to make your debugging experience as hilarious as possible.

    5. Re:Please review my source code mods by shutdown+-p+now · · Score: 1

      There's no such thing as #elsif, it should be #elif.

      Use const char* to point to string literals. In this case, better yet, just declare it as an array - const char world_type[] = "...".

      Also, "return 0" at the end of main is redundant - main is the only non-void-returning function where that is implied if you omit it. argc/argv are unused and hence can be dropped, too.

      Functionality-wise, you might also want to add an #ifdef for Intel C++ with world_type = "fast ". ~

    6. Re:Please review my source code mods by TheRaven64 · · Score: 1

      It's also worth noting that clang defines __GNUC__ (it is a drop-in replacement for GCC 4.2), so the #elif would not be reached even with correct syntax. Oh, and the return 0 is only implicit in C99 or later, or C++.

      --
      I am TheRaven on Soylent News
    7. Re:Please review my source code mods by Anonymous Coward · · Score: 0

      You should return EXIT_SUCCESS rather than 0. Not all platforms use zero to indicate success.

  10. deliberately obscured internals by Stallman et. al by rubycodez · · Score: 1, Interesting

    Stallman and others deliberately fought having APIs, proper documentation and to allow plugins for all parts of the GCC toolchain, to keep control of the thing.

  11. Apple already deprecated GCC too in Xcode 4 by Anonymous Coward · · Score: 0

    Apple switched to LLVM with Xcode 4 so they could bring Xcode into the modern IDE world. GCC and all its wacky GPL shit makes integrating into an IDE a legal minefield and mostly unworkable. On the other hand they also integrated Linus' git as the preferred version control so it's not an anti-GPL thing on principle but building a full IDE around a GPLed compiler is just not going to work out.

    1. Re:Apple already deprecated GCC too in Xcode 4 by asdf7890 · · Score: 1

      From a licensing perspective the problem with recent GCC versions for Apple is the anti-DRM clauses in GPLv3. Note that Git is explicitly GPLv2 licensed.

      Of course the technical problems with some parts of GCC's design are undoubtedly significant too, though these are nothing to do with the GPL (v2 or v3) specifically. From what I've read there were deliberate design decisions that make it inconvenient for GCC to be used this way (some say this was deliberate rather than those decisions being made because they had benefits elsewhere, though without evidence to offer I'll not parrot that accusation).

    2. Re:Apple already deprecated GCC too in Xcode 4 by antime · · Score: 1

      You can go through the GCC development mailing list archives to find many people (including GCC steering committee members) citing RMS explicitly forbidding features that would let GCC be used as part of a proprietary compiler (eg. dumping the internal representation or reading back an IR dump). Since LLVM and Clang started gaining steam a few years ago some of those decisions have been reversed, allowing eg. the plugin system of newer GCC versions.

  12. wrong by 101percent · · Score: 1

    If you're on slashdot and you just discovered that Apple hates the GPL, youre wrong. Your first clue was when they banned GPL from the crap store.

    1. Re:wrong by kthreadd · · Score: 1

      They didn't ban it. It just happens that the restrictions in GPL is incompatible with their terms of service. If Stallman fixes the bugs in GPL so that it is compatible then it can be used in the store.

    2. Re:wrong by Robert+Zenz · · Score: 1

      Care to explain?

    3. Re:wrong by smellotron · · Score: 1

      They didn't ban it. It just happens that the restrictions in GPL is incompatible with their terms of service. If Stallman fixes the bugs in GPL ...

      Since the GPL existed before the App Store and is an extremely popular software license, it is logical to conclude that Apple knowingly crafted terms of service that excluded GPL compliance. Whether this is intentional exclusion or simply collateral damage is unknown, but the onus is on Apple and not the FSF/RMS.

  13. Licensing Conflicts by sethstorm · · Score: 1

    However, FreeBSD will not actively block you from using a newer version of GCC.

    Using newer version of GCC and binutils with the FreeBSD Ports Collection

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  14. Go to definition of selected symbol by tepples · · Score: 2

    The only valid way of integrating compiler with custom tools is calling the compiler from them

    So what's the valid way of finding what functions exist and what variables belong to what functions? Such functionality is needed for "go to definition of selected symbol" and "search for uses of selected symbol" actions.

    1. Re:Go to definition of selected symbol by Alex+Belits · · Score: 0

      So what's the valid way of finding what functions exist and what variables belong to what functions? Such functionality is needed for "go to definition of selected symbol" and "search for uses of selected symbol" actions.

      The valid way is "don't, because it encourages horrendously tight coupling in all interfaces". I am more productive with two editor windows side by side (something that can't be accomplished in IDEs due to multitude of itty-bitty reference windows everywhere) than programmers who rely on tools to jump to definitions that usually they have no business reading in the first place.

      The way how it is implemented everywhere is, use ctags. You don't need the whole compiler for just parsing identifiers.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Go to definition of selected symbol by turgid · · Score: 1

      grep

    3. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      something that can't be accomplished in IDEs due to multitude of itty-bitty reference windows everywhere

      I love it when someone is so full of shit they can't even spot it in their own words. I have used no well-regarded IDE in the past ten years that doesn't let you customise the environment enough to be able to do what you describe.

    4. Re:Go to definition of selected symbol by Alex+Belits · · Score: 0

      Oh, Eclipse does let you customize UI. But then in the end you have just a really bad editor with a project and compiler menu, and I have better one in Emacs.

      --
      Contrary to the popular belief, there indeed is no God.
    5. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 1

      now i know youre insane

    6. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      Tight coupling is not always bad, and using a programmatic API is not an example of tight coupling.

      It's this kind of thinking that is holding Linux back.

    7. Re:Go to definition of selected symbol by denmarkw00t · · Score: 1, Insightful

      :%s/Emacs/Vim/g

      ftfy

    8. Re:Go to definition of selected symbol by dgatwood · · Score: 4, Insightful

      Have you ever actually tried to parse a declaration reliably using regular expressions? I have. They just kept getting more and more horrible the more complex the input became, and at some point, after fixing a bunch of bugs, I concluded that it was an insane way of doing things, threw out all the regular expressions, and started over with a tokenizing parser.

      Trust me when I say that parsing declarations with even Perl-compatible regular expressions, much less BRE or ERE, is not something you want to attempt if you value your sanity in the slightest.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    9. Re:Go to definition of selected symbol by chuckinator · · Score: 1

      ctags and cscope are quality development tools and integrate well with emacs and vim.

    10. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      Sorry, but they are complete shit. They can't actually parse C++ and proper parsing of C++ practically requires a full compiler (sans the code generation and optimization passes, etc.)... which is what Clang is.

      Btw, nobody says you couldn't integrate Clang with Emacs and Vim. (Hell, for all I know somebody may already have done so.)

    11. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      I am more productive with two editor windows side by side (something that can't be accomplished in IDEs due to multitude of itty-bitty reference windows everywhere)

      You can place editor windows side-by-side in pretty much any major IDE. If you run out of space because of tool windows, just close them (you know you can do that, right? it's usually the X in the corner...).

      The way how it is implemented everywhere is, use ctags. You don't need the whole compiler for just parsing identifiers.

      Ah, so you'd rather use two different and subtly incompatible parser implementations to do a simple task rather than just one? what happened to "Unix way"?

      Not to mention that ctags + C++ = epic fail. And using vanilla C for high-level code in this day and age is for masochists and get-off-my-lawn types.

    12. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      Oh, Eclipse does let you customize UI.

      And it's not just eclipse, you're just out of touch.

    13. Re:Go to definition of selected symbol by Vintermann · · Score: 1

      I see. We have no business jumping to definions to read them, it's none of our business - unless it's in that subset of definitions that can be found by ctags.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    14. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      using vanilla C for high-level code in this day and age is for masochists and get-off-my-lawn types.

      Yes, but this is also true of C++.

    15. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      I have seen people doing with Vim what I do in Emacs, so I consider both to be valid options, however I am more accustomed to Emacs.

      --
      Contrary to the popular belief, there indeed is no God.
    16. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      If you need to look at the source of everything every time you use it, you have a case of horrendously tight coupling, combined with lack of documentation. Some parts of Linux kernel come close to this point, thus requiring things like LXR (but then LXR does what IDEs don't and shouldn't, such as allow users to look at multiple versions to see how things changed -- it's not something that is supposed to be stuffed into the editor).

      --
      Contrary to the popular belief, there indeed is no God.
    17. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      Ah, so you'd rather use two different and subtly incompatible parser implementations to do a simple task rather than just one? what happened to "Unix way"?

      Three. There is a preprocessor before C or C++ compiler, so what your built-in parser shows is likely not the same as what is happening in your source.
      Or four if you use Qt.

      --
      Contrary to the popular belief, there indeed is no God.
    18. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      If your IDE (and other code processing tools) is doing things right, it will, of course, preprocess the source before trying to parse it.

      Having a separate parser for the preprocessor is, unfortunately, unavoidable for the simple reason that it has a completely different grammar from the language itself (to the point where productions for tokens don't match, so a single token in a preprocessor can end up being two tokens in the compiler). It's definitely a sign of deficiency in the language design, but there's no need to make it even worse by writing more buggy parsers instead of reusing the one that's already there.

    19. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      If your IDE (and other code processing tools) is doing things right, it will, of course, preprocess the source before trying to parse it.

      And then they won't know what to tell you because it's impossible to find out what came from where, as preprocessor is allowed to generate identifiers.

      Having a separate parser for the preprocessor is, unfortunately, unavoidable for the simple reason that it has a completely different grammar from the language itself (to the point where productions for tokens don't match, so a single token in a preprocessor can end up being two tokens in the compiler). It's definitely a sign of deficiency in the language design, but there's no need to make it even worse by writing more buggy parsers instead of reusing the one that's already there.

      If you want to badmouth C, there are places for that, and it's not here. C design is what it is -- it's two languages in one. C++ is four. It's how they are designed, and it's not going to change unless you develop a new language from scratch.

      --
      Contrary to the popular belief, there indeed is no God.
    20. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      And then they won't know what to tell you because it's impossible to find out what came from where, as preprocessor is allowed to generate identifiers.

      Why is it impossible to find out? You just track the original line number for every line of code, even after it has passed to the preprocessor. If, for example, one does "Go to definition" on an identifier, and it turns out to be a function that was a result of a macro expansion, you point the user at the line where said expansion happened. A good IDE will also let you hover over the macro on that line, and see the expansion.

      If you want to badmouth C, there are places for that, and it's not here.

      This is Slashdot, not a C fan club. Badmouthing anything and everything is par for the course here. In this case, it's well-deserved, too, so I don't see why I should restrain myself.

      C design is what it is -- it's two languages in one. C++ is four. It's how they are designed, and it's not going to change unless you develop a new language from scratch.

      "It's what it is" and "it's how it is designed" is not a rebuttal to "the design is bad". PHP is also what it is, for example, and it's basically a living example of how to not design a programming language.

      I'm not saying that C is as bad, or that C is bad enough that it's unusable. It's "good enough". But there are certainly quite a few bad design decisions there that are worth pointing out, if only so that they will not be repeated in the future by blind copying. The way C preprocessor works is one of them.

    21. Re:Go to definition of selected symbol by TemporalBeing · · Score: 1

      The only valid way of integrating compiler with custom tools is calling the compiler from them

      So what's the valid way of finding what functions exist and what variables belong to what functions? Such functionality is needed for "go to definition of selected symbol" and "search for uses of selected symbol" actions.

      That's not the job of GCC. That's the job of additional tools that work with the files. One such tool is grep, others are ctags and cscope; that is by no means an exhaustive list, and one could certainly write their own tools to do so.

      In fact, I'd argue it's more a function of the IDE to track that information as it provides editor and knows when things change so it can therefore keep this listing up-to-date instead of having to wait on the compilation to be done (which would have to be done if GCC were used).

      Now perhaps the real question you're getting as it how do you manage the linked binary with the source for debugging; but again, that's not the function of GCC; rather it is the function of debuggers such as GDB which also provides extensive hooks for IDEs to be able to manage that.

      All-in-all, you can use GCC and GDB under the GPLv3 in this manner and provide the functionality you specify, and deliver non-GPL software implementing it without violating the GPL (v2 or v3).

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    22. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      Why is it impossible to find out? You just track the original line number for every line of code, even after it has passed to the preprocessor. If, for example, one does "Go to definition" on an identifier, and it turns out to be a function that was a result of a macro expansion, you point the user at the line where said expansion happened. A good IDE will also let you hover over the macro on that line, and see the expansion.

      And then there is no definition because it's stitched out of "##". And on top of that, it uses conditionals that are only resolved in the middle of build. IDE would have to generate documentation, and then tell the user to read it, what would be a stupid thing to do.

      --
      Contrary to the popular belief, there indeed is no God.
    23. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      You really are supposed to have them in the documentation.

      ctags

      Did I recommend to use ctags? I said that ctags is a sufficient implementation of the feature that is unnecessary in the first place.

      --
      Contrary to the popular belief, there indeed is no God.
    24. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      And then there is no definition because it's stitched out of "##".

      Why would that matter? There's always a definite point at which the function declaration is, no matter how the identifier was obtained.

      And on top of that, it uses conditionals that are only resolved in the middle of build.

      A preprocessor conditional would depend solely on preprocessor symbols - either intrinsics, or the one that you yourself define. There's no reason why the IDE can't know both and use them to compute things in exact same way as your build does.

    25. Re:Go to definition of selected symbol by turgid · · Score: 1

      Have you ever actually tried to parse a declaration reliably using regular expressions?

      That's overkill. I find that for C source, a couple of very simple greps usually suffice, especially if the source is "nice". I don't do C++ any more, I managed to escape from that hell a few months back.

      You're right though, a tokenising parser is ideal, but they are very difficult to get right for certain languages (i.e. C++) and most IDE's implementations are buggy around the edges. I don't use an IDE.

      I'm quite content to work in vi (elvis) or vim with many xterms open with a different file in each. I don't need a "goto definition" since it's easy enough to grep through the files and have an xterm with vi/vim fired up ready to go.

      My code is very modular and my files are small, so it works.

    26. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      Why would that matter? There's always a definite point at which the function declaration is, no matter how the identifier was obtained.

      That "point" is in a human-unreadable output of the preprocessor. Sources may contain nothing but preprocessor macros, and identifier will be a combination of multiple such macros -- possibly from multiple files.

      A preprocessor conditional would depend solely on preprocessor symbols - either intrinsics, or the one that you yourself define. There's no reason why the IDE can't know both and use them to compute things in exact same way as your build does.

      Except they are generated as a part of build script by running some program and passed on the command line. Ex: any autoconfiguration mechanism. Until that program is built, IDE can't possibly know what is where. Worse yet, for a programmer it's not important to know what would happen on THIS system -- it's important to know what will happen on all other systems his software is going to be built.

      No matter what, language is complex because it is supposed to express many things and be used for many purposes. Any "simplification" reduces it to a much simpler model that is supposedly easy to use in some condition, but cripples flexibility that is necessary for more sophisticated uses. Just imagine what would happen if every time you tried to say or write anything in English, a seven years old kid jumped in after every word with his "helpful suggestions". Would you be able to speak at all?

      --
      Contrary to the popular belief, there indeed is no God.
    27. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      That "point" is in a human-unreadable output of the preprocessor. Sources may contain nothing but preprocessor macros, and identifier will be a combination of multiple such macros -- possibly from multiple files.

      It still doesn't matter. Ultimately, there's always a single line of code where all those macros are combined to produce something that the compiler can parse as a function definition. That line of code would correspond to the definition. It doesn't matter if there are a dozen nested macros producing it, what matters is where it all comes together.

      Except they are generated as a part of build script by running some program and passed on the command line. Ex: any autoconfiguration mechanism. Until that program is built, IDE can't possibly know what is where.

      So build it, and then the IDE knows. What's the issue? Do you routinely change build environment while developing?

      No matter what, language is complex because it is supposed to express many things and be used for many purposes. Any "simplification" reduces it to a much simpler model that is supposedly easy to use in some condition, but cripples flexibility that is necessary for more sophisticated uses. Just imagine what would happen if every time you tried to say or write anything in English, a seven years old kid jumped in after every word with his "helpful suggestions". Would you be able to speak at all?

      Last I checked, we were not talking about any simplifications, but rather the opposite - the ability of the IDE to completely understand the language that it's handling, with full fidelity for any code navigation or refactoring operations.

      If you want an example of simplification, that would be ctags - a tool that people try to use to parse declarations in many different languages using regular expressions of all things (which cannot be reliably used to parse even a moderately complicated grammar - C itself is a case in point). Thankfully, it does not at least use regex to parse C...

    28. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      It still doesn't matter. Ultimately, there's always a single line of code where all those macros are combined to produce something that the compiler can parse as a function definition. That line of code would correspond to the definition. It doesn't matter if there are a dozen nested macros producing it, what matters is where it all comes together.

      No.

      Behold:

      #define call_func_1(a,b,c) (a((b),#c))
      #define call_func_2(a,b,c,d) (a((b),#c,d))

      #define define_frob(a,b) \
          int convert_from_ ## a ## _to_ ## b(a arg1, b arg2) { \
              return call_func_2(convert_wrap_to,(void*)&arg2,b, \
                                    call_func_1(convert_wrap_from,(void*)&arg1,a)); \
          }

      define_frob(tera,milli)

      becomes:

      int convert_from_tera_to_milli(tera arg1, milli arg2) { return (convert_wrap_to(((void*)&arg2),"milli",(convert_wrap_from(((void*)&arg1),"tera")))); }

      Assuming, all three lines in the source come from different files included one after another, and their particular choices are determined by conditionals (say, type identifiers are not always strings). milli and tera are also "processed" in a some manner.

      This is a very simple example of preprocessor use, and yet jumping between source lines in search for convert_from_tera_to_milli() definition results with nothing but confusing gibberish.

      --
      Contrary to the popular belief, there indeed is no God.
    29. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      P.S. In the above example it's still visible that the resulting function most likely does not do what the programmer expects -- arg2 that looks like destination is passed by value, but then the pointer to it is cast to void* and passed to another function. This will only work if the type of the argument (milli) is a pointer to something, and convert_wrap_to() treats its argument as a pointer to pointer, what is a stupid and counterintuitive thing to do, as one pointer would be sufficient and unambiguous:


      #define define_frob(a,b) \
              int convert_from_ ## a ## _to_ ## b(a arg1, b *arg2) { \
                      return call_func_2(convert_wrap_to,(void*)arg2,b, \
                                              call_func_1(convert_wrap_from,(void*)&arg1,a)); \
              }

      But this is only visible because function body is straightforward -- in other cases, when types and dereferences are generated by other macros, it may be not.

      --
      Contrary to the popular belief, there indeed is no God.
    30. Re:Go to definition of selected symbol by denmarkw00t · · Score: 1

      How hard is it to start an editor flamewar these days? Ah, well, glad we could be civil about this...

      Oh, just saw your UID - wow. Awesome. Dang.

    31. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      Any sane IDE (e.g. VS, Qt Creator), when asked to "Go to definition" for convert_from_tera_to_milli, will point you at the line with define_frob(tera, milli) - as they should.

    32. Re:Go to definition of selected symbol by turgid · · Score: 1

      If you need to look at the source of everything every time you use it, you have a case of horrendously tight coupling,

      Correct, and much of the C++ code I've worked on suffers from this very badly, partly due to poor design but also because of the politically-correct misfeatures of C++ used in a misguided attempt to meet some sort of "best practice" standard...

    33. Re:Go to definition of selected symbol by turgid · · Score: 1

      Yet another good reason to avoid C++.

    34. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      This guy has a 3-digit UID and uses Emacs. Probably thinks C is the best thing in the world. He'd need to actually try a good IDE to be convinced. I realize the language is completely different, but for C# VS manages intellisense very well by compiling as it goes and interpreting the result. There is absolutely no reason why VS cannot do the same for C++, the information is there. It's just a matter of coding.

    35. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      You really are supposed to have them in the documentation.

      ctags

      Did I recommend to use ctags? I said that ctags is a sufficient implementation of the feature that is unnecessary in the first place.

      Hovering your mouse/hitting a shortcut is faster than reading pages and pages of source code/documentation for as trivial fucking things as seeing the definition or type of something. There is literally no reason why you would have to read the documentation to see function call arguments. None. If you wanna know what they do, how to pass them properly, figure out what exceptions your function throws, etc, then yes you go read the documentation. Anything that can be figured out by the IDE or compiler absolutely should be available to the programmer.

    36. Re:Go to definition of selected symbol by shutdown+-p+now · · Score: 1

      For the particular feature that has been the subject of this discussion, VS can already do what I'm describing. And it does, in effect, use the front-end of the C++ compiler to get symbol information, recomputing it in background as needed.

      I don't know how exactly Qt Creator works, but it can also do it, so yeah - it's not some kind of pie in the sky, it's already there today.

    37. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      Oh yes, it's possible to use IDE as if it is an editor with project manager and "build" button. But then it's a shit editor with shit build manager, and who in his right mind needs that?

      It's the same kind of argument as defense of C# and .NET infrastructure -- it's possible to claim that it has somewhat useful features, but not a single programmer in the world uses it for those features, everyone who uses it, uses it for Microsoft libraries and interfaces that it provides access to. (and this is why Mono is a stupid, pointless project with no excuse for its existence).

      --
      Contrary to the popular belief, there indeed is no God.
    38. Re:Go to definition of selected symbol by Alex+Belits · · Score: 1

      Why do you need to see a definition? What information does it contain, other than format? Of what use is it without the rest of documentation?

      It's the same thing that was attempted with Hungarian notation. Programmers could not remember types of their variables, and compiler constantly annoyed them with errors wen they got those types wrong. So they found great solution -- embed types into variable names. Now, a glance at a variable is sufficient to write code that is guaranteed to not produce any compiler errors. Too bad, a programmer who doesn't know the type is guaranteed to also not know how the variable actually works. But in the culture of "it compiles -- ship it!" that's not a problem. Who cares if the code is wrong -- argument types match, everything should work, right?

      --
      Contrary to the popular belief, there indeed is no God.
    39. Re:Go to definition of selected symbol by Anonymous Coward · · Score: 0

      Actually the language is quite useful as well, not just its libraries. Plus there's nothing stopping your IDE from having a proper editor. It seems that most of your complaints seem to be from lack of experience, or at least ignorance of what's out there.

  15. Re:deliberately obscured internals by Stallman et. by dragisha · · Score: 4, Interesting

    Stallman and others deliberately fought having APIs, proper documentation and to allow plugins for all parts of the GCC toolchain, to keep control of the thing.

    Mostly result of dispute with DEC SRC when GCC and parent FSF failed to enforce GPL on Modula-3. Moving target known as GCC internals has been problem ever since, mostly to "legitimate" GNU compiler developers.

    LLVM, on the other hand, made ingenious move with standard and open IR. Overall modular design is another boon.

    GCC was in blind alleys before. No real reason for them not to survive this one. Another EGC can happen, to pull GCC in future.

    --
    http://opencm3.net, http://www.nongnu.org/gm2/
  16. Not a bad idea by gman003 · · Score: 5, Insightful

    I've found that code that will compile properly under a variety of compilers tends to be of better quality.

    One of my current projects started out on an old 2.x branch of GCC. When I finally got around to updating to a current GCC, I had to fix quite a few bugs before it would actually work - the different compiler was catching problems I hadn't noticed before.

    Same when I tried compiling it under Visual Studio, or Clang - the more compilers I made it work under, the less bugs there were in the code.

    Now, if a given program actually uses some special feature of GCC, that's fine - if only one compiler will do what you need, that's fine. Or if it's too much work to maintain a "port" - I stopped maintaining the VS project files a while ago, since I no longer used it. But if you have a chance to at least test it against a different compiler, go ahead and give it a shot.

    1. Re:Not a bad idea by rubycodez · · Score: 1

      But in this context we're talking about operating system kernel and system libraries, those ALWAYS need compiler specific features. Just to make Linux compile on another compiler means modifying the code AND/OR the compiler, as Intel did

    2. Re:Not a bad idea by gman003 · · Score: 2

      How so?

      Seriously, what features? I've never tried to write anything as low-level as a kernel, but I can't think of much compiler-specific stuff besides a bunch of compiler detection to set up properly-sized typedefs. Maybe differences in assembly syntax?

      Also, clang was designed to be a drop-in replacement for gcc in many (not all) ways. Might make it easier for this case.

    3. Re:Not a bad idea by rubycodez · · Score: 4, Informative

      Linux depends on gcc-specific extensions, and not just typedefs but exact layout in memory (which C doesn't specify), in-line assembly syntax http://www.ibm.com/developerworks/linux/library/l-gcc-hacks/

    4. Re:Not a bad idea by Anonymous Coward · · Score: 1

      gcc had a bunch of extensions (runtime array size calculations, named struct element initialization, etc.) that were used in the Linux kernel. Some of them eventually became available in C99 because of popular use in gcc-compiled programs.

    5. Re:Not a bad idea by Anonymous Coward · · Score: 0

      clang supports a lot of gcc extensions and is generally compatible with it on inline assembly syntax.

  17. Gotta clang 'em all by tepples · · Score: 4, Funny

    But Clang also has many technical superiorities to GCC too. Wikipedia gives a quick outline of them.
    http://en.wikipedia.org/wiki/Clang

    And at the top right of that page is this picture. Which Pokemon is that?

    1. Re:Gotta clang 'em all by uberfrench · · Score: 0

      And at the top right of that page is this picture. Which Pokemon is that?

      This Pokemon: Dragon book

  18. What can be wrong with Clang! by aglider · · Score: 0

    Run time optimizations can be (are?) a very bad idea in a kernel, where very often the exact predictability of execution paths makes the difference between a working kernel and a misbehaving one.
    Clang can be a good solution for application programs, though, where a LLVM failure "just" harms a process.
    I am also concerned with different architectures running the same "binary" produced by Clang.
    But that's only my opinion.

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
    1. Re:What can be wrong with Clang! by mysidia · · Score: 1

      Run time optimizations can be (are?) a very bad idea in a kernel, where very often the exact predictability of execution paths makes the difference between a working kernel and a misbehaving one.

      Huh? No.

      If a code optimization causes a problem with the kernel, there is either a bug in the high-level code, where the constraints of the language have been violated by introducing an invalid runtime assumption, or a bug in the optimization procedure.

      If specific code output were required, it should have been entered explicitly in the lower level language.

    2. Re:What can be wrong with Clang! by Anonymous Coward · · Score: 0

      Clang compiles code to x86 (or whatever platform you have) bytecode, not the llvm intermediate language so there is no run-time optimization going on.

    3. Re:What can be wrong with Clang! by gtall · · Score: 1

      You haven't used any of the modern architectures then. We routinely have to shut off optimizations in kernel level and reatltime work simply because they cause incorrect code to be produced relative to the architecture we're targeting. You could argue that it is a problem with the architectures, and you'd be correct. But we don't make those.

    4. Re:What can be wrong with Clang! by Anonymous Coward · · Score: 0

      > Run time optimizations can be (are?) a very bad idea in a kernel

      Do you have a specific example of this other than your gut feeling?

    5. Re:What can be wrong with Clang! by shutdown+-p+now · · Score: 2

      Programs compiled with Clang do not use LLVM at run-time, for optimizations or otherwise.

    6. Re:What can be wrong with Clang! by rmav · · Score: 1

      Run time optimizations can be (are?) a very bad idea in a kernel, where very often the exact predictability of execution paths makes the difference between a working kernel and a misbehaving one.

      Well, with Clang/LLVM you can compile the kernel straight to the target architecture with run time optimization turned off, as well as building what else you want, for instance your applications, with run time optimization turned on. Easy as customizing your Makefiles.

      Roberto

  19. Date rape, seriously? by Anonymous Coward · · Score: 0

    I can't believe known troll Jeremiah Cornelius got +5 Insightful comparing BSD code contributions to date rape. Stop falling for the flamebait, people.

    Clang isn't "proprietary software", and this scare scenario about BSD code getting walled off and lost forever has never happened in all the years of BSD and never will happen, because the original source still exists, and people would just contribute competing features under the BSD license and negate the company's closed changes.

    1. Re:Date rape, seriously? by Anonymous Coward · · Score: 0

      I can't believe known troll Jeremiah Cornelius got +5 Insightful comparing BSD code contributions to date rape. Stop falling for the flamebait, people.

      Something has to counter known troll bonch getting modded up for his GPL bashing tripe in a story that has nothing to do with the GPL.

  20. Gcc falls short on some technical merits by perpenso · · Score: 4, Interesting

    ... Which is hilarious because it is the BSD fundamentalists who are re-implementing huge projects just to avoid a license they don't like for no reason other than political correctness ...

    Untrue. Gcc is handicapped by political decisions in it technical design. It intentionally does not allow "others" to plug into some "internals". "Internals" that would facilitate other tool builders, especially those creating a graphical integrated development environment.

    LLVM/Clang doesn't come with such technical baggage. Its modular rather than monolithic. It is a newer code base that is far easier to work with, even gcc devs moan about the bloat/complexity of their code base. Nearly all long lived project reach a point where it is better to toss the legacy code out and start from scratch, gcc may have very well surpassed that point.

    And on some platforms LLVM/Clang simply generates better code.

    1. Re:Gcc falls short on some technical merits by mysidia · · Score: 2

      Untrue. Gcc is handicapped by political decisions in it technical design. It intentionally does not allow "others" to plug into some "internals". "Internals" that would facilitate other tool builders, especially those creating a graphical integrated development environment.

      Software you can't plug-in to and interoperate with? Isn't that the opposite of free software?

    2. Re:Gcc falls short on some technical merits by Nutria · · Score: 2

      Software you can't plug-in to and interoperate with? Isn't that the opposite of free software?

      No, but it does seem to go against the spirit.

      --
      "I don't know, therefore Aliens" Wafflebox1
    3. Re:Gcc falls short on some technical merits by dkf · · Score: 0

      No, but it does seem to go against the spirit.

      The impression I've found from working in open source over the years is that the GPL (especially as interpreted by the FSF) is all about the letter of the license, and not the spirit. Since I won't drink that particular Kool Aid, I avoid the GPL. I don't develop for code-bases that use it; if there's a bug that affects me, I just shrug and try to find some other solution. (The LGPL is OK, but I won't actively select it for my own projects.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    4. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      Why don't you ask RMS that? He designed gcc specifically to be less useful. Then he has the balls to go around claiming other peoples software is defective by design and start a big shitstorm.

    5. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      It intentionally does not allow "others" to plug into some "internals".

      The GPL always, and in every case, allows everyone to plug into whatever internals they wish. All it requires is that they, in turn, allow others to do the same with their work.

    6. Re:Gcc falls short on some technical merits by Nutria · · Score: 1

      all about the letter of the license, and not the spirit.

      Regarding the GCC intermediate product being obfuscated, maybe they're doing it to reduce coupling.

      --
      "I don't know, therefore Aliens" Wafflebox1
    7. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      >intentionally does not allow "others" to plug into some "internals".

      Wrong. Please stop spreading old info and now what is considered FUD. Plugins are supported. Just there is no standard API but standardizing on an API will cause the internals of GCC not be able to evolve that much.

    8. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      It intentionally does not allow "others" to plug into some "internals".

      The GPL always, and in every case, allows everyone to plug into whatever internals they wish. All it requires is that they, in turn, allow others to do the same with their work.

      However such changes that go against the political concerns of the FSF will never get incorporated into the official source tree and you will be redoing those changes every time you change versions.

    9. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      >intentionally does not allow "others" to plug into some "internals".

      Wrong. Please stop spreading old info and now what is considered FUD. Plugins are supported. Just there is no standard API but standardizing on an API will cause the internals of GCC not be able to evolve that much.

      “... is there a reason for not making the [GCC] front ends dynamic libraries which could be linked by any program that wants to parse source code?”

      To this the Richard Stallman personally responded:

      “One of our main goals for GCC is to prevent any parts of it from being used together with non-free software. Thus, we have deliberately avoided many things that might possibly have the effect of facilitating such usage ...”


      http://www.cocoanetics.com/2012/03/podcast-27-copyright-bullish/

    10. Re:Gcc falls short on some technical merits by Anonymous Coward · · Score: 0

      He was talking about GCC, not GPL.

    11. Re:Gcc falls short on some technical merits by shutdown+-p+now · · Score: 2

      No, they're doing it to make sure that you can't extend GCC in any way, shape or form without those extensions themselves being under GPL. That's why Stallman always hated the idea of a publicly documented intermediate language - because it would allow third-party authors to write tools to process that IL (e.g. optimizers), which, because they don't link with GCC, wouldn't be 'derived works' in legal sense.

      It's all laid out pretty clearly in their license for the runtime library - have a read.

  21. Code quality may vary with platform by perpenso · · Score: 3, Insightful

    The quality of the generated code, however, is significantly worse, at least at this time.

    That may not be accurate. My understanding is that on some platforms LLVM/Clang has the advantage.

  22. Incremental recompilation by tepples · · Score: 1

    The only valid way of integrating compiler with custom tools is calling the compiler from them

    So when will GCC provide a way to recompile one function within a translation unit without recompiling all other functions within the same translation unit? Does it already?

    1. Re:Incremental recompilation by Alex+Belits · · Score: 1

      So when will GCC provide a way to recompile one function within a translation unit without recompiling all other functions within the same translation unit? Does it already?

      It's completely unnecessary, unless someone writes "translation units" with tens of thousands of functions. And then the problem is not with the compiler.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Incremental recompilation by ommerson · · Score: 2

      It's entirely necessary if using the compiler to drive code completion, syntax highlighting and in-edtior display of compiler errors and warnings. All of these are things are highly interactive and users will notice the lag of GCC getting invoked every time they type a character in their editor. GCC's clunky pre-compiled header support really doesn't help matters.

      Of course, as I said earlier, lots of tools have provided this kind of functionality without deep integration of the compiler into the editor, but ultimately to do it properly, you'd still be looking at a great deal of effort to implement the first couple of stages of the compiler pipe-line and get an AST (or equivalent).

    3. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      It's entirely necessary if using the compiler to drive code completion, syntax highlighting and in-edtior display of compiler errors and warnings. All of these are things are highly interactive and users will notice the lag of GCC getting invoked every time they type a character in their editor.

      Prepare for the onslaught of 'anyone who needs those things isn't a real programmer', it's really the only response to that.

    4. Re:Incremental recompilation by Vintermann · · Score: 1

      Necessary? Well no, I guess not, but then makefiles aren't necessary either. You could just recompile everything every time.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    5. Re:Incremental recompilation by Alex+Belits · · Score: 1

      No, my point is that if you can benefit from any of those things, you are not a programmer at all because your thinking is incompatible with programming. For a programmer all those things look like those idiotic ad-links popups that some Javascript monstrosity overlays over all texts subjected to it. The functionality is equivalent to giving crutches to a marathon runner.

      --
      Contrary to the popular belief, there indeed is no God.
    6. Re:Incremental recompilation by Alex+Belits · · Score: 1

      No.
      Makefiles are necessary because projects may contain tens of thousands of files for very legitimate reasons.

      Incremental compilation is only necessary if programmer is a dumbass.

      --
      Contrary to the popular belief, there indeed is no God.
    7. Re:Incremental recompilation by Vintermann · · Score: 1

      I already said it wasn't necessary. I pointed out it can save time. The way code is split out across multiple files is rarely done in a way optimal for recompilation speed.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    8. Re:Incremental recompilation by TemporalBeing · · Score: 1

      It's entirely necessary if using the compiler to drive code completion, syntax highlighting and in-edtior display of compiler errors and warnings. All of these are things are highly interactive and users will notice the lag of GCC getting invoked every time they type a character in their editor. GCC's clunky pre-compiled header support really doesn't help matters.

      If you're doing it with tight compiler integration then you're doing it wrong.

      Of course, as I said earlier, lots of tools have provided this kind of functionality without deep integration of the compiler into the editor, but ultimately to do it properly, you'd still be looking at a great deal of effort to implement the first couple of stages of the compiler pipe-line and get an AST (or equivalent).

      What those tools do have nothing to do with the first stages of compilation; and can be achieved a lot simpler than doing a compilation stage.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    9. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      Everyone bow down to the programming god that Alex Belits. The real programmer, the man, the god. His way is the one true way, all others are shit.

      I've been at this game for at least as long as you (if the linked in profile I found for Alex Belits is you), similar work history, etc, etc. I've used the work flows you are describing, and used them very effectively, but I've also used the more "modern" tools as well for about the same amount of time and you can be in every way just as effective. Sometimes they get in the way, sometimes they do a much better job in eliminating keystrokes (without reaching for the mouse) than the old school tools.

      Quite frankly the only shit I see here is the shit you are full of. You really are coming off as an arrogant prick.

    10. Re:Incremental recompilation by ommerson · · Score: 1

      I'd personally consider myself to be a Engineer rather than a programmer (to be precise, I'm a professionally qualified electronics engineer who engages in software and hardware engineering). Cutting the code is a small fraction of what I do, and I tend to do it a variety of programming languages on multiple platforms.

      I'm really not in the business of having a dick-waving contest about how hardcore my tools are (an argument that is usually advanced in terms of their lack of features). Instead I expect them to help me along the way.

      Modern, commercially developed IDEs genuinely improve my productivity, and I really notice their absence when working for platforms without them.

    11. Re:Incremental recompilation by smellotron · · Score: 1

      The way code is split out across multiple files is rarely done in a way optimal for recompilation speed.

      Both libpthread and libncurses are split out with very few externally-visible functions defined per translation unit. They are very close to being optimal on my platform (Linux, x86_64) in that static linkage will include only the translation units required and not the entire archive file. I'm sure that there are many other C libraries like this (C++ probably not as much due to templates and inline class member functions).

    12. Re:Incremental recompilation by Alex+Belits · · Score: 1

      O RLY?

      --
      Contrary to the popular belief, there indeed is no God.
    13. Re:Incremental recompilation by Alex+Belits · · Score: 1

      You wouldn't need those IDEs (and wouldn't write as many bugs, and certainly wouldn't call software development "cutting the code") if you studied software development without them.

      This is one of the problems with "convenient" tools -- people who would otherwise spend additional 2-3 weeks before they produce the first result and eventually learn to develop software in an efficient and safe manner, pick up the tool, get semi-working result immediately, and are forever stuck at the amateur level. In production environment it causes everything from inefficiency to massive disasters.

      At the amateur level (what, I believe, more people can notice) the same happens with Arduino and its super-retarded monolithic environment.

      --
      Contrary to the popular belief, there indeed is no God.
    14. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      Why am I not surprised. Mental note. Do no work with Alex Belits, does not play well with others.

    15. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      No, really, the only difference is that we code faster than you and more efficiently. We've worked with worse tools before. We've grown and moved on. It is sad that you cannot, but don't confuse this with being a better programmer. You're the same average programmer as anyone else, except you refuse to use better tools.

    16. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      It translates to "real programmers are smart enough to do things the hard way."

      Nothing more than macho jock prick-waving in geek clothing.

    17. Re:Incremental recompilation by Alex+Belits · · Score: 1

      No, really, the only difference is that we code faster than you and more efficiently.

      And what have you built with those supposedly superior tools?
      I worked on all kinds of software from bootloaders to phone call processing applications and from Linux drivers to real-time DSP, on architectures from PDP-11 to Intel, ARM and MicroBlaze. Each of those projects was a great success. At no point anyone complained about quality or timing of my work. Someone in this thread, possibly you, already found my resume and said something stupid about it, so it should be easy to verify all that. What about you? Wait, don't answer that. I already know the answer.

      We've worked with worse tools before. We've grown and moved on. It is sad that you cannot, but don't confuse this with being a better programmer.

      Just because you are saying so, does not make it true. Let's see how convincing it will sound with some words substituted:

      We've tried to walk without crutches before. We've grown and moved on. It is sad that you cannot, but don't confuse this with being a better marathon runner.

      Just about as convincing, and just about as valid.

      You're the same average programmer as anyone else,

      I am not an average programmer. Average programmer is an ignorant hack who has no business doing anything that involves logic, algorithms or data. In 90's hundreds of millions of those creatures were produced by crash course schools all over the world. Average programmers would destroy civilization if there weren't non-average programmers constantly fixing the problems they create, and it's a miracle that anything still works at all with those people still present.

      except you refuse to use better tools.

      Your "better tools" are in the same pile of crap that Hungarian notation was 5-10 years ago -- then retards such as yourself were telling me that I refuse their great programming techniques that vastly expand their capability for keeping track of your project. Now, even Microsoft, where that crap originated, banned it. Before that it was "rapid prototyping". Then Microsoft that also was among the greatest proponents of it, banned it. Just a few years ago it was "managed code" that was touted as a panacea, and Microsoft, a major proponent and originator of the term, is already falling over itself to purge it from its products.

      This is all that there is to it -- all those "technologies", "methods" and "products" are injected into your mind by Microsoft, a company that constantly claims that it found a way for stupid people to do something smart, and just as constantly is proven to be wrong about it.

      Visual Studio (and please don't tell me that you mean anything else by "IDE" -- you judge quality of all other IDEs by how closely it imitates Visual Studio) is one of those idiotic "get-our-product-and-it-will-make-you-smarter" products, and idiots never stop falling for those things. In reality it's at best a crutch that is only useful for a cripple, at worst an influence that turns a healthy person into a cripple.

      --
      Contrary to the popular belief, there indeed is no God.
    18. Re:Incremental recompilation by Alex+Belits · · Score: 1

      You save 10 milliseconds per compile cycle (likely at the expense of not properly tracking dependencies, thus breaking parallel compilation). Good luck finding a situation when this is not actually slower in the end.

      --
      Contrary to the popular belief, there indeed is no God.
    19. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      You're a complete idiot. You're basically saying that using calculators makes you a dumb mathematician. Complete and utter bullshit. A mathematician realizes the power that his calculator gives him, uses his previous experience of working with manual calculations ALONG WITH HIS BETTER TOOL. No knowledge is lost, you simply do more work more efficiently, with less mistakes along the way. IDEs do not turn you into morons. Morons stay morons. Refusing to admit that you admit that you are an average programmer is one of your deficiencies. This makes you think that using Emacs somehow makes you a better programmer. It doesn't. You're just slower than a programmer of your skills with better tools.

      The crutch analogy makes no sense. Using a hammer instead of your head to drive nails isn't a crutch. This might be hard to believe when you're a self-acclaimed programming god of 130 years of age. But right now, other than making yourself look like an egoistical prick who believes he can outcode anyone just because he refuses to use type information you're not accomplishing much.

      And no, I'm not the one who talking about your resume. I couldn't give half a shit about it and wouldn't hire you. Even if you outperformed 100 juniors, you have a ridiculous attitude of be littering anything that can make your life easier (without actually degrading your skill set) and that is detrimental to being efficient.

      I'd rather hire the 130 years old neckbeard who can outcode you because he's not stuck in the mentality that easier is automatically skillless crap.

      Linux drivers to real-time DSP, on architectures from PDP-11 to Intel, ARM and MicroBlaze.

      And I suppose you sometimes use a debugger for this? What a crutch. Real men calculate the values and guess when there's memory corruption from a faulty driver. Go back to your toy code you worthless scrub.

    20. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      Gratuitous spell/grammar/logic check pass:

      You're a complete idiot. You're basically saying someone using a calculator makes him a dumb mathematician. Complete and utter bullshit. A mathematician realizes the additional power that his calculator gives him, uses his previous experience of working with manual calculations ALONG WITH HIS BETTER TOOL. No knowledge is lost, you simply do more work more efficiently, with less mistakes along the way. IDEs do not turn you into a moron. Already existing morons simply stay morons. Refusing to admit that you are an average programmer is one of your deficiencies. This makes you think that using Emacs somehow makes you a better programmer. It doesn't. You're just slower than a programmer of your skills with better tools.

      The crutch analogy makes no sense. Using a hammer rather than your head to drive nails isn't a crutch. This might be hard to believe when you're a self-acclaimed programming god of 130 years of age. But right now, other than making yourself look like an egoistical prick who believes he can outcode anyone just because he refuses to use type information you're not accomplishing much.

      And no, I'm not the one who commented about your resume. I couldn't give half a shit about it and wouldn't hire you. Even if you outperformed 100 juniors, you have a ridiculous attitude of belittling anything that can make your life easier (without actually degrading your skill set) and that is detrimental to being efficient.

      I'd rather hire the 130 years old neckbeard who can outcode you because he's not stuck in the mentality that easier is automatically skillless crap.

      Linux drivers to real-time DSP, on architectures from PDP-11 to Intel, ARM and MicroBlaze.

      And I suppose you sometimes use a debugger for this? What a crutch. Real men calculate each variable's value every frame and guess when there's memory corruption from a faulty driver. Go back to your toy code you worthless scrub.

    21. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      Actually I think I'm the one who commented on the resume (I'm assuming it was my post about finding his linked in profile, based on what he said about his work experience after the fact I'm damn sure it's him now). All I did was say that we both came from similar backgrounds (in terms of experience, length of experience, and shipped products). Not sure how that translates to something stupid in his mind (maybe he meant there's no way that anyone could be on par with him and still disagree with him...would certainly fit this arrogant mindset).

      The rest of my post was essentially what you were saying, but you said it better. *tip of the hat*

      This is definitely someone I wouldn't hire either, or recommend to anyone. Don't care what your programming chops are, I don't need this kind of attitude on my teams. It's not worth it.

    22. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      Ok, wow, just wow....so much in here that just screams idiot. Might be a decent hacker, but a damn idiot in all other respects. Where to even begin? So many assumptions based on no real knowledge...Actually fuck it. There's no real point in going over this post line by line. Suffice it to say put your "code" cock away. It's not that impressive, especially to me who from what I can tell has done way more than you in far more fields and for much longer (based on your comments and resume, yes I looked it up too). And no, I'm not going to put my real name in here, there are too many reasons for remaining anonymous when dealing with your type. (and is probably the reasons why the others are as well).

      Whoever said this type of person doesn't know what they are talking about and is usually full of themselves is spot on. But hey, you've just done many of us a favor, weeding out your type during the interview process is hard, thanks for making yourself known.

    23. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      He has his homepage linked, you can have more examples of his stupid condescending rants about how everyone else can't code and how he's perfect at designing systems (he even plays the whole "people who use higher level things don't know shit" card in one of his self-pleasuring articles)

    24. Re:Incremental recompilation by Anonymous Coward · · Score: 0

      The sad thing is that he actually believes what he's writing. He also doesn't seem to realize that the "Documentation" for functions is often written in code comments, which happen to be right there when you "Go To Definition". If you need more than that, then you do the same thing you would've always done anyway: open the web browser. Arguing with someone suffering from the Dunning-Kruger effect is probably never a good idea...

  23. FreeBSD 10 = FreeBSD X by Anonymous Coward · · Score: 0
  24. Like by liquidhokie · · Score: 1

    [oops... wrong web site]

  25. GCC's move to GPLv3 caused this. by ruinevil · · Score: 2

    I believe it was really the Tivozation rule of GPLv3 that forced FreeBSD to abandon GCC in their base. FreeBSD wanted to ensure that a specific version of GCC would be in their highly integrated base operating system. The FreeBSD base has no real comparable analogue in the Linux world, but its a system that is tested and designed to work together from the pseudocode to the final compiled product. GPLv3, with its Tivozation clause, however, made this tying together essentially illegal.

    Also the BSDs have long since desired to remove GCC from their base system simply because it has a different license than the rest of the base. They attempted using PCC, but the code it produced was not optimized to a level comparable with GCC. clang/LLVM however, is both BSD licensed and produces well optimized code. Its also newer and cleaner code; sometimes rebuilding everything from scratch helps (though usually not).

  26. Insightful, not troll. by turgid · · Score: 0, Flamebait

    Corporate shill/anti-Free Software mods.

  27. 'Tivoization' a problem? by unixisc · · Score: 3, Informative

    Of course, its a pity, because even if if you Tivoized GPLv2 code you still had to share your source so people could learn from it, or use and modify it on other (or jailbroken) hardware, whereas now people are moving to BSD-style licenses with no such benefits... but if the FSF want to let the perfect be the enemy of the good, declare jihad on Tivoization and have a tilt at the patent windmill, that is their right.

    This is absolutely the case! When TiVo was complying w/ GPLv2, the FSF suddenly discovered a major objection to their practice - namely, that they were putting the code in read-only devices, and declared a jihad on the company. However, even GPLv3 doesn't explicitly say that GPL software cannot be put on a Read-only memory (which would again violate the GNU's Freedom #3) or copy-protect memory (which could prevent the device that contains the software from getting copied) or anything else about the devices that the software can reside on.

    As you very well put it, it's one more of those cases of the perfect being the enemy of the good, and in the process, the FSF waging a war on its own licensees, namely TiVo. Given that track record, which company in its right mind, even if they endorsed the liberation of software, would want to get into bed w/ the FSF?

    1. Re:'Tivoization' a problem? by marcello_dl · · Score: 1

      > namely, that they were putting the code in read-only devices

      without making the source available under the terms of the gpl, I guess?

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    2. Re:'Tivoization' a problem? by Gadget_Guy · · Score: 1

      Why guess about this, when it is so easy to google "Tivo GPL" or "Tivoization". From Wikipedia:

      Tivoization (pronounced "Teevo-ization") is a term coined to describe the creation of a system that incorporates software under the terms of a copyleft software license (like the GPL), but uses hardware restrictions to prevent users from running modified versions of the software on that hardware.

      If the problem was simply that they were in violation of GPL v2 by not releaing the code, then there would not have been a reason to create a whole new license to address this.

    3. Re:'Tivoization' a problem? by jbolden · · Score: 1

      and declared a jihad on the company

      They didn't declare a jihad. They indicated that TIVO had exposed a problem with the license and sought to fix it. Particularly since at the time what TIVO was doing was likely to become more mainstream with things like the Palladium initiative.

      Given that track record, which company in its right mind, even if they endorsed the liberation of software, would want to get into bed w/ the FSF?

      Companies that want to help a competitor get sued. Or companies that provide something ancillary to free software. 3rd tier players looking to establish niches. But in general few. Very few companies have ever gotten in bed with the FSF through its almost 30 year history. The FSF is rather anti-corporate.

      On the other hand lots of companies have successfully used the GPL. It was seen as too strict for many years and then it wasn't.

    4. Re:'Tivoization' a problem? by unixisc · · Score: 1

      Labelling the problem as 'Tivoization' was pretty much an act of bad faith, even if they didn't actually have Tivo in mind as a violator but rather, a shortcoming of GPLv2. It's a reflection of their anti-corporate profile.

      GPLv3 is great if a software project wants to release it in such a way that its competitors can use it, but not improvise on it and then release the improvized software. From that angle, it's good, and even GPLv2 satisfied that. However, granting all users patents that may otherwise accidentally get violated is nothing but an act of bad faith, and the termination clauses, which would allow any author to revoke their license in the event of a violation, is what makes it a double edged sword for the user.

    5. Re:'Tivoization' a problem? by jbolden · · Score: 1

      However, granting all users patents that may otherwise accidentally get violated is nothing but an act of bad faith,

      What it is an act of is an attempt to use copyright law to address a problem in black letter patent law. A patent creates a way to violate the spirit of GPLv2 without violating the letter. The purpose of the GPLv3 is to close these kinds of loopholes.

      and the termination clauses, which would allow any author to revoke their license in the event of a violation, is what makes it a double edged sword for the user.

      Most commercial licenses have termination clauses. Further the GPLv2 likely had an implicit termination clause. If you object to termination clauses you object to US copyright law in general. This isn't something the FSF has any control over.

  28. So What ? by Anonymous Coward · · Score: 0

    Buy different hardware. Or God Forbird - BUILD YOUR OWN hardware. I am still waiting for a computer realized as two or three large FPGAs, some memory, ethernet and USB transceiver, RAMDAC.
    Regarding the "will not be fast enough" argument; do we really need these power-hungry monsters with multi-gigs of RAM and a 300Watt graphics card ? Do we really need these wasteful program paradigms we use today ? I fondly remember sitting in front of an excellent HP 9000/715 workstation, which had all the features I use with a computer today. I had internet, a browser, video, audio, a C++ compiler, multiple users, X11, ODT Window Manager (looking nice, being a bit strange though).

    IT RAN ON 100 MHz, 96Mbyte RAM !

    1. Re:So What ? by ChrisMaple · · Score: 1

      An FPGA will always be more wasteful of power than an equivalent hardwired solution.

      --
      Contribute to civilization: ari.aynrand.org/donate
  29. Re:deliberately obscured internals by Stallman et. by Carewolf · · Score: 1

    GCC was in blind alleys before. No real reason for them not to survive this one. Another EGC can happen, to pull GCC in future.

    GCC is doing just fine and there is plenty of cooperation between clang-developers and GCC-developers. As always, the war only exists in the minds of the fanboys on each side.

    Btw, the latest improvement in GCC is to move new development to C++ which will allow for much cleaner and more maintainable code.

  30. Obligatory by Anne+Thwacks · · Score: 1

    I am a bogeyman, you insensitive clod

    --
    Sent from my ASR33 using ASCII
  31. Nested functions! by Anonymous Coward · · Score: 0

    I hope one day GCC fix the security issue of nested functions, and Clang actually implements nested functions. Nested functions as context manipulation is extremly useful in large code bases.

    1. Re:Nested functions! by Lisias · · Score: 1

      Nested functions as context manipulation is extremly useful in large code bases.

      I think that static functions and a clever use of the file system are a better alternative.

      Nested functions are nice in a small scale, but once the code grows the file becames a huge monster hard to parallelize development (and to maintain).

      I remember my Pascal times - I endup giving up nested functions in favor of modules very fast.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
  32. GCC license by maestroX · · Score: 3, Interesting

    GCC doesn't need GPL, a freeware license would suffice.

    Over the years I've read and analyzed the sources and consistently found the source to be as readable as the binary code, regardless of platform.

    Compiler developer forums seem to confirm my findings with frequent comments and insults on GCC like:

    • "you retard GCC haxxors do macro-ni and spaghetti all day! "
    • "how do I build XXX frontend for GCC?" [first and last post of many aspirant compiler developers]
    • [primordial grunt] "<junk>" [poster last seen on VB forum]

    Nonetheless, I praise the omnipotence of GCC, as long as I'm not the first guy on a new platform.

  33. Can I re-license Clang under GPLv3? by Anonymous Coward · · Score: 0

    Is the BSD license flexible enough for that?

    1. Re:Can I re-license Clang under GPLv3? by larry+bagina · · Score: 1

      Yes.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  34. Against copyright *is* against the GNU GPL by cbhacking · · Score: 1

    GNU (especially in the context of the GPL) is very much strongly in favor of copyright. Without copyright law, there's no way to legally enforce the GPL. Copyright licensing law is exactly how the GPL prevents people from taking a project, forking it, and making it proprietary.

    Now, you can certainly claim that, as a libertarian, you're just fine with people having the ability to do that, but that's fighting the GPL (even if you personally would honor it, you're still fighting against what it stands for - the protection against misuse by the unscrupulous).

    --
    There's no place I could be, since I've found Serenity...
    1. Re:Against copyright *is* against the GNU GPL by Anonymous Coward · · Score: 0

      Not exactly: I think you will find that most libertarians support contracts.

      Change GPL's legal basis to be contractual instead of copyright and they will probably have more buy in. ...disregarding the fact that the neo-EULA regime would probably take 30 seconds to become as onerous as the current MAFIAA DRM nightmare.

      And I say this as a libertarian.

    2. Re:Against copyright *is* against the GNU GPL by peppepz · · Score: 1

      "Very much strongly" in favor of copyright? Not quite. At least Stallman is in favour of experimentation to reduce the strength of copyright laws. http://www.gnu.org/philosophy/misinterpreting-copyright.en.html

    3. Re:Against copyright *is* against the GNU GPL by pankkake · · Score: 1

      Exactly. But the GPL haters don't want you to know that.

      --
      Kill all hipsters.
  35. All of this bickering misses the point by Jeff- · · Score: 4, Insightful

    I'm a 10 year+ FreeBSD contributor. You're all missing the point. Linux and BSD target different markets and are optimized in all ways, organization, release process, license, code, to fit these different needs. One isn't better or worse. Obviously Linux is larger in all ways than BSD but larger doesn't mean better or we'd all just be using windows. This isn't a question of llvm being better than gcc, bsd being better than linux, or bsd license being better than gpl. They are just different and do different things. Use what's appropriate for your needs and leave it at that.

    I can say as a long time contributor to opensource software I am disgusted at reading the comments of blowhard 'enthusiasts' who denigrate the hard work and contributions of hundreds of people when they get in these pissing matches. I am friend with Linux kernel contributors and I can guarantee we don't flame each other in this manner.

    1. Re:All of this bickering misses the point by catmistake · · Score: 1

      You forgot to mention that BSD rulz while Linux droolz. I hope this clears things up for everyone ;-)

    2. Re:All of this bickering misses the point by Dasher42 · · Score: 1

      Not to worry. They typically outgrow these flamewars about ten to fifeen years after they're done with "My dad can beat up your dad."

    3. Re:All of this bickering misses the point by Anonymous Coward · · Score: 0

      I'm a 10 year+ FreeBSD contributor.

      You just turned 10. Gosh, coders are getting younger and younger every year...

    4. Re:All of this bickering misses the point by Anonymous Coward · · Score: 0

      I applaud you, sir.

    5. Re:All of this bickering misses the point by Anonymous Coward · · Score: 0

      Plus one on this! I contribute Linux kernel code, but use OS X as my main desktop and am personally sick of getting flamed for it here on /.

      There is no need for religion... On here, or in life :)

  36. Use of Java/Apache vs C/C++/Gnu by theshowmecanuck · · Score: 2

    I know there are reports that C is even with Java again. But what you say made me wonder about this. Despite what Java advocates say, the idea of the app server and enterprise Java was not new to Java. There were and still are brokers around that do much of what a Java app server does, but using C/C++. Tuxedo is one. The thing I am thinking about however, is that Java started a heyday when groups like Apache came around and there was a huge resource of Java utilities and helpers and libraries that were free, and free of encumbering licenses like the GNU license. And Apache thrives despite not having the clause that says you have to give your code away if you use any part of theirs'.

    I'm theorizing that Java took off because despite being further behind in enterprise architecture than C at the time (remember Tuxedo et al), it had a support community that didn't encumber the companies, so they backed this stream. C which also has a ton of libraries, but was hamstrung by GNU and thus falling behind in business use case libraries (and those being made being GNU laden and repulsive to most businesses). I see this as the reason for Java's rapid rise. I think it has faltered lately with the crap Oracle has and is trying to pull with Java which is although at the opposite end of the spectrum is just as hampering to other businesses as is the GNU license.

    Anyway, maybe with a BSD (and Apache like... although yes, Apache is really BSD-like) licensed compiler, and maybe the founding of an Apache like foundation (how about C is for Comanche?), the C language can take off again.

    P.S. as to your route around the license by using other types: of course you're right. It is like all software. If you bring in something that people are supposed to use at work say, but the software makes it harder to do than by hand, people will start doing things by hand again. Even if it is slightly easier but it makes it frustrating for whatever reason, they will find some other way to do the work. It takes people with real foresight to understand this though.

    --
    -- I ignore anonymous replies to my comments and postings.
    1. Re:Use of Java/Apache vs C/C++/Gnu by Anonymous Coward · · Score: 0

      Java's big splash in this space was J2EE and the idea of a "standard app server". When they introduced this, there was something like 200 companies offering different appservers/message queues/transaction servers, and within a few years most of them were gone (or hidden behind J2EE frontends).

      Apache utility libraries may have helped, but it certainly wasn't the main factor.

    2. Re:Use of Java/Apache vs C/C++/Gnu by theshowmecanuck · · Score: 1

      Sorry you were only able to focus on one aspect of what I was saying and unable to comprehend the whole.

      --
      -- I ignore anonymous replies to my comments and postings.
    3. Re:Use of Java/Apache vs C/C++/Gnu by Anonymous Coward · · Score: 0

      Nope, I got it, just think you're wrong. Pre-J2EE appserver world was too fractured and CIOs couldn't wait to dump it.

    4. Re:Use of Java/Apache vs C/C++/Gnu by Raenex · · Score: 1

      I'm theorizing that Java took off because despite being further behind in enterprise architecture than C at the time (remember Tuxedo et al), it had a support community that didn't encumber the companies, so they backed this stream.

      Java took off because C/C++ are a bear to work with, the time was right, and Sun was good at marketing, not because of some Apache libraries that were developed behind the popularity of Java.

    5. Re:Use of Java/Apache vs C/C++/Gnu by jbolden · · Score: 1

      C which also has a ton of libraries, but was hamstrung by GNU

      At the point where Java took off GCC was not a very good compiler and was not a major player. The Linux kernel guys had had to fork it to try and get anything less than terrible performance. Intel's, Watcom, Microsoft, and a 4th I'm forgetting were the big players. In the early 2000s the technical disadvantages of GCC were still rather well known. We are in a rather unusual window for GCC where it seen as not just an open compiler but one of commercial quality.

      That doesn't change your point because of course commercial licenses are encumbering as well but factually GCC's GPL status had little if any impact on the mainstream client/server computing of the mid 1990s.

    6. Re:Use of Java/Apache vs C/C++/Gnu by theshowmecanuck · · Score: 1

      This modifies what I said a little, but not much. The change would be: C had either a very restrictive open source license or very restrictive closed source licenses. Java had an open license that at the same time didn't require companies to give away code they spent a ton of money to develop. Then Apache came along and made it even sweater by expanding the code base with even more open license will still not forcing companies to give away their code. And remember that a lot of the early app servers used at least some Apache code in them, or borrowed from it heavily.

      With C if you used a closed source compiler you 1) probably wanted to make enough off your code to pay it off, and two even if you gave your code away the average person wouldn't use it because they would have to pay for their own compiler. And if they didn't pay for their own compiler, they wouldn't be able to use the closed source code unless the person wrote that into the license except, often that code used closed source libraries not amenable to open sourcing. And companies didn't want and still don't want to give their code away with the GNU license (except for a very few).

      So, if you were a company that had the option between two languages that would accomplish the same ends, which would you choose? The one that had free or very inexpensive development tools and libraries backed by a large community with even more open yet unrestrained (as in they don't force you to give away code) libraries. Or would you go with the language that had more restrictive libraries and a smaller community... certainly not having anything Apache-like (in terms of scale).... with a flip side of being very restrictive with the GNU license forcing you to give your code away often negating any chance of making money from it after you spent money developing it.

      Many companies went the Java route. There had to be a reason. And this is my theory on why. And it reflects on the terms of the license. I've worked on huge projects in the past. And I know the large Java projects were always using Apache code or code from projects with BSD or Apache-like licenses. There was very little GNU stuff happening and of that it was mostly server side so they wouldn't have to give away their code. If they changed the GPL to force companies to give away their server side code, you would see either open source projects shy from it (like many do from the v3) and certainly no company using that code at all.

      --
      -- I ignore anonymous replies to my comments and postings.
    7. Re:Use of Java/Apache vs C/C++/Gnu by jbolden · · Score: 1

      I understand how you are reasoning through your essay. But no, that is not what happened at all. This is like one of those fiction pieces where you have people from a different time period responding to the events, like Liberty Kids which has kids with a totally modern mindset during the revolutionary war.

      People back in the early to mid 1990s didn't think about compiler licenses much. For several decades compilers all had licenses which, unless you were writing a compiler or an OS, let you do what you wanted. Licensing question just didn't come up for business programmers. I certainly was aware of GPL issues, but I was an exception.

      GCC was LGPL so again code generated from GCC was fine. Moreover if you intended to distribute your application you would have used a commercial compiler not GCC. GCC was a great little compiler to throw on Unix boxes where you didn't want to pay the $2k for CC, but still wanted to compile some stuff. If there was actual money involved you used CC or one of the others.

      In terms of licensing, it was when companies starting wanting to redistribute their entire solution, including the Linux kernel or MySQL or applications written against KDE that GPL code problems started to emerge and be talked about. That wouldn't happen for years.

      Additionally the most popular compiler for Java, the one I used, was Microsoft's Java, later J++. This was part of visual studio. So even with Java most people didn't want free tools. Sun still charged for most of their their tools as well. People were used to paying for compilers and development tools. There were free languages which were popular on Unix and with Unix system administrators. But Unix developers still mostly used paid languages. So when you talk about user pools you have people who generally consider application development languages to be paid while "scripting" is free, which is a different mindset from today. These people knew about GCC, but GCC was unquestionably inferior from a quality standpoint to commercial C compilers.

      If you want to get into the correct mindset you need to think of Linux as a cheap bad version of Solaris. It ran on x86 hardware which was ubiquitous and dollar per processing unit incredibly cheap but quality wise well below everything else out there.

      In the early 1990s Unix had fragmented terribly. C programs developed in house quite often had hardware dependencies so even if you had the source, porting them from Unix to Unix was complex, time consuming and expensive. This resulted in vendor lockin for servers. The main advantage of GCC that is was that it allowed open source applications to target one particular compiler, combined with a portable operating system this offered the possibility of portability across hardware for C.
      The big advantage with Java was binary compatibility across different hardware vendors. There were 3 main solutions being considered at the time:

      a) Use whatever server hardware you wanted along with Java which promised a common virtual machine. Write once, run anywhere.
      b) Use x86 hardware along with Microsoft's WindowsNT, which was starting to become viable on the server level. And with the rapid improvements in x86 hardware would become a more viable target every year.
      c) Use x86 hardware with a free operating system and LAMP. Assume you will be able to cross hardware boundaries along with Linux if the need arises.

      Java was part of a hardware strategy not a licensing issue. No one cared about licensing. They didn't care that much about free tools. C failed because it didn't allow for the migration from Unix to Windows and Linux/BSD, C porting for business application was too difficult. Sorry to disagree so strongly with your theory.

    8. Re:Use of Java/Apache vs C/C++/Gnu by theshowmecanuck · · Score: 1

      No need to be sorry. I don't have problems with people disagreeing when they are being rational and informative, or just being offhand.

      I do remember paying for a Java IDE when first learning it at least a dozen years ago. It was the only way to get a decent IDE. But I also remember that for a time even into 2000 it was kind of de rigueur for Java programmers to use a programmers notepad rather than an IDE. And I agree that Java was almost certainly a device Sun was using to try to sell servers. But I think McNealy also saw it as a vehicle to inflict damage to Microsoft.

      GCC was a great little compiler to throw on Unix boxes where you didn't want to pay the $2k for CC, but still wanted to compile some stuff. If there was actual money involved you used CC or one of the others.

      This was true for established shops with money to spend a couple grand per developer for licensing. But for small start ups it was expensive. And GCC was a hindrance to making money too. :) And finally, I don't think Linux figures into my argument at all. When I first starting doing Java it was on Windows boxes, not Linux or Unix. Eventually I moved to a Unix shop where we did C and Java on Unix. :) HP-UX. But not Linux.

      I'll concede a lot of your points. But much of what you are talking about are things that went on in the 90s when Java was still very new on the fringe (it was only first released IIRC in 1995), even up to the first couple of years of the 2000s (some people were still looking at applets!). Things didn't really take off like crazy for Java till the early 2000s. Up till then there was some use but nothing like it is now. So what happened in the 90s has little relevance to what I was talking about (not none at all... but little). And remember that Apache does have its roots in this time period, even if it was first notable for the web server (it was formed in 1999).

      I still think that the requirement that forces you to give away your code is what drives many people to Java instead of C/C++. In programming, the lowest common denominator is the new programmer or the start up company. If they can only afford open source that is what they use. If they can only afford to make money and not give away their code by using a language that doesn't predispose them to giving away their hard work for free, they use that language. That is why Linux and MySQL and Java and PHP became popular. The grass roots learned on them and were comfortable with them and when they became senior could direct the companies they worked for to use those technologies too. And since the companies didn't have to give away the hard work for free either, they went with it.

      Which in turn allowed companies to make money creating new infrastructure products in a relatively short time for Java. There was a burst that mostly took place in under 10 years to develop the main commercial stuff, servers and whatnot for Java; so it looked rather more extensive than what happened with C/C++ which had at least 30 years prior to do the same.

      There were similarities with other technology where the lowest common denominator allowed it to gain momentum and market share. Granted this is about the user, not the programmer, but Microsoft used this technique to the max when it sold people on Windows 98 using rock and roll and cool factor while IBM tried to market OS/2 using 'intellectual advertising' targeted at professionals. I loved those ads. But most people didn't get them. But they understood with the Rolling Stones doing the background of the W98 ads, and the "where are you going to go today" slogans that W98 was cool and the way to go, even if the reality was that OS/2 was better (I used to use it at one time... at work). That drove businesses to make applications for Windows. Eventually the bosses who used W98 at home and found it easy to use wanted it at work. The guy who pays the bills gets his way. Even if it really was crappy for the network. The compromis

      --
      -- I ignore anonymous replies to my comments and postings.
    9. Re:Use of Java/Apache vs C/C++/Gnu by Anonymous Coward · · Score: 0

      I still think that the requirement that forces you to give away your code is what drives many people to Java instead of C/C++.

      Correct me if I'm wrong, but you guys seem to be under the impression that code compiled with GCC has to be licensed under GPL. This isn't so.

      FSF is clear that the data manipulated by a GPL program belongs to you and is not a derivative work. So you can compile whatever you like with GCC and license it however you like.

    10. Re:Use of Java/Apache vs C/C++/Gnu by jbolden · · Score: 1

      I think by 2000 Java has already overtaken C as the most popular programming language. You are looking far too late. Apache BTW is around '94/95 not '99.

      If you are looking at the Windows community, IIS is dominant not Apache. Active-X is allowing for web distributed clients, and enterprise stuff is mainly using SQL Server / Visual Basic.

      If you are looking for the cause on the Windows side, around 2000, it was the release of Visual Basic .NET. By dropping compatibility it obsoleted a huge number of developer's skills. They moved over to Java to avoid being locked in, as MIcrosoft was starting to raise the cost of their server products while Linux was viable.

      Anyway GCC does not require you to give away your code. Anything you compile with GCC is fully yours.

      This whole portability thing is mostly nonsense and a myth
      Porting was a very big deal during the 1990s as workstation vendors and server vendors were dying like flies. Here are the 1980s workstation vendors:

      Apollo Computer
      Ardent Computer
      Callan Data Systems
      Computervision
      Digital Equipment Corporation (VMS and Digital Unix)
      Evans & Sutherland
      Intergraph
      InterPro
      MIPS Computer Systems
      NeXT
      Silicon Graphics
      Stardent Inc.
      Sun Microsystems
      Three Rivers Computer Corporation
      Torch Computers
      Xworks Interactive

      Think about how many had gone broke during the 1990s. Things were much smoother for Windows people you didn't care if your hardware vendor went bust because they were all on the Microsoft/Intel/Western Digital Standard.

    11. Re:Use of Java/Apache vs C/C++/Gnu by theshowmecanuck · · Score: 1

      Yeah, but my understanding is that most of the libraries used by/with GCC are GPL. Is that not so? The data is one thing, but once you have compiled your code into an object you still have to link it to the libraries if you want it to be useful. That is unless you want to write from scratch your own drivers, and your own stdio, and mem libraries, etc. All those include files are GPL'd libraries. Therefore I believe you would be using GPL code, so you would have to give away your code if you distribute the program to people. Data is what the code uses. I agree it isn't touched by the GPL. That is why web sites built on GPL code are fine. They are only presenting data not distributing executables, so they don't have to give their codebase away. So C based programs that only present data over a network would be safe from having to give their code away. But most C implementation are not network data presenters in the www sense. They are usually implementation sold to someone. So....

      --
      -- I ignore anonymous replies to my comments and postings.
    12. Re:Use of Java/Apache vs C/C++/Gnu by Anonymous Coward · · Score: 0

      Yeah, but my understanding is that most of the libraries used by/with GCC are GPL. Is that not so?

      It is not so. glibc is LGPL, and many others are too.

      Of course, there's no reason you can't use BSD, Apache, or MIT licensed libraries with GCC.

  37. Re:deliberately obscured internals by Stallman et. by Meneth · · Score: 1

    LLVM internals are not better documented than GCC.

  38. Only advantage of GCC over clang... by dalias · · Score: 1

    ...is the one the GCC team is about to throw out: the fact that it's written in C rather than C++.

    1. Re:Only advantage of GCC over clang... by antime · · Score: 1

      But it's not even written in what we'd call C, but rather this awful macro-fied monstrosity that makes it resemble LISP a bit because that's what RMS likes. It's no coincidence that many research projects have jumped over to LLVM, stating that the GCC source code is too difficult to work on.

    2. Re:Only advantage of GCC over clang... by dalias · · Score: 1

      That's fairly irrelevant; the advantage of being written in C is not that it's comprehensible to HUMANS who understand C, but that it's comprehensible to MACHINES that understand C. In other words, the fact that you're able to have a complete self-hosting C environment.

  39. History by TopSpin · · Score: 4, Interesting

    At the moment I write this there are 297 comments mostly debating the merits of LLVM/Clang vs. GCC. There is not one mention of EGCS.

    Fifteen years ago GCC was forked. A group of people we're frustrated with GCC and its leadership because they had contributions to make and talent to offer that was not welcome. They called their fork EGCS.

    Why are we doing this? It's become increasingly clear in the course of hacking events that the FSF's needs for gcc2 are at odds with the objectives of many in the community who have done lots of hacking and improvment [sic] over the years.

    The GCC you use today is EGCS. A few years later EGCS was adopted as GCC 2.95 after the merits of EGCS became undeniable.

    Looks like we've come full circle. The cool kids are off in the weeds making cool stuff. Better stuff, and the `Powers That Be' are not interested. The `needs' of the FSF today are no longer in sync with the `needs' of the developers of today.

    The bottom line is that GCC as it is with it's leadership, code base and license agenda doesn't cut it for those who have the talent, motivation and capital to create a tool chain that does cut it. You don't get to impede that, however righteous you think you are.

    Freedom. Deal with it.

    --
    Lurking at the bottom of the gravity well, getting old
  40. My hobby by Anonymous Coward · · Score: 0

    Rather than contribute to existing projects, my hobby is finding obscure unmaintained GPL projects, renaming then, doing a little work and then releasing them under the BSD licence.

  41. Great, another eternal source by Anonymous Coward · · Score: 0

    of flame wars.

  42. It's not "the softwre's freedom". by gr8_phk · · Score: 1

    GPL is about the USERS freedom. The software is inanimate and doesn't give a crap. It's the users of the software that the GPL is intended to protect. I understand that many developers like to make a buck. I also understand that some developers want to use other peoples work for free but don't want their users to benefit in the same way. For them it's BSD.

    What baffles me though is this use of a technically inferior compiler. I could see in a few years if LLVM can produce comparable code in more cases. But to provide users with a different free (as in beer) compiler just because of GPL vs BSD license really points to some kind of deep rooted bias. And yes, I believe LLVM is not up to par in terms of generated code, YMMV of course.

  43. What about Hurd? by Anonymous Coward · · Score: 0

    Forget BSD, when can I compile Hurd with Clang?

    1. Re:What about Hurd? by Anonymous Coward · · Score: 0

      Better idea - fork Minix 3.0 to be GPLv3, make it the microkernel for Hurd, and then release that under GPLv3. Use GCC to make it, and GNOME 3.4 as the user environment in fallback mode, just like the 'libre' Linuxes are doing. In fact, find ways of making GNOME 3.x GPL3, so that more people run away from it, and it gets marginalized as an option.

  44. Looks like I was proven right. by sethstorm · · Score: 0

    "Then again, you probably would rather throw some ad hominem at me regarding a certain GPL advocate."
    --
    Score:
    50% Flamebait
    40% Insightful
    10% Informative

    Instead of arguing on how the BSD model allows for dirty pool in code licensing or the non-requirement for patch contribution, you'd rather have my post disappear.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  45. OpenBSD did that. by Anonymous Coward · · Score: 0

    Yes, because BSD developers are usually paranoid about the possibility of maybe some evil company use their code.

    It's not as if there wasn't a dispute with OpenBSD that discussed that exact same thing.

  46. clang, clang++,... by unixisc · · Score: 1

    So is there any Objective Clang for Objective C?

    1. Re:clang, clang++,... by Anonymous Coward · · Score: 0

      Nope intact there is no clang++ either. It's just a sybolic link to that clang binary. What happens is clang sets some c++ specific settings when argv[0] == clang++.

  47. 'Problem' of TiVoization by unixisc · · Score: 1

    TiVo and that Xerox printer @ MIT are apples and pineapples. In the case of the latter, RMS and his group wanted to get the source code of the drivers so that they could compile it for the platform they were using. It didn't involve altering anything in the printer itself that could risk making it unworkable. TiVo was about locking that box itself - but if someone wanted to write a driver whereby a Linuxstation could get inputs from a TiVo box and display it, instead of connecting it to a TV, then the TiVo contents on that flash are very much open sourced.

    TiVo completely went along w/ the GPLv2. I believe that they do provide the source code, or else, they'd have been accused of violating GPLv2 itself. But that's not the case - they were compliant w/ GPLv2, and the FSF accused them of using a loophole - namely, their putting the code on a flash memory device that they had protected, and which could only be altered by them. B'cos TiVo got around what FSF perceived was a loophole, the latter wrote GPLv3, specifically naming them as a criminal in one of their sections.

    Theoretically, there was nothing preventing anybody from taking the contents of the TiVo flash - via the GPLv2 source code - and slapping it on a non-TiVo box, and releasing it on a pirate shop. But doing so would be as expensive as TiVo itself doing it. The Software Liberators are more upset about the fact that TiVo can update the firmware on their box, but no-one else can, b'cos TiVo's write-protection is NOT FOSS.

    I do think that the Freetards prefer it if only software liberators use their software, but that's what brings them into conflict w/ Linus, who makes it a point nowadays not to refer to Linux as free software. Aside from that, the choice TiVo had woud have been to use one of the embedded OSs, like NetBSD, QNX, WindRiver or today, even Minix 3.2. That way, they get to do what they want w/o being in the cross-hairs of RMS's Software Liberation Army.

    1. Re:'Problem' of TiVoization by Anonymous Coward · · Score: 0

      You're a bigot. The FSF is much less fanatical than pretty much any commercial vendor you care to name. Making a profit does not magically justify fanaticism.

    2. Re:'Problem' of TiVoization by Raenex · · Score: 1

      TiVo and that Xerox printer @ MIT are apples and pineapples.

      The principle is exactly the same. There was software that came with the device and they wanted the ability to modify it. Just because you could treat the TiVo as a black box doesn't mean there couldn't be value in being able to alter the source code on the TiVo itself.

  48. Terrible Idea by gVibe · · Score: 0

    CLANG is just nowhere near mature enough for total replacement of GCC. Not every port will build with CLANG...see MacPorts which is an OS X port of the FreeBSD package manager. MacPorts has been attempting this since Lion was released. I have posted numerous times how it was a bad idea to force CLANG as the default compiler, yet for some reason, developers of package managers are completely blind to the fact that the user base they support with these package managers tend to not have the same systems, or different needs, or in most cases, a lack of experience with compiler troubleshooting. CLANG is messy too...it doesn't handle warnings very well and tends to crash during compile for the smallest warning that isn't really considered fatal by the upstream developers. Most package manager communities are volunteer based, and do not have any method of upstream sponsorship to give the user base a place to go ask for real help. Most package manager developers (MacPorts) tend to take the "You Can Always Ask for a Refund" stance because they don't get paid for their efforts and think that their shit doesn't stink. GCC should never be replaced completely, and I think FreeBSD is about to learn a terrible lesson.

    --
    Keywords for the NSA overthrow oppressive regime true believers marathon Manhatten the financial district blueprints I
    1. Re:Terrible Idea by Anonymous Coward · · Score: 0

      MacPorts is not a port of FreeBSD's ports collection or pkg. Have you ever used FreeBSD before? MacPorts is closer to portage than it is to FreeBSD ports.

      I have 416 ports installed on my Mac from MacPorts. They all built fine.

    2. Re:Terrible Idea by gVibe · · Score: 1

      MacPorts is not a port of FreeBSD's ports collection or pkg. Have you ever used FreeBSD before? MacPorts is closer to portage than it is to FreeBSD ports.

      Nope...you are clearly wrong.

      Yes, I have used several versions of FreeBSD, NetBSD, OpenBSD. Based on you being an Anonymous Coward, its also very clear that you are a troll just trying to start a baseless argument designed to illicit a negative reply from me. Portage is a Linux based package manager made popular by the Gentoo distro of Linux. The UNIX core running under OS X is BSD based. Mac"PORTS" is based off PORT in FreeBSD. If you had any real experience in *nix *nux based operating systems you would know this and would have replied as a real person and would have backed up your argument with some actual facts.

      Here is the most obvious citation from Wikipedia, where is clearly states MacPorts (formerly DarwinPorts) is similar in aim and function to Fink and the BSDs' ports collections (McMillian, 2002):

      ----McMillian, Allistar. "MacPorts." Wikipedia. Wikimedia Foundation, 05 Oct. 2012. Web. 15 May 2012. http://en.wikipedia.org/wiki/MacPorts.

      I have 416 ports installed on my Mac from MacPorts. They all built fine.

      What version OS X? What version of XCode? When was the last time you updated or rebuilt your entire base?

      --
      Keywords for the NSA overthrow oppressive regime true believers marathon Manhatten the financial district blueprints I
  49. If something is free you cannot be robbed by SuperKendall · · Score: 1

    Yes AC Apple fanboy.

    Just a note, right here you basically said you are retarded. In the literal sense; something is holding you back mentally, and that's a big warning sign that tells us all it is so.

    Just because some people do not care about being ripped off by companies owned by billionaires doesn't mean all of us are like that.

    That makes no sense. If I put something out into the world and state "anyone can use it" then why would I care if the people who made use of it are rich or poor?

    That's what the BSD guys have done.

    Even the GPL guys do not care if someone is rich or poor; what they do care about is if any changes are made they want to see them. A perfectly reasonable philosophy, one I understand and support, but again rich/poor never entered into the thing.

    You seem to be mentally stuck in some really juvenile state where supposedly you want to give something away for free (in reality I very much doubt you've given away anything) but if anyone with money wants to use it, well then! You want some of that action.

    In short your words and desires are abhorrent to anyone truly behind either a BSD or GPL world.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  50. Very close though by SuperKendall · · Score: 2

    C'mon Apple people, please back off the reality distortion. LLVM has a lot of interesting points to recommend it, but one those is very definitely not beating GCC in code optimization.

    Not yet - but it's not far behind. The only tests where it varied much were tests where OpenMP was involved, which Clang does not support yet.

    Also, back in the day when I used GCC I pretty much never turned on full GCC optimizations because I would run into odd issues at times if I tried. Sure in bench marks GCC is ahead, but how much really world code has GCC enabled with full optimization - especially a brand new GCC version like 4.7?

    As you noted LLVM has a lot of other interesting points, and the fact that the optimization is already so close to the existing battle-tested solution is a good reason for more people to migrate to the more flexible architecture of Clang/LLVM ASAP.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Very close though by Tough+Love · · Score: 1

      it's not far behind

      Did you actually look at those benchmarks?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    2. Re:Very close though by Tough+Love · · Score: 1

      Oh wait, I know you, you're an Apple fanboi/astroturfer. Well I use O3 all the time with GCC and haven't run into an issue in years. Of course, there are issues, just damn few.

      In short, anybody who cares about performance runs GCC at O3 these days because it kicks serious butt. And I do know what I'm talking about, I've benchmarked it extensively, and yes, I read the machine code.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    3. Re:Very close though by Tough+Love · · Score: 1

      back in the day when I used GCC I pretty much never turned on full GCC optimizations because I would run into odd issues at times if I tried

      Care to be specific about those odd issues? Of course I'm not holding my breath, because I think you just made that up.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    4. Re:Very close though by SuperKendall · · Score: 1

      Care to be specific about those odd issues?

      Random crashes on -O3.

      If you'd read the comments on your own link it notes that also (a security problem in the linux kernel was caused by an errant optimization).

      It was a while ago. However the question stands, how many projects ship with compiler settings that use -O3 by default? The kernel does as it is going for the ultimate in performance, but does KDE or Gnome for example?

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    5. Re:Very close though by Tough+Love · · Score: 2

      Random crashes on -O3.

      That is the opposite of specific. Go away troll.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    6. Re:Very close though by Tough+Love · · Score: 2

      how many projects ship with compiler settings that use -O3 by default? The kernel does as it is going for the ultimate in performance

      You are pulling "facts" out of your ass.

      The kernel is built by default with O2, or optionally Os as a configure option.

      You do not have the slightest clue what you are talking about in this, or any other post I have seen from you.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    7. Re:Very close though by Vintermann · · Score: 1

      Also, if code optimization is what you want, gcc is not the best C compiler either.

      --
      xkcd is not in the sudoers file. This incident will be reported.
  51. Not true in many ways by SuperKendall · · Score: 1

    If you're against copyright, then you're against the GPL.

    I'm a Libertarian. I'm not "against copyright". At least not reasonable copyright.

    But you're also wrong in another regard. Even if you are wholly against copyright you can still be for the GPL, because it subverts the intent of copyright to accomplish something totally different. That's what I always admired about the GPL, how it used the dark side of copyright to accomplish something positive.

    It's a fine bit of judo.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Not true in many ways by pankkake · · Score: 1

      Even if you are wholly against copyright you can still be for the GPL, because it subverts the intent of copyright to accomplish something totally different.

      Exactly. It's sort of a troll license, and it fights against patents too. And BSD also needs copyright, so Idon't get that criticism.

      --
      Kill all hipsters.
    2. Re:Not true in many ways by Moridineas · · Score: 1

      I'm a Libertarian. I'm not "against copyright". At least not reasonable copyright.

      Not sure what you're replying to, but the poster to whom I replied said he was both a Libertarian and anti-copyright.
        I'm a libertarian (not with an "L") and believe there should be some amount of copyright law. Copyright enables the GPL -- that's a good thing!

      But you're also wrong in another regard. Even if you are wholly against copyright you can still be for the GPL, because it subverts the intent of copyright to accomplish something totally different. That's what I always admired about the GPL, how it used the dark side of copyright to accomplish something positive.

      I don't see it that way at all. I do agree that copyright today is in many ways disgustingly perverse (exorbitant statutory fines, extradition, 100+ year control, for starts). However, GPL doesn't "subvert" copyright at all. Copyright was--and always has been--to allow the right holder (ie, creator) some level of control in terms of use. If that use is the GPL--fine. If that use is licensing--fine. If you want to sell your right--fine.

      I think we do agree that the GPL is genius because it works within the current legal framework.

    3. Re:Not true in many ways by Moridineas · · Score: 1

      Exactly. It's sort of a troll license, and it fights against patents too. And BSD also needs copyright, so Idon't get that criticism.

      What criticism are you referring to?

    4. Re:Not true in many ways by pankkake · · Score: 1

      "If you're against copyright, then you're against the GPL."

      --
      Kill all hipsters.
    5. Re:Not true in many ways by Moridineas · · Score: 1

      I think you're confused about my point then.

      The GPL solely exists because of copyright law. If you are anti-copyright, you are anti-GPL. The GPL cannot exist in the absence of copyright. That's not at all a criticism, merely a statement of fact. You can be against ASPECTS of copyright law and still a fan of the GPL, but as the original comment merely said "against copyright" I thought it was pretty clear what was meant.

      If nothing was copyrightable I suppose a reasonable facsimile of the GPL could be made using contracts, but it would be much more complex, cumbersome for contractors and contractees alike, and I suspect harder (or impossible?) to enforce.

    6. Re:Not true in many ways by pankkake · · Score: 1

      The BSD license solely exists because of copyright law, too. You are confused about how copyright works, and what the GPL aims for.

      --
      Kill all hipsters.
    7. Re:Not true in many ways by Moridineas · · Score: 1

      Yes, the BSD license also exists because of copyright, you're correct (see my other posts on this articles for more information). This point has never been under any dispute. As I did say in a different thread, the BSD license imposes fewer restrictions on redistribution than the GPL does, so in practice it's slightly closer to public domain.

      Again, saying that the GPL (and the BSD) license relies on copyright is in no way a criticism, merely a statement of fact. Do you disagree?

      If you are anti-copyright in its entirety, you are anti-GPL. The GPL can aim for whatever end results are wanted (and there is certainly a great of material put out by FSF/RMS about the goals of the GPL), but the foundations of the GPL are based upon copyright law. There's no getting around that...

      You are confused about how copyright works,

      Enlighten me? Because it basically seems you're just completely full of shit. Have you brought any facts to this discussion? I mean honestly, what statement of mine do you disagree with? Are you just arguing for the sake of arguing?

      Incidentally, if you're asking my personal opinion, I would probably lean more towards the BSD license philosophically. In my personal politics I tend more towards the libertarian than the paternalistic. I'm a live and let live type. I view most attempts to control how other people live as somewhat unsavory at best. Having said that, I appreciate both licenses for their flexibilities, use GPL programs, and have donated to both GPL and BSD projects.

    8. Re:Not true in many ways by pankkake · · Score: 1

      > I mean honestly, what statement of mine do you disagree with?
      "If you're against copyright, then you're against the GPL."
      For the third time.

      You do not understand, or do not want to understand, that a world without copyright is not close to a world with copyright + BSD.

      > In my personal politics I tend more towards the libertarian than the paternalistic. I'm a live and let live type. I view most attempts to control how other people live as somewhat unsavory at best. Having said that, I appreciate both licenses for their flexibilities, use GPL programs, and have donated to both GPL and BSD projects.

      Reading your comments, I don't believe a word of it.

      I thought you were retarded, but I now think it is worse, you are just dishonest. There is absolutely no use talking to you.

      --
      Kill all hipsters.
    9. Re:Not true in many ways by Moridineas · · Score: 1

      You do not understand, or do not want to understand, that a world without copyright is not close to a world with copyright + BSD.

      Let me flip the tables. With no copyright laws, how does the GPL work? Answer, the GPL cannot function in the absence of copyright law. If you were to remove all copyright laws, the GPL no longer could function. If you've never read the GPL, you might be interested to do so. Look at how many instances of the word "copyright" appear in the license.

      Once again -- if you are against the existence of copyright laws, by the very nature of this, you are against the GPL. The GPL (and BSD license, lest we forget!) is completely dependent upon copyright law to existence, function, and most importantly, be enforced. How else would you propose to enforce GPL? EULA? I've always heard it said that EULAs can't stand up in court.

      Secondly, you said I misunderstood copyright law. Tell me EXACTLY what I misunderstand. No broad statements, no claims that I don't "get" the GPL. Just tell me what facts I am wrong on.

      Reading your comments, I don't believe a word of it.

      What don't you believe? I've been completely up front on on everything I believe.

      I thought you were retarded, but I now think it is worse, you are just dishonest. There is absolutely no use talking to you.

      I got the impression from this message that english is not your first language? If that's true, I apologize for saying you sounded like you were full of shit, because I think we're just having a failure to communicate. I'm genuinely fascinated in what insults you imagine I am leveling against the GPL and why you think I'm lying?

      You have not pointed out one fact that I am wrong about. In fact, the only thing you keep saying is that I am a liar, dishonest, retarded, I don't understand copyright law and I don't get the GPL. Let's not talk about our feelings, and let's just get down to facts.

  52. Only idiots conflate anarchy with Libertarianism by SuperKendall · · Score: 1

    Libertarians love to pine for a sort of Mad Max style of anarchy believing themsleves to be on the top of the food chain.

    Libertarians want nothing to do with anarchy.

    We want to take over and then LEAVE YOU THE HELL ALONE. Which kind of vaporizes your whole power fantasy.

    Libertarians only care about power insomuch as other people are limited in what power they can use against the individual. It does not mean a vacuum.

    You would seem to prefer to be enslaved. Understandable since you are usually treated well, as long as you enjoy the castration which you seem to. Fine then; but the rest of on would rather keep our tackle box intact.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  53. You are the one going to extremes by SuperKendall · · Score: 1

    Talking about 'fundamentalism' and 'how bad the other people are' is childish (yes, I'm calling you childish, Bonch).

    You seem to be the only childish one here. Everyone is debating without calling names.

    You are twisting his words to claim his position is extremist - but then YOU go on to present a worldview far more extreme than anything he laid out:

    1) BSD: if you want your software used by corporations, and you don't care if you get anything back as a result. You are interested in fame.

    2) GPL: if you want to help people out, but don't want a corporation to make millions without giving back. Your code might not get used as much, but you're fine with that.

    A real open source programmer would not care anything about the money involved, they shared code to be used.

    More specifically a BSD programmer is not after fame; again they want to share code that will be used by others. They know that most changes will come back to them, as has been evidenced by decades of BSD use by companies.

    And it only makes sense because if you are a company if you contribute code back you only have to write it once. If you do not you have to patch it with every release.

    In the GPL case, it doesn't matter if a company makes money or not. You simply want to see changes other people made just like the BSD guy, only you have the weight of the law behind making that happen that you can use as a lever if you need to.

    Insulting either one as 'religious' or 'unethical' is incredibly unseeing and idiotic.

    You are the only one using those words. Once again, you are the one going to extremes. Bonch only labeled some elements of the GPL camp as extreme; and you you say honestly RMS is not?

    I have been a supporter of the GPL for decades now, I am a long-time member of the FSF. I will happily state without qualification that RMS is extreme - but that is good because SOMEONE needs to be. The fact you cannot separate extreme and non extreme supporters for the GPL id a failing of yours, not of Bonch.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:You are the one going to extremes by phantomfive · · Score: 1
      Oh, you don't know bonch very well.

      A real open source programmer would not care anything about the money involved, they shared code to be used.

      Indeed, real open source programmers don't care about money. A lot do care about fame and reputation, and sometimes even get annoyed when their code is used in a way that didn't want. True for both GPL and BSD fans.

      --
      "First they came for the slanderers and i said nothing."
  54. Amusing but not the way you intended by SuperKendall · · Score: 1

    AC is a moron.
    I have contributed a patch to fix your comment in accordance with the GPL.

    The really amusing thing is he never accepted the patch, so he's not a moron. That leaves only you with the patched version stating you are a moron...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  55. It never makes sense to stop giving back by SuperKendall · · Score: 1

    It is only a matter of time until they decide not to contribute anything anymore.

    People seem to keep coming up with this argument against BSD in general, but it makes no sense.

    The vast weight of evidence, and common sense, tells us that Apple will keep giving back - even if the only motivation were greed.

    Because it's a LOT cheaper to use an open source project where you simply take in updates as they happen. If you make secret patches, that means you don't write the code once - you have to massage it with EVERY release of the open branch in order to properly merge back in your changes.

    A truly greedy bastard would give back EVERY change they ever made, so they could diabolically keep using the open source code base but have others test any future changes to the whole code base against the changes they made. BWA-HA-HA.

    Only fools would keep any changes made that were not absolutely necessary to keep secret.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  56. Microsoft's IP solutions by unixisc · · Score: 1

    I thought that Microsoft's TCP/IP stack hasn't been based on BSD since Vista, when they pretty much moved to Teredo - which one can think of as UDP/IPv6. Before that, Microsoft too was using BSD's TCP/IP.

    1. Re:Microsoft's IP solutions by KingMotley · · Score: 1

      Nope. The entire stack was completely rewritten for windows NT 3.5, then retro fitted into windows 95. The last versions with BSD code would have been NT 3.1 and windows for workgroups 3.12. You are correct they've made changes since then. Once to separate pieces out do checksum offloading could be done (amoung other things) and then again in vista which enabled better IP6, selective ACKS, a better congestion algorithm, large window support, etc

  57. Re:deliberately obscured internals by Stallman et. by shutdown+-p+now · · Score: 1

    Yes, but LLVM is modular, and module boundaries are documented (as well as being designed for reuse). So something that can only be done by accessing "internals" on gcc, can be easily done in terms of public API on Clang.

  58. LLVM by unixisc · · Score: 1

    Something I've never understood - how does a low level virtual machine become the basis of a compiler? AFAIK, there are no virtual machines in GCC, Visual Studio, or older compiler platforms from other vendors. So what caused Apple to go w/ that option here?

    1. Re:LLVM by Anonymous Coward · · Score: 0

      It's a virtual machine in the sense that LLVM ir acts like an abstract processor with an infinite number of registers. It's not a VM in the sense that Java uses a VM. It's a set of codes one could use to make a VM.

    2. Re:LLVM by rmav · · Score: 1

      And much more. I guess unixisc should head to http://llvm.org/ and see how many applications LLVM has. It was used to build compilers way before the Clang project started.

  59. Read your own link. by SuperKendall · · Score: 1

    Did you actually look at those benchmarks?

    Yes, did you?

    The only case where it was not very close was, as I stated originally, where openMP was involved. It's not very surprising that being unable to make use of parallel processing on a multi-core system will set you back in any benchmark.

    It's right there in the text below the graphs.

    I'm very sorry that pointing out how to read benchmarks has caused you such internal angst you felt compelled to respond three times...

    I'll let you have the last response since if you can't even read simple performance graphs, what good would it possibly do me to read any further response you might have?

    I am not any kind of "Apple Fanboi". I simply know what the hell I am taking about, unlike you.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Read your own link. by Tough+Love · · Score: 1

      I am not any kind of "Apple Fanboi".

      Care to explain why you always show up in articles involving Apple, turboposting with an obvious bias?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  60. Re:Obligatory 2 by jaymemaurice · · Score: 1

    I for one, welcome our clang compiled overlords.

    --
    120 characters ought to be enough for anyone
  61. http://clang.debian.net/ by Anonymous Coward · · Score: 0

    http://clang.debian.net/

    http://www.phoronix.com/scan.php?page=news_item&px=MTA5OTM

  62. Well, don't blame me ... by Mjlner · · Score: 1

    I voted for Clodos...

    --
    Lemon curry???
  63. Re:deliberately obscured internals by Stallman et. by dragisha · · Score: 1

    I think GCC is a bit blindalleyed here. Undocumented internals are not so big problem when there is no comparable alternative. But - project is strong, without doubt. No reason to not pull over.

    C++ as an health/longevity argument is a bit doubtful. But, I am obviously biased there :).

    --
    http://opencm3.net, http://www.nongnu.org/gm2/
  64. Whole lot of !(GPL) folks with modbombing wants by sethstorm · · Score: 0

    Seems like nearly every post that supports the GPL/gcc position is modbombed into oblivion - with consistency - while the BSD/clang position (or any anti-"GPL"). One can forget any premise of the BSD folks being reasonable when modpoints suggest anything but reasonable.

    Either way, hopefully clang won't be required for the base system in the future, where those that want the GPLv3 compiler can have it work without a lot of WONTFIX/CANTFIX/NOTABUG responses sent back.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  65. Correction:BSD position has no downmods. by sethstorm · · Score: 0

    Seems like nearly every post that supports the GPL/gcc position is modbombed into oblivion - with consistency - while the BSD/clang position (or any anti-"GPL") has yet to see the same fate.

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  66. Re:What's wrong with GPLv3? by unixisc · · Score: 1
    As a few posts way down in this thread point it out:

    There are two things in the GPL that make companies nervous. One is the patent grant, the other is the revocation clause. It is possible to discover that the product that you are selling 100,000 instances of a month violates the GPL, and have your license instantly revoked. Getting the license granted again requires explicit interaction with the copyright holder (just getting into compliance does not make the license valid again), so if you can't get hold of every copyright holder then you have to stop distributing your product or face massive liabilities.

    and

    As an example: gcc just _might_ infringe on some patent that Apple holds, or there might be not totally unreasonable reason to make such a claim. Assuming that Apple has no intention of suing anyone over such a patent, with GPL v2 that is neither a problem for gcc, nor for Apple, nor for Apple distributing a GPL v2 licenced gcc compiler.

    But with GPL v3, if there is such a patent, then Apple is not allowed to distribute the compiler without granting everyone a patent license. Now let's say Apple sues company X over infringement of patent Y, totally unrelated to GPL and gcc. And X figures out that gcc infringes on patent Y. And therefore Apple should have given everyone, including X, a license for that patent. Can you imagine the legal nightmare this could cause? Now if you are a lawyer for Apple, and you were asked whether Apple should distribute gcc 4.6, surely you would check the GPL v3 license and think of such things and tell the developers who want to distribute gcc that there is a significant legal risk.

  67. Great but need other front ends by Lawrence_Bird · · Score: 1

    I think the move to llvm/clang is great and glad to hear that most packages now build with it (I had already found that to be true.) However, the one downside is that there is only C/C++ available. No Fortran (and a few others) that are available as front-ends to gcc. I do realize that LLVM can be used as a replacement backend to gcc but you are still left with the GPL.

    Does anyone know if there is work on a native Fortran front end for LLVM?

  68. Additional tools need a parser by tepples · · Score: 1

    That's not the job of GCC. That's the job of additional tools that work with the files.

    These additional tools still need a parser. The obvious way to make additional tools that parse the source code into a syntax tree exactly the same way as GCC, including GCC's extensions to the languages that it implements, is to use GCC's parser. Do ctags and cscope implement all of GCC's extensions correctly?

    1. Re:Additional tools need a parser by TemporalBeing · · Score: 1

      That's not the job of GCC. That's the job of additional tools that work with the files.

      These additional tools still need a parser. The obvious way to make additional tools that parse the source code into a syntax tree exactly the same way as GCC, including GCC's extensions to the languages that it implements, is to use GCC's parser. Do ctags and cscope implement all of GCC's extensions correctly?

      The problem is that they don't need to do it the exact same was as GCC. They need to do it based more on the language (C, C++, D, A, B, Java, Modula, etc), and produce something useful for the IDE to provide useful functionality for the user.

      GCC and any compiler need to parse and product useful information for the internals.

      While not 100% mutually exclusive, they are pretty close to it (probably 80-90% mutually exclusive in the output of the parser). Bloating the compiler to generate the additional output information - which will be very specific to each IDE - makes no sense.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  69. Enough holy wars by MacColossus · · Score: 2

    Here is a link to Clang's reason for creation/existence even though GCC exists. It even mentions a few reasons people might prefer to use GCC. http://clang.llvm.org/comparison.html#gcc

  70. GNU C is not identical to standard C by tepples · · Score: 1

    The problem is that they don't need to do it the exact same was as GCC. They need to do it based more on the language (C, C++, D, A, B, Java, Modula, etc),

    If the compiler is GCC, the language is GNU C, which is a superset of standard C, or the language is GNU C++, which is a superset of standard C++. So the parser needs to accept the GNU C and GNU C++ languages. I thought proving that two parsers accept the same language was halting-complete.

    Bloating the compiler to generate the additional output information - which will be very specific to each IDE - makes no sense.

    True, which is why have suggested making the compiler more modular so that its parser can be reused by either the compiler, which needs "useful information for the internals", or an IDE, which needs "something useful for the IDE to provide useful functionality for the user." The GCC team has steadfastly resisted making GCC more modular and more maintainable for fear that a non-free IDE might use the output of its parser.

    1. Re:GNU C is not identical to standard C by TemporalBeing · · Score: 1

      The problem is that they don't need to do it the exact same was as GCC. They need to do it based more on the language (C, C++, D, A, B, Java, Modula, etc),

      If the compiler is GCC, the language is GNU C, which is a superset of standard C, or the language is GNU C++, which is a superset of standard C++. So the parser needs to accept the GNU C and GNU C++ languages. I thought proving that two parsers accept the same language was halting-complete.

      The GCC compiler suite supports a variety of languages. Which one use used depends on which command you call - gcc vs g++ vs gjc vs a number of others.

      Bloating the compiler to generate the additional output information - which will be very specific to each IDE - makes no sense.

      True, which is why have suggested making the compiler more modular so that its parser can be reused by either the compiler, which needs "useful information for the internals", or an IDE, which needs "something useful for the IDE to provide useful functionality for the user." The GCC team has steadfastly resisted making GCC more modular and more maintainable for fear that a non-free IDE might use the output of its parser.

      The GCC compiler suite is quite modular already. It's just that the modularity is not provided for external tools to link into; nor it is necessarily broken down along the lines of where others want it to be. I know of at least 3 levels of modularity - front-end-input (language), optimization, and back-end-output (binary) - and I'm sure they have more that that.

      GCC has a front end that takes a computer language (e.g. C, C++, Java, Ada, Modula, Fortran, etc.) and converts it into an intermediarly language that is then used by the rest of the internals for doing various things like optimizing and eventually binary code generation, which again has numerous modules for various platforms (x86, x86-64, ppc, etc) and binary formats (a.out, elf, PE, etc).

      So it's not that GCC is not modular or maintainable in that respect; it's that they don't want to publish their internal APIs for others to use. Since the code is open source, people could figure that out, but then they run any risk of it changing without being notified since they are not published or guaranteed to remain stable.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    2. Re:GNU C is not identical to standard C by tepples · · Score: 1

      The GCC compiler suite supports a variety of languages

      Each of which is a superset of the standard language on which it is based: GNU C based on C, GNU C++ on C++, etc. This means a third-party parser that supports only a standard language will fail to parse any program that uses the GNU extensions present in GCC's superset but not in the standard language.

      I know of at least 3 levels of modularity - front-end-input (language), optimization, and back-end-output (binary)

      But use of the result of GCC's front-end-input (language) is deliberately obfuscated, unlike in Clang.

    3. Re:GNU C is not identical to standard C by TemporalBeing · · Score: 1

      The GCC compiler suite supports a variety of languages

      Each of which is a superset of the standard language on which it is based: GNU C based on C, GNU C++ on C++, etc. This means a third-party parser that supports only a standard language will fail to parse any program that uses the GNU extensions present in GCC's superset but not in the standard language.

      No more than any other compiler. GNU typically follows pretty closely to the standards for the various languages; the "superset" is typically in the compiler space reserved by each language (e.g. __attribute()__ in C/C++). Any parser that understands the standard language (e.g. C, C++, etc.) will do pretty well with parsing anything that the GCC suite parses.

      I know of at least 3 levels of modularity - front-end-input (language), optimization, and back-end-output (binary)

      But use of the result of GCC's front-end-input (language) is deliberately obfuscated, unlike in Clang.

      The output of GCC's front-end-input (language) is their custom machine independent development language. It has nothing to do with being obfuscated and everything to do with converting the source code into something that is easier to optimize and catch problems with - and something that is language independent. So the C++/C/Java/Ada sources all get converted to the single well understood internal language that the profilers, optimizers, etc can uniformly work on. It's not meant for use by other components.

      If CLang isn't doing that, then (i) it's limited in what languages it can support on the front end (evidenced by their sole focus on C, C++, Objective-C, and Objective-C++), and (ii) it'll have to do that before moving to the next stage at some point. I also don't see anything mentioning architecture support for CLang - compared with GCC's multitude of architectures.

      Comparatively, GCC will be to compilers like Linux is for operating systems. The two both support more architectures and systems than anything else in their respective classes. As a result, they both tend to do things that others find inconvenient but they do them for a reason as they are designed to do more than what others are doing. (Couldn't find the info respectively for LLVM either.)

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    4. Re:GNU C is not identical to standard C by tepples · · Score: 1

      GNU typically follows pretty closely to the standards for the various languages; the "superset" is typically in the compiler space reserved by each language (e.g. __attribute()__ in C/C++).

      True. But for code using __attribute()__, such as code running in certain embedded architectures, a third-party parser is still going to have to recognize those attributes. And attributes aren't the only extension to C that GCC implements; other things include statement expressions, nested functions, 128-bit integer types, the binary ?: operator that acts like or in Scheme or Python, named address spaces, and ranges in case statements and array initializers.

      If CLang isn't doing that, then (i) it's limited in what languages it can support on the front end (evidenced by their sole focus on C, C++, Objective-C, and Objective-C++)

      Clang is a frontend to LLVM. Other frontends exist for other languages.

      I also don't see anything mentioning architecture support for CLang - compared with GCC's multitude of architectures.

      LLVM targets at least these architectures. Production-quality backends include x86, ARM, PowerPC, SPARC, MIPS, and Hexagon (whatever that is).

    5. Re:GNU C is not identical to standard C by TemporalBeing · · Score: 1

      GNU typically follows pretty closely to the standards for the various languages; the "superset" is typically in the compiler space reserved by each language (e.g. __attribute()__ in C/C++).

      True. But for code using __attribute()__, such as code running in certain embedded architectures, a third-party parser is still going to have to recognize those attributes. And attributes aren't the only extension to C that GCC implements; other things include statement expressions, nested functions, 128-bit integer types, the binary ?: operator that acts like or in Scheme or Python, named address spaces, and ranges in case statements and array initializers.

      Aside from the __attribute__() - which typically should be ignored any way - those are all things that a parser could easily pick up, and GCC/G++ is not likely the only one that supports them. So that shouldn't necessarily be an issue.

      If CLang isn't doing that, then (i) it's limited in what languages it can support on the front end (evidenced by their sole focus on C, C++, Objective-C, and Objective-C++)

      Clang is a frontend to LLVM. Other frontends exist for other languages.

      True. And LLVM still relies a lot on GCC for those other languages, and back-end work.

      I also don't see anything mentioning architecture support for CLang - compared with GCC's multitude of architectures.

      LLVM targets at least these architectures. Production-quality backends include x86, ARM, PowerPC, SPARC, MIPS, and Hexagon (whatever that is).

      That's still a relatively small list compared to GCC's list of architectures.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  71. Translation by Anonymous Coward · · Score: 0

    "Anyone who is being productive and writing good software using any technique or tools that I don't use or approve of is stupid and not a real programmer."

    It really must take a new level of narcissism to be able to truly believe the crap that you write.

    1. Re:Translation by Alex+Belits · · Score: 1

      good software

      What is that "good software" that you are talking about?

      --
      Contrary to the popular belief, there indeed is no God.
  72. Yawn... by Anonymous Coward · · Score: 0

    Goto definition on convert_from_tera_to_milli jumps to define_frob(tera,milli) And if you invoke goto definition on that it jumps to #define define_frob(a,b) as expected. It makes no difference how the code is broken up in multiple files or what conditionals are used.

    There you go. Its not "impossible" as you suggest.

    1. Re:Yawn... by Alex+Belits · · Score: 1

      And the user will be completely confused about the whole thing, because that "definition" explains absolutely nothing, and gives no information about possible variations of things that affect the macro definition (if, by any chance, anything is conditional). Better yet, plenty of modern libraries have a layer written in this very style.

      So my position on this is still:

      1. The only solution that actually helps the developer when dealing with complex system of libraries is plain old documentation, where those things are explained in plain English (or whatever language the programmer prefers). One does not need IDE to do that -- middle button is usually more than sufficient.

      2. If programmer needs tools to navigate declarations and macros in his own code, he is too disorganized to either remember what he is doing, or document his work in a way that he can understand. What means, the project already accumulated massive numbers of mistakes and must be abandoned as unmaintainable.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Yawn... by Anonymous Coward · · Score: 0

      You are trying new arguments now. You will only succeed in boring the recepient into not responding and thinking you are some kind of zealot/lunatic.

      First of all you're assuming that everyone writes the same cluttered non-local 1980s C code as what you have pasted. They don't. Most of us who do systems level code are more than capable of using modern idomatic C++ that fits the usecase model of Visual Assist / VS / Source Insight tooling. If you need to refactor code, there is simply no alternative to using a featured IDE toolset (if you care about productivity)

      Many F/OSS zealots have never had the luxury of being productive using proprietary tools like VS/Source INsight/Visual Assist and therefore are forever doomed into thinking that they are useless. These are the same idiots who think 'printf debugging' is good.

      1. The only solution that actually helps the developer when dealing with complex system of libraries is plain old documentation, where those things are explained in plain English (or whatever language the programmer prefers). One does not need IDE to do that -- middle button is usually more than sufficient.

      Apart from interleaved comments in the source code, most source level documentation is no longer than a quick sentence or two (if you're lucky) above the function definition. And guess what... you need the goto symbol functionality for that too.

      Please don't tell me you're the same kind person who insists on ISO level 91124837489237 crap and makes people write reams of documentation (which ends up being low quality ... and obsolete in a few months because nobody has time to fix the documentation when you're about to ship).

      2. If programmer needs tools to navigate declarations and macros in his own code, he is too disorganized to either remember what he is doing, or document his work in a way that he can understand. What means, the project already accumulated massive numbers of mistakes and must be abandoned as unmaintainable. /quote
      Or.. Just a thought.. he could be simply navigating code he wrote 2 years ago in order to find and fix a bug. Are you incapable of enumerating thousands of valid usecases where your blanket assumptions fail? And *YOU'RE* the one complaining about "if it compiles ship it" culture (which is actually unrelated to using IDEs and tools). How ironic.

    3. Re:Yawn... by Alex+Belits · · Score: 1

      You are trying new arguments now.

      I am not "trying" anything.

      You will only succeed in boring the recepient into not responding and thinking you are some kind of zealot/lunatic.

      I do not argue with stupid people to convince them -- what use can I possibly have for an idiot that agrees with me? I argue with them to make it clearly visible to everyone else, how stupid those people's positions are.

      First of all you're assuming that everyone writes the same cluttered non-local 1980s C code as what you have pasted.

      I have pasted a kind of code that is usually found in system libraries that you all love so much.

      They don't. Most of us who do systems level code are more than capable of using modern idomatic C++

      "Idiomatic" (this is how it is spelled) means "Full of copy-paste from cookbooks" when applied to programming language use.

      that fits the usecase model of Visual Assist / VS / Source Insight tooling. If you need to refactor code, there is simply no alternative to using a featured IDE toolset (if you care about productivity)

      Most of the programmer's work is not messing with working code, it's writing new code that uses existing interface and incremental implementation of new functionality in existing project. Those kinds of work benefit from clean and clearly documented interfaces.

      Apart from interleaved comments in the source code, most source level documentation is no longer than a quick sentence or two (if you're lucky) above the function definition. And guess what... you need the goto symbol functionality for that too.

      Comments in the code are for people who modify that code -- they describe how things are implemented. At best, some useful interface documentation is included near definitions of functions and methods, however in a large project it's unmanageable, and distracting for the user who tries to understand how things are supposed to be used.

      Or.. Just a thought.. he could be simply navigating code he wrote 2 years ago in order to find and fix a bug.

      If a single bug is spread across interfaces, you have a fundamental problem of excessively tightly coupled code, and for every bug you know and are trying to fix there are many that you don't know about. In other words, it's shit code.

      Are you incapable of enumerating thousands of valid usecases where your blanket assumptions fail?

      I am incapable of thinking about "use cases" when my work is to make sure that the code always works as specified. People who operate on "use cases" are one level above those who single-step through everything they wrote in the attempt to understand how it actually works.

      And *YOU'RE* the one complaining about "if it compiles ship it" culture (which is actually unrelated to using IDEs and tools). How ironic.

      When I (or any decent programmer) write code, I make an assumption that it WILL be compiled and shipped once I write it, so I better have to do it right at once, and avoid all kinds of guesswork.

      Then, of course, I compile, run, look through it, give it to others for review and verification, and by the time it reaches QA, everyone involved has a good idea why it is correct. After that, occasionally, something still goes wrong, and everyone learns where his (and my) reasoning was faulty. Somehow, the usual development cycle ends up going faster than with thousands of Shakespeare monkeys drowning in a sea of bugs.

      --
      Contrary to the popular belief, there indeed is no God.
  73. Whoops! by theshowmecanuck · · Score: 1

    s/or just being offhand/or AREN'T just being offhand/

    --
    -- I ignore anonymous replies to my comments and postings.
  74. Why not an intermediary between BSD and GPL? by INowRegretThesePosts · · Score: 1

    I think that the GPL should be changed so that distributors could keep the source closed and copy-protected for 4 years.
    This would allow them to make much more profit, thus attracting many more companies to GPL software. Then after 4 years
    that code becomes public. I think this would increase the amount of available free code.