Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



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 hobbit ( 5915 ) on Tuesday January 27, 2009 @07:05PM (#26630553)

    Vim, eh? You spoiling for a fight? ;)

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

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

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

    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:3, Informative)

    by MSG ( 12810 ) on Tuesday January 27, 2009 @07:45PM (#26631153)

    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.

  • by tepples ( 727027 ) <tepples.gmail@com> on Tuesday January 27, 2009 @08:13PM (#26631559) Homepage Journal
    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:GPL to plugins? (Score:4, Informative)

    by QuantumG ( 50515 ) * <qg@biodome.org> on Tuesday January 27, 2009 @08: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 @08: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:3, Informative)

    by realxmp ( 518717 ) on Tuesday January 27, 2009 @08:58PM (#26632089)

    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?

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

    by RiotingPacifist ( 1228016 ) on Tuesday January 27, 2009 @09: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.

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

    by roystgnr ( 4015 ) <roy&stogners,org> on Tuesday January 27, 2009 @09: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:Arrogance (Score:4, Informative)

    by bky1701 ( 979071 ) on Tuesday January 27, 2009 @09: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.
  • by Anonymous Coward on Wednesday January 28, 2009 @06:21AM (#26636443)

    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.

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

    by dhasenan ( 758719 ) on Wednesday January 28, 2009 @12:45PM (#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.

Suggest you just sit there and wait till life gets easier.

Working...