Slashdot Mirror


Plug-In Architecture On the Way For GCC

VonGuard writes "This year marks the 25th anniversary of the GNU Operating System. A major part of that system has always been the GNU Compiler Collection. This year, some of the earliest bits of GCC also turn 25, and yet some of the collection's most interesting years of growth may still be ahead. The GCC team announced today that the long-standing discussion over how to allow plug-ins to be written for GCC has been settled. The FSF and the GCC team have decided to apply the GPL to plug-ins. That means all that's left is to build a framework for plug-ins; no small task to be sure. But building this framework should make it easier for people to contribute to the GCC project, and some universities are already working on building windows into the compilation process, with the intent of releasing plug-ins."

70 of 342 comments (clear)

  1. Re:It's Linux, NOT GNU/Linux!! by isorox · · Score: 4, Funny

    why do people still try to attach GNU/ to Linux? It makes no sense.

    Me? I run Gnu/KDE/Xorg/Gnome/vim/perl/rxvt/Fluxbox/Firefox/Java/Linux

  2. Re:It's Linux, NOT GNU/Linux!! by Anonymous Coward · · Score: 2, Insightful

    Given that nobody mentioned Linux in either the summary or the article, one can only assume you're trolling.

  3. Re:It's Linux, NOT GNU/Linux!! by samkass · · Score: 4, Insightful

    The article claims that GNU has produced an operating system, and that GCC is somehow the cornerstone of that "operating system". I don't think the word means what GNU thinks it means. And Stallman's insistence on calling Linux "GNU/Linux" is part and parcel of that misconception.

    --
    E pluribus unum
  4. So why do I want plugins in my complier? by NobleSavage · · Score: 4, Interesting

    Can someone explain what kind of plugins might be made? What extra functionality wold I want in a compiler?

    1. Re:So why do I want plugins in my complier? by Nimey · · Score: 5, Funny

      Spell check.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    2. Re:So why do I want plugins in my complier? by Hatta · · Score: 5, Funny

      So you can watch trippy visualizations while you compile.

      --
      Give me Classic Slashdot or give me death!
    3. Re:So why do I want plugins in my complier? by Whiney+Mac+Fanboy · · Score: 5, Informative

      Go to the GCC Plugins Wiki & search for "Potential use cases".

      --
      There are shills on slashdot. Apparently, I'm one of them.
    4. Re:So why do I want plugins in my complier? by Anonymous Coward · · Score: 2, Interesting

      Can someone explain what kind of plugins might be made? What extra functionality wold I want in a compiler?

      Static analysis.

    5. Re:So why do I want plugins in my complier? by Anonymous Coward · · Score: 3, Interesting

      And there are tons more use cases than that! My research group has a complete plugin system already implemented for GCC, and I've written a few plugins for it.

      I've got plugins that put hooks in for all sorts of variable access, function call and lock events so I can put in custom debugging code. My current project involves collecting statistics and detailed logs for these events in the Linux kernel.

      Because the compiler knows so much data-flow and type information, we also think that these plugins could be perfect for sophisticated static analyses.

      Also, it's funny that another poster suggested trippy visualizations, since one of the projects in the group just so happens to be a visualization! It's not the trippy kind though. Actually, it shows you control flow graphs after compilation and lets you drill down into the compiled representation (a 3-address code known as GIMPLE). It's designed as a tool to aid in debugging new plugins, but it may also be useful for people who want to learn about compilers or people trying to figure out how to write code that optimizes better.

      Check out the paper:
      http://www.fsl.cs.sunysb.edu/docs/gccplugins-gccsummit2007/index.html

  5. I thought GCC by n6kuy · · Score: 4, Funny

    ... was a plugin for emacs.

    --
    If you disagree with me on social issues, then it's pretty clear that you are a narrow-minded bigot.
    1. Re:I thought GCC by Anonymous Coward · · Score: 4, Funny

      ... was a plugin for emacs.

      Well, duh. Everything is a plugin for emacs.

    2. Re:I thought GCC by anonymous+donor · · Score: 2, Funny

      And Emacs is a plugin for what?

      --
      fortune favors the lucky
    3. Re:I thought GCC by Professional+Slacker · · Score: 5, Funny

      Emacs, in fact it's Emacs all the way down.

      --
      A Free Market requires informed intelligent consumers, such people are rare, we're in trouble.
    4. Re:I thought GCC by billius · · Score: 3, Funny

      And Emacs is a plugin for what?

      Woah, woah, let's not get into Metaphysics here ;-)

  6. GPL to plugins? by jpmorgan · · Score: 4, Interesting

    Does this mean they want to force all plugins to use the GPL? How is that possible? I was under the impression that the GPL is purely a distribution license. It comes into force when you distribute software licensed under it, and requires you to distribute (or make available) source code and other things.

    If I write a plugin and do not distribute it with GCC, what legal basis do they have to force me to GPL it? Nothing I distribute is copyrighted by the FSF, and so how can their distribution license apply to my code? I'm confused.

    1. Re:GPL to plugins? by QuantumG · · Score: 2, Informative

      Umm.. no. This is exactly why RMS is so against GCC having a plugin framework. IF (and only if) you don't distribute GPL code with the plugin THEN you are free to place your plugin under any license you like.

      Reminds me of this incident.

      --
      How we know is more important than what we know.
    2. Re:GPL to plugins? by MSG · · Score: 2, Informative

      Does this mean they want to force all plugins to use the GPL? How is that possible?

      A plugin uses the host application's API. It is, therefore a derived work. In the case of the GPL, derived works must be distributed under compatible licenses.

      Some applications allow plugins or modules under incompatible licenses, but in those cases, it is the applications' authors prerogative to grant exceptions for plugins.

    3. Re:GPL to plugins? by againjj · · Score: 4, Interesting

      More precisely, the exception states that if the end compiled product is built with non-GPL compatible plugins, then the end compiled product is subject to the licenses of the linked libraries using the exception. As at least some of those linked libraries are subject to the GPL (being part of GCC) then the end product will be subject to the GPL. If you want to propagate (distribute) the end compiled product, it needs to be a GPL-compatible program, which then means that any libraries linked with it need to be GPL-compatible too, which prevents proprietary libraries linked in. If you do not propagate the end compiled product, then no problem.

      So, long story short, if you have a non-GPL plugin, then either (1) the plugin must be GPL-compatible, (2) the plugin can't affect the end compiled product, or (3) the compiled program must be GPL-compatible and not be linked with anything non-GPL-compatible (say, a proprietary plugin). Basically, they want to prevent plugin writers the ability to lock down a GPL program by requiring that it be compiled with the proprietary plugin. I think there is a loophole in (3), so I hope I did not misunderstand it.

    4. Re:GPL to plugins? by Bruce+Perens · · Score: 4, Interesting

      This is really bad advice. If your plugin is not distributed with the GPL software, it's still a derived work.

    5. Re:GPL to plugins? by QuantumG · · Score: 3, Informative

      No it's not Bruce. It's exactly what has been said by legal representatives of the FSF.. http://gcc.gnu.org/wiki/GCC_Plugins

      --
      How we know is more important than what we know.
    6. Re:GPL to plugins? by Bruce+Perens · · Score: 5, Informative
      I think you need to look at that more carefully. First, it's not a legal statement. It seems to be written by engineers and no counsel is identified. Also, FSF knows better than to make such a statement. Looking at the content of the page, they give the arguments a defendant could make, and the fact that plugins might make it easier to connect proprietary software to GCC, and that they could make the plugin a demarcation between programs if they wanted to. But nothing on the page settles the issue.

      Bruce

    7. Re:GPL to plugins? by QuantumG · · Score: 3, Interesting

      Sorry for the multiple replies.

      Friend of mine once pointed out that practically the whole "let's GPL the library so any apps that use it have to be GPL too" strategy has been thoroughly dismantled by the BSD community.

      Consider libedit. It's a BSD-like licensed replacement for libreadline - RMS's favorite example of "strategic" non-use of the LGPL. It's binary compatible with libreadline. So you can create your app and link it to libedit and happily distribute it under the BSD. To claim that libedit is somehow a derived work of libreadline because it has the same binary interface would be absurd. However, many installation scripts make a symbolic link from /usr/lib/libedit -> /usr/lib/libreadline.

      That's the strong case for dynamic linking == derivative work.. plugin frameworks have always been the weak case. If the strong case doesn't stand up anymore, how can the weak case?

      Don't get me wrong, I don't want to see proprietary plugins for GCC anymore than I like seeing all the proprietary modules for the Linux kernel. But claiming there is some clear legal principle that makes them a copyright violation is a joke.

      --
      How we know is more important than what we know.
    8. Re:GPL to plugins? by realxmp · · Score: 3, Informative

      This is really bad advice. If your plugin is not distributed with the GPL software, it's still a derived work.

      Mmm I suspect in the area of plugins at least this opens a serious can of worms. If the GCC team write a decent stable plugin architecture with a well documented API and then someone goes and writes a set of BSD header files from that documentation then the argument that it's a derived work gets a bit strained.

      If the FSF continue to push that line then we start to move toward the territory of trying to copyright facts about interfaces which after the SCO fiasco most in the free software community might be wary of? Those of us with longer memories might remember how Compaq circumvented IBM's copyright on their BIOS API through clean rooming their interface. I wonder if it's applicable to this? If not, what's different?

    9. Re:GPL to plugins? by QuantumG · · Score: 2, Interesting

      define "bad". RMS thinks proprietary plugins would be bad because he thinks everything proprietary is bad.

      But let me give you an example. I once worked at a company called Codeplay in the UK. They made compilers, proprietary compilers, and one of their biggest markets was the Playstation 2. Everyone used GCC to develop on the PS2. Ok, a few people used Metroworks' compiler - whatever. So they were directly competing with GCC. Our C++ support was horrid. Our C support was better, but one of the things I did was write automated testing tools that compiled "random" C programs with GCC and out compiler and compared the warning/error messages and output from running the program if it actually managed to compile. Anyway, some of the guys there had written instruction schedulers for GCC that made the code generated by GCC for the PS2 actually half decent. This code never saw the light of day because it would have competed with Codeplay's offering. If GCC had a plugin framework (and wasn't so nazi about proprietary extensions) we would have completely changed our business model. Our customers most certainly would have preferred it.

      --
      How we know is more important than what we know.
    10. Re:GPL to plugins? by QuantumG · · Score: 2, Insightful

      According to the GPL, BSD-like-licensed code that is distributed in binary form must be accompanied by the full corresponding source code or an offer to provide the source code valid for 5 years (or whatever). That's what the BSD nerds are complaining about.

      There's no case law that even suggests that copying an API can result in a copyright infringement. That's SCO all over again.

      --
      How we know is more important than what we know.
    11. Re:GPL to plugins? by AxelTorvalds · · Score: 2, Interesting
      I don't know that it has been fully established in court, my company's lawyers are scared enough by all of the language though. The intent is pretty clear, if you use GPLed code in some capacity of leverage it, they want you to GPL your code too. That's always been the idea. In the case of a compiler plugin, depending on how it is linked and other things, if you distribute it at all, you might need to make your code GPL compliant. GPL3 tried to make that all more clear and GCC is GPL3.

      I'm not going to push the ideology here but the last decode or so has shown in more than a few cases the only time this seems to matter is when some company doesn't have the resources to build something but they want to put some tweak on it and sell that. If you're writing some kind of optimizer that you need to keep "secret" but you can't build a full compiler then it's hard to offer much sympathy. If you're building some sort of static analyzer or something that you need to keep "secret" again, I think there are more than enough holes here, you really just can't link to GCC, write your plugin, GPL it and just have it dump whatever intermediate form you need. Custom language or custom hardware support? There are probably some more treacherous areas, I'd imagine that some of the better ILs are somehow protected, and I'd also imagine more than a few compiler jocks would like to graft some of that stuff together, you know GCC's parser and Yoyodyne Corps optimizer and code generator, stuff like that.

      Having worked with more than one chip vendor that "sold" a GCC derivative that supported their hardware, to be completely honest it would have helped our cause and theirs to just GPL the code to begin with.

      Everyone thinks compiler plugins is cool for one reason or another and just about everyone will hate it when there is some interesting plugin that costs $2500 a seat and does some cool stuff but in only runs on Redhat's enterprise Linux in 32bit mode... with a version of GCC that is 2 revs back.

    12. Re:GPL to plugins? by RiotingPacifist · · Score: 4, Informative

      from a quick look at the mailing list it appears to me the problem is
      1) company produces new hardware
      2) company produces proprietary plug-in to produce asm for their hardware platform
      3) they do not open their specifications
      4) they are able to take advantage of GCC and its front ends while using a closed backend
      5) ???
      6) profit

      I may by wrong as i said this is just a quick read of the javabyte code discussion somebody linked to from here.

      --
      IranAir Flight 655 never forget!
    13. Re:GPL to plugins? by RiotingPacifist · · Score: 2, Insightful

      Second, the fact that libedit has the same binary interface as libreadline and perhaps does something that libreadline does (I haven't tried it) doesn't make it 100% clear that libedit is not derivative of libreadline

      doesn't that make wine a derivative of windows

      --
      IranAir Flight 655 never forget!
    14. Re:GPL to plugins? by Bruce+Perens · · Score: 2, Interesting
      SCO wasn't an API case. Long before the SCO case was brought, that API was a US Government standard.

      It's not just that the API is duplicated, it is that the duplicate is made to be dynamic linked to the main work. The closest thing we have had to a dynamic linking case was Nintendo v. Goloob Games. That was about the Game Genie plugging between the Nintendo console and the game cartridge. It's not entirely germane to what we're talking about here. Over the 20 years we've been talking about dynamic linking, there's still been no case law.

    15. Re:GPL to plugins? by roystgnr · · Score: 5, Informative

      A plugin uses the host application's API. It is, therefore a derived work.

      From Sega V. Accolade:

      Computer programs pose unique problems for the application of the "idea/expression distinction" that determines the extent of copyright protection. To the extent that there are many possible ways of accomplishing a given task or fulfilling a particular market demand, the programmer's choice of program structure and design may be highly creative and idiosyncratic. However, computer programs are, in essence, utilitarian articles - articles that accomplish tasks. As such, they contain many logical, structural, and visual display elements that are dictated by the function to be performed, by considerations of efficiency, or by external factors such as compatibility requirements and industry demands. Computer Assoc. Int'l, Inc. v. Altai, Inc., 23 U.S.P.Q.2d (BNA) 1241, 1253-56 (2d Cir. 1992) ("CAI"). In some circumstances, even the exact set of commands used by the programmer is deemed functional rather than creative for purposes of copyright. "[W]hen specific instructions, even though previously copyrighted, are the only and essential means of accomplishing a given task, their later use by another will not amount to infringement."

      Even if the header file can't be legally copied verbatim, you can write a new header file that's API-compatible and not be infringing. Good thing, too, or the Wine folks would be in some serious trouble.

    16. Re:GPL to plugins? by Timothy+Brownawell · · Score: 2, Insightful

      If in the real world they distribute a plugin which calls an api entrypoint in the gcc plugin framework, how would they tell it not being a derivative work?

      Because work A being a "derivative work" of work B is defined to mean that A includes material from B. Program C calling a function in program D does not mean that C includes part of D, so it does not make C a "derivative work" of D.

      Whether A is a "derivative work" of B from the perspective of copyright, and whether it is derived from B from the perspective of scientific/academic attribution are separate questions.

    17. Re:GPL to plugins? by Bruce+Perens · · Score: 2, Interesting

      It's a system that is there to differentiate between purposely exported symbols for interoperability, and internals which are not providing an interface for interoperability. The fraud comes when a program that doesn't really have the the legal permission to use the internals provides a lie to do so. There isn't anything restricting the provision of a GPL device driver which would be fully compatible and interoperable except some internal intellectual property restriction of the organization providing the driver. So, who is on the side of interoperability here? The party that hides its driver internals and lies about its license, or the party that asks third parties to give rights to others.

    18. Re:GPL to plugins? by Bruce+Perens · · Score: 3, Insightful

      LLVM/clang will rise if they convince people to both work on it and to actually release their work to others. Otherwise, we get stuck with a bunch of half-proprietary compilers. There is still a lot of work before we have any clue whether they'll get done or not.

    19. Re:GPL to plugins? by a_n_d_e_r_s · · Score: 2, Insightful

      The solution for the problem is very simple, if you don't to release your software as GPL code - don't use GPL code as a base for your software.

      Thus if you don't want to write GPL code, don't write a plugin to GCC. Instead write some other software that has nothing to do with GCC.

      If you want to write software and base it on GPL code, the least you can do is to return the favor and also release your own code as GPL code.

      The GNU project is based on the old tradition that if you are nice to others so will hopefully they be nice to you too.

      --
      Just saying it like it are.
    20. Re:GPL to plugins? by Knuckles · · Score: 3, Insightful

      And this is bad because...

      Because it violates freedoms 0 to 3? The whole reason for GNU's existence?

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  7. Re:It's Linux, NOT GNU/Linux!! by hobbit · · Score: 3, Insightful

    GNU has produced an operating system. It's nowhere near as advanced in functionality as Linux, but it exists, and GCC one of the largest parts of it.

    It's true that Stallman is a self-important man who makes himself look arrogant by delineating that GNU tools are part of the operating system but not making the same claim for a whole slew of other important tools.

    But however correct the OP's statement, I agree with the reply made to it that the fact it comes apropos of nothing indicates it's a troll.

    --
    "Wise men talk because they have something to say; fools, because they have to say something" - Plato
  8. Re:It's Linux, NOT GNU/Linux!! by Shakrai · · Score: 4, Funny

    nuff said.. why do people still try to attach GNU/ to Linux? It makes no sense.

    Oh god. Can't we stick to something non-controversial like GWB's legacy, gun control, abortion or the Middle East? Nothing good will come of this....

    --
    I want peace on earth and goodwill toward man.
    We are the United States Government! We don't do that sort of thing.
  9. 25 years of .... by fm6 · · Score: 3, Interesting

    This year marks the 25th anniversary of the GNU Operating System.

    No, this year marks the 25th year of work on the GNU OS. There is still no GNU OS as such, and it's pretty obvious there never will be.

    I'm not saying that there's nothing to show for all that work. The GNU libraries and many GNU utilities are key components in many projects, not the least of which is Linux. (<Sarcasm> Oh, excuse me, GNU/Linux.</Sarcasm> ) These are real achievements, and so is the introduction of a new collaborative model of joint software development.

    But the original goal of GNU, to create a free alternative to Unix, has never been achieved. No big loss, there are other free Unix alternatives and even true Unixes for free. I just wish that GNU and its fanboys would stop and ask themselves why they never achieved their primary goal.

    1. Re:25 years of .... by Creepy+Crawler · · Score: 4, Interesting

      That's because it takes thousands of people to make an OS.

      Look at Microsoft and their lines of OSes.. They have what, 50k people on staff at any one time with perhaps 2/3 of them doing programming work? Most of their code is already written from buy-oughts, so they now provide mostly maintenance and scripting. There's maybe 20-50 people doing *interesting* stuff at any one time, it being 10 years away.

      Look at OSX now. They have a similar issue, but leveraged theirs away by choosing a FreeBSD-like platform which to design everything on top of. They also reduce features for their core GUI programs to reduce testing and errors. They also focus much more aesthetically, in direct comparison to Linux GUIS and Windows. And their equipment is much higher priced (can buy 2-3 laptops of the same quality of 1 mac laptop), considering they discourage Hackintoshes.

      The Linux guys ad to design everything from the ground up, because of the choice in license. It was also a NiH kind of "I can do it better" kind of game, because Linux was new and exciting. But development still requires large resources. Linus happened to be the appropriate coder/manager to herd the cats at the bottom. Then everything else fell into place: some by luck and others by necessity.

      FreeBSD: Its THE academic system, and it works well. It's a traditional fork from SYS I which they license it very openly. There's work done on it, but the "cool" work is Linux. The BSD's are perfect for stability, file sharing, and network code. It has a healthy set of adherents and users, but mostly is relegated to core network technologies.

      Now, we look at HURD.. It's there, with a Debian/HURD system install possible. It's there's few device drivers, even fewer developers, doesnt work with basic equipment, buggy as hell (because few developers), and there's something that's "Just As Free", and works to boot (Linux). Would the FSF be better off on discontinuing the HURD? Probably, but it's their choice, and we dont know what its possible uses are yet either.. There's always a critical mass which things like these hit that make them explode, and they might be right about making their own kernel.

      --
    2. Re:25 years of .... by thermian · · Score: 4, Insightful

      This year marks the 25th anniversary of the GNU Operating System.

      No, this year marks the 25th year of work on the GNU OS. There is still no GNU OS as such, and it's pretty obvious there never will be.

      I'm not saying that there's nothing to show for all that work. The GNU libraries and many GNU utilities are key components in many projects, not the least of which is Linux. (<Sarcasm> Oh, excuse me, GNU/Linux.</Sarcasm> ) These are real achievements, and so is the introduction of a new collaborative model of joint software development.

      But the original goal of GNU, to create a free alternative to Unix, has never been achieved. No big loss, there are other free Unix alternatives and even true Unixes for free. I just wish that GNU and its fanboys would stop and ask themselves why they never achieved their primary goal.

      Having tried to get involved a few years back, I think I know why. While I don't deny the extree skill of some of the gnu programmers, GCC, Emacs and Gnuplot are ample evidence of this, they lack, or seemed to lack then, any form of cohesive organisation.

      There was a distinct impression that if you didn't code in C, you weren't good enough, and that little use should be made of widely available, and equally free technology, because it wasn't 'hard core' enough, or so it seemed. There certainly was no logical reason for it. They spent, in my opinion, far too much time trying to write clever code, and not enough time trying to make things easily accessible for prospective new members. Since those new members would probably bring in new ideas and fresh impetus, I'd have thought this was a priority. Attracting some managers would have helped.

      Their mailing list for Hurd showed their problem quite well. In spite of there being plenty of solutions available for spam filtering, they used nothing, which took me somewhat by surprise. This meant I ended up having to sift through literally hundreds of viagra and porn emails each week to try and follow something.

      I asked someone else about it, and he had a script he ran himself to clear the spam. Very clever, very geeky, but very useless for those who think they shouldn't have to do that themselves to make such a mailing list usable.

      I gave up after a couple of months, with a much better idea why we never got Hurd.

      --
      A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
    3. Re:25 years of .... by fm6 · · Score: 2, Insightful

      Huh? You're saying GNU didn't have enough resources? Then how did Linux ever achieve critical mass? Which certainly doesn't have much more in the way of resources, given that their code bases overlap so much.

      The difference between GNU and Linux is not resources. The difference is the people running the show. RMS is on a holy mission; Linus just wants to get the job done.

    4. Re:25 years of .... by BumpyCarrot · · Score: 3, Funny

      NO NO NO! They do NOT need to ask themselves that! If they do, they'll form a committee to go about finding a way of answering the question. After years of deliberating, that committee will decide another committee is better suited, and send them off into the desert for 30 days and nights, to search for their spirit guide.

      Upon their long-hair-bearded-and-sandalised return, they shall proclaim that the original committee was mistaken in their decision, and call for a review on the whole process.

      Years down the line, the final decision will be made:

      We never should've tried to create a Unix alternative in the first place. All work on GNU is meaningless and void. From this day forward, we shall concentrate all our efforts on the creation of a wholly new, original OS based around the same open source principles of the GNU.

      It's name?

      UNG is Not GNU (UNG).

      --
      Do you see what I did there?
    5. Re:25 years of .... by MichaelSmith · · Score: 2, Insightful

      That's because it takes thousands of people to make an OS.

      AST debunked that years ago. And now that minix is available under a free license there is nothing to stop the FSF calling it the GNU OS.

  10. Re:It's Linux, NOT GNU/Linux!! by shish · · Score: 4, Insightful

    You can run a useful open source computer without xorg, you can run a useful computer without java, now that we have things like nexenta (ubuntu userland with opensolaris kernel) we can even go without linux -- but trying to run an open source based box without any of the software that gnu has touched is pretty hard~ (I think some of the BSDs do their own thing for the core, but most of the third-party software which gets installed on top has been touched by the hand of gnu somewhere along the lines)

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  11. GNU Operating System by DragonWriter · · Score: 4, Funny

    GNU has produced an operating system.

    That depends on your definition of "has produced". GNU certainly is actively developing an operating system, but I would say that an OS project that has managed to go 25 years without a stable kernel release cannot fairly be said to "have produced" an operating system.

  12. Nothing More Than GNU/Panic Over LLVM/Clang by Anonymous Coward · · Score: 2, Interesting

    All the exciting complier action going on now is with LLVM and Clang. It's incredibly clean and modern code. It has an free and open non-viral license.

    The GNU crowd sees it as a massive threat to the stranglehold GCC has over open source compilers. This is nothing but a desperation move by GCC to try to fend off the massive migration to LLVM that is going on. The GNU crowd has been acting in ways that would put Microsoft to shame in their efforts to keep their stranglehold on compliers. All the way from the way GCC is coded to anonymous trolling of everything they see as a threat to non-GPL complier tech.

    LLVM is going to be the one of and perhaps the single most important thing in the history of compliers. The academic world, business world, hardware manufactures are migrating to LLVM.

  13. Re:It's Linux, NOT GNU/Linux!! by gnarlin · · Score: 4, Funny

    but most of the third-party software which gets installed on top has been touched by the hand of gnu somewhere along the lines

    I delight in reminding your that gnus don't have hands, they have hoofs!

    --
    A bad analogy is like a leaky screwdriver.
  14. Arrogance by Anonymous Coward · · Score: 4, Insightful

    To quote the rationale document:

    Developing nonfree software is not good for society, and we have no obligation to make it easier.

    This is the kind of ideological arrogance that drives me up the wall with the FSF and GPL. There is this over riding presumption that they're right, and further more, anything contrary to their aims is "Bad for society". What childish bullshit.

      It's not even as if they soften it by making it a question of belief. They could just as easily say "We believe developing non-free software is not good for society". The absolutism in their position reminds me of religious fundamentalism. Which also bugs the shit out of me.

    1. Re:Arrogance by Anonymous Coward · · Score: 2, Funny

      Of course, this was posted anon to avoid reprisals from the faithful.

    2. Re:Arrogance by bky1701 · · Score: 3, Informative

      So, putting "believe" into their statement would somehow make it politically correct, and they should do that, because you said so?

      Sorry, no. They stated their opinion. Here is a newsflash for you: nothing is absolute. Should everyone prefix their opinions, assumptions and even what they think is a fact, with a disclaimer that it's just their opinion, and not to worry, but there is no free software god that is going to send all Microsoft devs to hell?

      Lets see;
      "I believe evolution is the best explanation."
      "I believe you need 3 AAA batteries."
      "I believe my hair is on fire."

      I am sorry to have to point this out to you, but it's the FREE SOFTWARE FOUNDATION. I think that anyone capable of understanding the English language would be able to recognize that it is their opinion, politically-correct belief disclaimer or not.

    3. Re:Arrogance by Anonymous Coward · · Score: 2, Insightful

      Bill Gates and RMS are running on the same philosophy. They both want people roped into their own little philosophy and worldview: Bill Gates wants everyone running on his proprietary little OS coded in .NET while RMS wants everyone using his license which he controls while coding in straight C. The only difference is that Bill Gates wants to promote slavery to his OS while RMS wants Freedom to be the ONLY way. Isn't that how America has been pushing democracy in the middle east?

      Y'know, at least the rationale for Linux kernel tainting makes sense pragmatically - it keeps people with modules that Linus can't fix from sending bug reports relating to those broken proprietary modules.

  15. Re:It's Linux, NOT GNU/Linux!! by wild_quinine · · Score: 2, Interesting

    why do people still try to attach GNU/ to Linux?

    Ah, the great Gnu/Linux naming controversy. It's a long page for a short issue, but if you really want to kill a tree, try printing the talk page, instead.

    You know that there's zealotry involved when the argument for justification of a single sentence is longer than the entire article.

  16. That means all that's left is to build a framework by Lars+T. · · Score: 3, Funny

    That is clearly the easy part, should only take a few years, much shorter than the decision at least. I'll bang my head against the wall while I wait.

    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  17. Re:It's Linux, NOT GNU/Linux!! by MoellerPlesset2 · · Score: 3, Insightful

    I don't think the word means what GNU thinks it means.

    Well, the meaning of the word 'operating system' is subective of course. But the goal of GNU since the start was always to produce a UNIX-like operating system. And the UNIX operating system was always a lot more than just a kernel, it included tools, a shell, a compiler, etc. From the UNIX perspective, the GNU definition of 'operating system' makes perfect sense. Now if you're coming from the microcomputer persective, where an "operating system" was nothing more than the kernel and possibly a shell, you'd obviously be more inclined to simply label the kernel as an operating system. On the other hand, back when DOS was created, it barely would've been considered an operating system by the folks using UNIX and VMS. Indeed, DOS would barely qualify as an operating system today, especially considering what modern BIOSes can do.

  18. Re:Operating System? by DragonWriter · · Score: 3, Funny

    No, the hurd is the kernel, GNU is the (still incomplete) Operating System.

    More precisely:

    No, the hurd is the (still incomplete) kernel, GNU is the (still incomplete) Operating System.

  19. How spell check could work in a C compiler by tepples · · Score: 2, Informative

    Spell check for identifiers might actually be useful. When you get an "undefined symbol 'plyaer'" error, it'd be nice if GCC could search the symbols in scope for with the shortest Levenshtein distance. The error message could look like this: "undefined symbol 'plyaer': did you mean 'player'?"

    1. Re:How spell check could work in a C compiler by lysergic.acid · · Score: 2, Insightful

      that sames more appropriate for an IDE. if you have the spell check in the IDE, you can easily identify and immediately fix typos as you code. waiting for the compiler to spell check your code is like building a spell-checker into your printer driver or PostScript interpreter.

      since most modern IDEs already feature syntax highlighting, which typically comes with function lists, symbol databases, and a live parser, it would just be a simple matter of integrating an additional user dictionary to the parser so that misspelled variables, comments, literals/output messages, etc. get highlighted.

      the parser could even make sure that your variables are named consistently according to naming conventions you specify. so if you have a long named strAge or you forget to use CamelCase, or use it incorrectly (e.g. fetchNExt() instead of fetchNext()), on a function or variable, the parser should be able to point that out to you. that would be more useful than getting warnings from the compiler about lexical code issues.

    2. Re:How spell check could work in a C compiler by Schraegstrichpunkt · · Score: 2, Interesting

      "Referer"

  20. Essential plugin by symbolset · · Score: 2, Insightful
    --
    Help stamp out iliturcy.
  21. Re:That means all that's left is to build a framew by TheRaven64 · · Score: 5, Interesting

    Or just do what the rest of us are doing, and hack on LLVM. It's BSDL, so you can license your plugins however you want, and it's very modular so it's easy to reuse parts of it. Oh, and it's actively backed by Apple, Adobe, Sun, Cray, and a few others including a number of universities.

    --
    I am TheRaven on Soylent News
  22. It's GNU/Linux if it's not uClinux by tepples · · Score: 3, Interesting

    but trying to run an open source based box without any of the software that gnu has touched is pretty hard

    I for one say "GNU/Linux" to distinguish an operating environment designed for a workstation or server from embedded Linux. It's possible to run a useful box, especially one handling embedded style workloads such as IP packet routing, with very little FSF-owned code. A "uClinux" environment might use uClibc or Newlib instead of glibc, uClibc++ instead of GNU libstdc++, and BusyBox instead of Bash and GNU Coreutils.

  23. Re:It's Linux, NOT GNU/Linux!! by Lord+Bitman · · Score: 2, Insightful

    While I agree that "GNU" is not an operating system in any sense of the word (unless you include poorly-designed experimental attempts like HURD), it should be said that a compiler is an absolutely essential component to any operating system.

    That popular operating systems ship without a compiler is only a sign of those systems being broken. If you aren't provided with a tool that lets you tell the system how to operate, you haven't got an operating system.

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  24. Nice by coryking · · Score: 5, Interesting

    Mod me as a troll if you must but... People ought to read the link given by the parent. Wow.

    So, how do we permit plugins while prohibiting proprietary plugins, and how do we do it while staying within the bounds of copyright law which is the basis of the GPL

    Nice. You know, in a very funny way, the FSF and their jiahad against the evils of proprietary software are basically creating their own twisted form of DRM. Witness this brilliant idea:

    most people participating in the related discussions on the gcc mailing list, suggested already that an unstable plugin API would bring all major advantages of plugins in gcc, while complicating the scenario of proprietary plugins. Indeed, it would probably even make sense to consider having a default policy of the plugin API to be modified for each major release, this could be achieved using automated scripts-which would also increase the motivation for plugin authors to keep their plugins in the main repository

    Nice. The Linux kernel guys did this and look at the result--it is a bitch for hardware guys to write drivers for Linux. I'm sure deliberately altering the API with a script will work really well for the GCC guys! Makes me want to participate. Not! In truth, it makes me feel like I'm some kind of criminal--only guilty until proven innocent.

    Sadly, the FSF did some very nice things, but I think they are becoming so extreme they are going to marginalize themselves and fade away. You know what the biggest hurdle for the BSD guys go separate themselve from GPL? The compiler. The compiler really is the last bit of power the FSF holds over the open source world as a whole. Pretty much every other bit of the toolchain has been replaced with a non-GPL lisence except a good compiler.

    LLVM seems to be coming along nicely with major players backing it. I'd be pretty nervous if I was the FSF.

    1. Re:Nice by Whiney+Mac+Fanboy · · Score: 3, Insightful

      Nice. The Linux kernel guys did this and look at the result--it is a bitch for hardware guys to write drivers for Linux

      Bullshit. The result is that it's a bitch for proprietary guys to write binary only drivers for linux.

      And you know - why should the GCC & Linux projects make things easy for the proprietary guys? It's not like the proprietary guys go out of their way to make life easier for OSS.

      --
      There are shills on slashdot. Apparently, I'm one of them.
    2. Re:Nice by W2k · · Score: 4, Insightful

      why should the GCC & Linux projects make things easy for the proprietary guys?

      Because biting the hand that feeds you have never been a good strategy. There's not enough open hardware - free operating systems are still dependent on the goodwill of proprietary vendors to be able to support mainstream hardware with anywhere near the same features and performance as users of proprietary OS take for granted.

      Granted, this may well change soon, but until then making it hard for hardware developers to provide good Linux drivers is just making things harder for Linux users who have no interest in being dragged into your religious wars.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
    3. Re:Nice by W2k · · Score: 3, Insightful

      When someone rips of GCC development by writing a proprietary plugin, what exactly would make that person "the hand that feeds GCC developers"? Isn't it more like the opposite?

      Not the developers; the users of GCC benefit (are "fed") by the availability of plugins, proprietary or no. I assume that most developers of GCC are also users, so this benefits the developers as well.

      Also, I would hope that the developers of a popular software package would see fit to act in the best interests of their users, rather than fight stupid religious wars over which of proprietary/open is better. Fact is we'll always have both kinds of code, so we should try to get along with each other rather than fight pointlessly.

      Unfortunately many free software advocates are more than happy to fight these wars, because they put ideology above the goal of creating great software, making them no better than the greedy corporations they so despise.

      --
      Quality, performance, value; you get only two, and you don't always get to pick.
  25. Re:Windows in the compilation process?! by Malc · · Score: 2, Funny

    Poppycock. That's utter BS, and you know it. If Windows wasn't reliable enough, then it wouldn't be so popular, even for servers. I find Windows to be more reliable and stable than my Mac Book Pro running OS X 10.5.x, and that's based on UNIX. Stop the childish FUD.

  26. Or just do what the rest of us are doing...? by Anonymous Coward · · Score: 3, Informative

    It says on the LLVM website FAQ, "GCC is licensed under the GPL license. clang uses a BSD license, which allows it to be used by projects that do not themselves want to be GPL"

    The LLVM site is registered in the name of Chris Lattner who works for Apple.

    What the FAQ ought to have said is, "clang uses a BSD license, which allows it to be used by projects which wish to take the source code, close it, and profit off the backs of those who contributed without rewarding them."

    Go ahead and hack on LLVM, but don't kid yourself that "the rest of us" are doing it too.

  27. Re:Operating System? by Zwicky · · Score: 2, Insightful

    Exactly! HURD is the kernel, Emacs is the operating system.

    --
    "Three eyes are better than one" -- Lieutenant Columbo
  28. Sean Callanan... by dhasenan · · Score: 2, Informative

    Sean Callanan, a graduate student at Stony Brook University, has created a plugin system for GCC. It's been languishing in a branch for the past year or so.

    Many people have wanted this branch to be merged from trunk, but a few people with licensing concerns have blocked it in the past.