Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
GNU is Not Unix Programming IT Technology

Plug-In Architecture On the Way For GCC 342

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."
This discussion has been archived. No new comments can be posted.

Plug-In Architecture On the Way For GCC

Comments Filter:
  • by NobleSavage ( 582615 ) on Tuesday January 27, 2009 @06:07PM (#26630587)
    Can someone explain what kind of plugins might be made? What extra functionality wold I want in a compiler?
    • by Nimey ( 114278 ) on Tuesday January 27, 2009 @06:09PM (#26630615) Homepage Journal

      Spell check.

      • 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 [wikipedia.org]. The error message could look like this: "undefined symbol 'plyaer': did you mean 'player'?"
        • Re: (Score:3, 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

        • Re: (Score:3, Interesting)

          "Referer"
    • by Hatta ( 162192 ) on Tuesday January 27, 2009 @06:19PM (#26630757) Journal

      So you can watch trippy visualizations while you compile.

    • Go to the GCC Plugins Wiki [gnu.org] & search for "Potential use cases".

      • Nice (Score:5, Interesting)

        by coryking ( 104614 ) * on Tuesday January 27, 2009 @10:16PM (#26633539) Homepage Journal

        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.

        • Re:Nice (Score:4, Insightful)

          by Whiney Mac Fanboy ( 963289 ) <whineymacfanboy@gmail.com> on Wednesday January 28, 2009 @02:57AM (#26635799) Homepage Journal

          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.

          • Re:Nice (Score:5, Insightful)

            by W2k ( 540424 ) on Wednesday January 28, 2009 @05:13AM (#26636375) Journal

            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.

      • Re: (Score:3, Interesting)

        by Anonymous Coward

        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

    • Re: (Score:2, Interesting)

      by Anonymous Coward

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

      Static analysis [mozilla.org].

    • Essential plugin (Score:2, Insightful)

      by symbolset ( 646467 )
      DWIM [google.com]
  • by n6kuy ( 172098 ) on Tuesday January 27, 2009 @06:07PM (#26630597)

    ... was a plugin for emacs.

  • GPL to plugins? (Score:5, Interesting)

    by jpmorgan ( 517966 ) on Tuesday January 27, 2009 @06:11PM (#26630637) Homepage

    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.

    • Its if you distribute it at all, not if its distributed with GCC.

      There is a clause in the GPL about how other software can interact with it.
      Plugins have to be GPL.

      • Re: (Score:3, Informative)

        by QuantumG ( 50515 ) *

        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 [gnu.org].

        • Re:GPL to plugins? (Score:5, Interesting)

          by Bruce Perens ( 3872 ) * <bruce@perens.com> on Tuesday January 27, 2009 @07:24PM (#26631693) Homepage Journal
          This is really bad advice. If your plugin is not distributed with the GPL software, it's still a derived work.
          • Re:GPL to plugins? (Score:4, Informative)

            by QuantumG ( 50515 ) * <qg@biodome.org> on Tuesday January 27, 2009 @07:31PM (#26631767) Homepage Journal

            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 [gnu.org]

            • Re:GPL to plugins? (Score:5, Informative)

              by Bruce Perens ( 3872 ) * <bruce@perens.com> on Tuesday January 27, 2009 @07:39PM (#26631853) Homepage Journal
              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

          • Re:GPL to plugins? (Score:4, Interesting)

            by QuantumG ( 50515 ) * <qg@biodome.org> on Tuesday January 27, 2009 @07:44PM (#26631919) Homepage Journal

            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.

            • by fbjon ( 692006 )
              Why would proprietary plugins for GCC be bad? I can't really conceive of a similar situation to e.g. the Nvidia drivers.
              • Re: (Score:3, Interesting)

                by QuantumG ( 50515 ) *

                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 thing

              • Re:GPL to plugins? (Score:5, Informative)

                by RiotingPacifist ( 1228016 ) on Tuesday January 27, 2009 @08:26PM (#26632463)

                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.

            • There are a couple of problems with what the BSD folks think they have done. First, the BSD license is GPL-compatible, so nobody's going to sue them for infringement. Thus there is no case law to tell us if they are right or not. 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. Third, if the distributor of proprietary software were to arran

              • Re: (Score:3, Insightful)

                by QuantumG ( 50515 ) *

                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.

                • Re: (Score:3, Interesting)

                  by Bruce Perens ( 3872 ) *
                  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,

              • Re: (Score:3, 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

          • Re: (Score:3, Informative)

            by realxmp ( 518717 )

            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

            • Reverse-engineering is a means to avoid trade-secret protection, not copyright. That's what is different.

              If there is a requirement for modules to identify their licensing, as with Linux, it may be that FSF changes their license to require that such identification be accurate, and that the rejection of improper licenses by the software remain intact. This is a sort of anti-DRM. FSF turned copyright on its head, why not DRM too?

      • There is a clause in the GPL about how other software can interact with it.

        Of course, since you don't need any license to distribute software that isn't a distributive work under copyright law, even if it "interacts with" another piece of software, such a license term has dubious effect.

        • That's "derived work" or "derivative work". If it's run-time linked to a GPL work, it's probably a derivative work anyway. The GPL doesn't concern itself with how two programs interact, you're just mistaken about that. It does say that an interactive user interface should be able to emit a statement about the license and where to get the source.
          • If it's run-time linked to a GPL work, it's probably a derivative work anyway.

            As far as the plugin host is concerned, it's a data file that happens to run as code when run. The plugin just has to adhere to some specification (and I'm sure that somebody will reverse-engineer the spec, if it's not publicly available just as text). That doesn't make it a derivative work.

            • Reverse engineering is a means of avoiding trade-secret protection, not copyright. In the case of GCC, it's fully disclosed, and it's not at all clear to me that a document good enough to allow a working plugin would not be derivative.

              But I suspect that this is all moot. If FSF puts a plugin mechanism in GCC, they're probably going to modify the license attached to it, too.

              • Reverse engineering is a means of avoiding trade-secret protection, not copyright.

                What about the clean-room BIOS (re)implementation for the IBM PC clones?

              • by Zan Lynx ( 87672 )

                it's not at all clear to me that a document good enough to allow a working plugin would not be derivative.

                That is the point of the reverse engineering. For example, Wine is reverse engineered, and no one seriously claims Wine is derivative of Windows source code.

    • You actually raise an excellent point because the GPL can only be enforced on redistribution of either the original work OR a derivative work based on the original GPL'd code. In this case, the FSF wants to say that the plugins are derivative works... but unless you actually include GPL'd code in your plugin, there is no way for them to force you to distribute the code as GPL. Now, the GCC developers may try to entice developers into making a derivative work by giving out a GPL'd "skeleton" plugin that ha

      • by gnud ( 934243 )
        The FSF could let the TIVO hole work _for_ them --
        Require all plugins to link against a small (512 byte or so?) GPL'ed blob, and check for it at load time.
        • The FSF could let the TIVO hole work _for_ them -- Require all plugins to link against a small (512 byte or so?) GPL'ed blob, and check for it at load time.

          That has been tried before, and the courts said it doesn't work that way.

          News article [cnet.com] that mentions an older case (while discussing one that was ongoing):

          Pre-DMCA cases involving video game consoles concluded that it was legal to copy code for the purposes of interoperability, Litman said. In Sony v. Connectix, the 9th U.S. Circuit Court of Appeals concluded that it was legal for Connectix to copy the Sony PlayStation's BIOS for the purpose of interoperability.

          The outcome of the case that article was abou [wikipedia.org]

        • Require all plugins to link against a small (512 byte or so?) GPL'ed blob, and check for it at load time.

          The wiki article [gnu.org] mentions this legal theory. Search for "A gcc-based scripting interpreter could by default check for a mandatory license statement". But other companies have tried this in the United States, and courts have rejected the originality (and therefore the copyright) of such magic cookies. Look up Sega v. Accolade (pre-DMCA) and Lexmark v. Static Control (post-DMCA).

    • by Anonymous Coward

      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

    • Re: (Score:3, Informative)

      by MSG ( 12810 )

      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.

      • How does using an API make your software a derived work? By that logic every program that runs on Windows is a derived work, since you're using Microsoft's API.

        Does Microsoft get to dictate your license because your software runs on Windows?

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

        It's only a "derivative work" of the application if it contains actual copyrightable stuff from the application. Things required purely for interoperability (like, say, function declarations or the data structures required by those functions) don't count.

        Back when the IBM clone PCs [oldcomputers.net] came out, the clones had reverse-engineered and reimplemented BIOS code, very much derived from the original (copyrighted) BIOS. But it wasn't a "derivative work", because copyright covers the actual code itself, rather than what

      • Easy enough to get around that by having your "plugin" be a glue layer to a separately compiled binary with a command line interface, so your reason is useless. Besides, it has been suggested that rewriting a header file will get around copyright. See my post below [slashdot.org] for another analysis.
      • Re:GPL to plugins? (Score:5, Informative)

        by roystgnr ( 4015 ) <royNO@SPAMstogners.org> on Tuesday January 27, 2009 @08:30PM (#26632513) Homepage

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

        From Sega V. Accolade [eff.org]:

        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.

    • Re:GPL to plugins? (Score:5, Interesting)

      by againjj ( 1132651 ) on Tuesday January 27, 2009 @07:21PM (#26631653)

      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.

      • Clever, so it's not the license of the GCC they're using to enforce this rule, but rather the license of the standard libraries.

        Of course, one could always replace those GPL'd libraries with non-GPL'd ones, but that's starting to increase the amount of work required.

    • Okay, so if I write a fairly configurable plugin that takes a configuration file (that just happens to be compiled machine code) and at run time (compile time that is) my plugin calls into this configuration file (read non-GPL library) to do its work well then I'll just make my plugin available under the terms of the GPL license. Of course it won't work to well without the configuration file but that is just data, obviously I don't need to redistribute my data under the GPL. Well sure my plugin isn't very

    • Re: (Score:3, 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 g

  • 25 years of .... (Score:3, Interesting)

    by fm6 ( 162816 ) on Tuesday January 27, 2009 @06:21PM (#26630791) Homepage Journal

    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.

    • Re:25 years of .... (Score:5, Interesting)

      by Creepy Crawler ( 680178 ) on Tuesday January 27, 2009 @06:39PM (#26631063)

      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.

      • Re: (Score:3, Insightful)

        by fm6 ( 162816 )

        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.

      • Re: (Score:3, Insightful)

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

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

    • by thermian ( 1267986 ) on Tuesday January 27, 2009 @06:41PM (#26631099)

      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.

      • 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, [snip]

        Ah, gnuplot has nothing to do with GNU or the FSF. From the gnuplot FAQ [gnuplot.info]

        Any reference to GNUplot is incorrect. The real name of the program is "gnuplot". You see people use "Gnuplot" quite a bit because many of us have an aversion to starting a sentence with a lower case letter, even in the case of proper nouns and titles. gnuplot is not related to the GNU project or the FSF in any but the most peripheral sense. Our software was designed completely independently and the name "gnuplot" was actually a compro

    • Re: (Score:3, Funny)

      by BumpyCarrot ( 775949 )

      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 th

  • Arrogance (Score:4, Insightful)

    by Anonymous Coward on Tuesday January 27, 2009 @06:34PM (#26630997)

    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.

    • Re: (Score:2, Funny)

      by Anonymous Coward

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

    • Re:Arrogance (Score:4, Informative)

      by bky1701 ( 979071 ) on Tuesday January 27, 2009 @08:45PM (#26632663) Homepage
      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.
  • 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.
    • by TheRaven64 ( 641858 ) on Tuesday January 27, 2009 @07:29PM (#26631743) Journal
      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.
      • by Anonymous Coward

        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

  • Sean Callanan... (Score:3, Informative)

    by dhasenan ( 758719 ) on Wednesday January 28, 2009 @11:45AM (#26640371)

    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.

Real programmers don't comment their code. It was hard to write, it should be hard to understand.

Working...