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

25 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 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
  3. 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. 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 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.
  5. 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 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.

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

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

    4. 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!
    5. 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.

  6. 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.
  7. 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
  8. 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.

  9. 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.
  10. 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.

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

    --
  12. 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
  13. 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
  14. 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 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.