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."
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
Given that nobody mentioned Linux in either the summary or the article, one can only assume you're trolling.
Vim, eh? You spoiling for a fight? ;)
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
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
Sure it does, considering GNU utils form the basis of the userland and Linux is just the kernel - hence GNU/Linux.
Can someone explain what kind of plugins might be made? What extra functionality wold I want in a compiler?
... 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.
you mean hurd?
No, the hurd is the kernel, GNU is the (still incomplete) Operating System.
There are shills on slashdot. Apparently, I'm one of them.
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.
lol, do not feed.
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
I am aghast. Please use proper capitalization of "GNU." Your lack of respect for the roots of your operating system is disgusts me.
:P Seriously, I read the GNU website stuff (some of it) and ... ok, I get the point, but it's almost like they're on an ego trip, whining about how people are giving them proper credit, and wanting everyone to know how important they are. Frankly, I don't honestly care that much about Linus. And why not give credit to people who created Unix, since it's hard to write an OS that isn't influenced by current OS's?
Meh. If "Free Software" and "Open Source" and "GNU/Linux" means that sort of elite "you need to remember your roots and never use non-free software no matter how much it costs you or anyone else! Refuse to make money using any non-free software! And don't forget who we are!" attitude... well, even Microsoft doesn't seem that bad :) And I LIKE free software. And donations. And Magnatune. And dislike Apple. And iTunes... [continue list of Slashdot Qualifications]
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.
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.
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
Why do idiots keep calling it Linux when there is no such operating system? There is Red Hat, SuSE, Debian, etc which are operating systems.
Wow. You're ass must be sore.
I have used GCC and a few other GNU tools for years now and I never knew that it was an OS.
My bad. I must really get around to downloading and installing it sometime.
The only logical reason to object to this is on grounds of practicality. If you think it makes no sense, you don't understand the issue.
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.
Only in as much as the original poster is a troll, then. The plugin system for GCC could have been discussed in a purely neutral manner if the article hadn't been submitted with the business about GCC being part of an operating system. GCC may be what compiled the operating system, or what developers use to develop for the operating system... but it's not part of an operating system. The fact that we're even discussing this implies the submitter's comments were trollish, IMHO.
If the article was supposed to be about the plugin system, maybe the submission should have led with that.
E pluribus unum
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.
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.
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.
To quote the rationale document:
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.
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.
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
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.
More precisely:
No, the hurd is the (still incomplete) kernel, GNU is the (still incomplete) Operating System.
The only logical reason to object to this is on grounds of practicality. If you think it makes no sense, you don't understand the issue.
Point me to the clause in the GPL where it says if I or my software benefits from your software being used in conjunction with mine I have to prefix your name to the resulting project? I can't find one, so that means this is bullshit. The GPL guarantees certain things about code and also makes provisions for giving you recognition for your code in the source - it makes no such guarantees about your recognition in the name of the software. Stallman and the other FSF zealots can bitch and moan all they want about not getting the recognition they "deserve" but if they wanted it so bad they should've made it part and parcel of the licence, not expect everyone to bend to their will for the sake of their egos.
There are two stories here:
1) 25th anniversary of GNU OS project
2) GCC plugin approach agreed
They coincide, and both relate to the FSF, so why shouldn't they be brought together in a single article?
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
Point me to the planet on which that's relevant to the issue at hand.
We're talking about "GNU/Linux" vs. "Linux". "Linux", as defined by its creator, is an operating system kernel. By definition, using that name refers to an operating system kernel, not to ANY "project" including GNU.
GNU, on the other hand, is a project to create a Unix replacement. It would be a functional unix environment, except for the lack of a kernel. By definition, "GNU" refers to this, not a distro project, and not a kernel.
Put the two together, and you get a distro (albeit a minimal one). Therefore, the logical thing to do is combine the names. The only reason to disregard this logic (a reason which I think is perfectly valid, you should know) is that "Linux" is more pronounceable and user-friendly than "GNU/Linux".
In software engineering, it's called "coincidental cohesion". It's bad. Slapping things together because they seem related when, functionally, they are not is careless and potentially confusing.
Welcome to the Panopticon. Used to be a prison, now it's your home.
Emacs. There, I fixed the finger spasms for the both of you. ^_^
No. The HURD, like Linux, is a kernel. NOT an Operating System.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
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'?"
Around here, we discuss the same topic in multiple articles, not the other way round.
It's a lot easier than it used to be. You can compile at least one of BSD kernel with PCC now, and I think two of them now build with LLVM/clang. The big remaining hurdle is GNU binutils. There was a FreeBSD libelf-based replacement underway, but it's largely stalled.
I am TheRaven on Soylent News
DWIM
Help stamp out iliturcy.
The meaning of a UNIX operating system is well defined here.You will notice that it does not define anything about the kernel other than two device nodes. It does, however, specify a C compiler and a large number of C standard library functions. On a GNU/Linux system, these are provided by GNU libc, which calls into the Linux kernel for some functions, but can also support HURD and FreeBSD kernels.
I am TheRaven on Soylent News
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 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).
Hurd was released in a working state?
I must have missed it.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
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
Except, that we don't call it Grub/GNU/Xorg/KDE/Linux. We don't call it by everything we attach to make a minimal distro. We simply call it Linux, because for the people that use Linux, the kernel is the only completely consistent aspect. The GNU tools are probably the second most consistent aspect of any Linux usage, but Linux does not completely depend on using the GNU tools.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
That's not a definition of a word, that's a standard. A standard which did not exist in 1983.
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.
You remember that?
The kernel is far from completely consistent; it's patched and selectively built on almost every distro. If anything, libc, bash, and the gnu core utils and toolchain are the main consistencies.
But this is a silly thing to argue about, since we're obviously not going to agree. Let's agree to disagree :)
Perhaps the spasm was due to an injury obtained from the Emacs shortcuts.
cat
Who gives a shit about writing plugins for GCC? It's just a compiler for God's sake!
From the link you posted:
"Coincidental cohesion is when parts of a module are grouped arbitrarily (at random); the parts have no significant relationship (e.g. a module of frequently used functions)."
Certainly these two stories did not appear together entirely at random. It's temporal cohesion, at worst!
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
GCC project, and some universities are already working on building windows into the compilation process, with the intent of releasing plug-ins."
The last thing GCC needs is Windows OS dependence.
Windows isn't reliable enough to run ordinary desktop software, why should we trust it to compile important things with?
Much like slapping together the words "software" and "engineering" to describe a pompous clusterfuck of buzzwords and fad development practices.
Indeed this is like saying visual studio is part of windows. As MS uses that to compile it.
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
I'll bang my head against the wall while I wait.
Careful. The reason developments in GNU are so slow is because they've been banging their heads against the wall.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
It is not in Greg's employers interest for him to push this issue. Remember, they've tried to play fast and loose with the GPL before.
Bruce Perens.
I think the FSF is somewhat crazy, but at the same time I can understand their position, because the typical "Linux" system includes tons of GNU software. In order to alleviate my guilt at calling the system "Linux", I decided to port over BSD tools instead. Now I have BSD which, whois, rcng, newsyslog, netcat, gzip, ed, yacc, init, pax, cpio, findutils, inetd, ftp, ping, telnet, libedit, and coreutils (findutils and coreutils being all the tools that are in the GNU packages of the same name).
I still have lots of GNU stuff, of course (crossing my fingers about clang, though), but I've replaced a good number of GNU programs with BSD programs.
Although I have to admit that the main reason I did this was because GNU's manpages are shit, and the BSDs' are great. The ability to drop the "GNU" prefix was just a bonus.
You should check out Gnu/KDE/Xorg/Gnome/emacs/perl/rxvt/Fluxbox/Firefox/Java/Linux
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.
Woah woah, let's be a bit more accurate here. The GNU project has produced a kernel, it's nowhere near as advanced in functionality as Linux, but it exists...
GNU and Linux go together to form the base of a GNU/Linux distribution, you can get a running system going with GNU and Linux and virtually nothing else, those are the two main parts.
I see no decent reason to call it 'Linux' rather than 'GNU'. Sure it might differentiate between a system with a Linux kernel and a HURD kernel, but virtually everyone that uses GNU, uses it with the Linux kernel.
Not being a great fan of Linus and being very appreciative of GNU and agreeing with Stallman, I call it GNU/Linux.
I also think that Freedom with software and computers is important, I just recently came across a story about a guy who was trying to scan some stuff, but the scanner refused to do it because it recognized some anti-copying marks. This is pathetic, when I buy hardware, I expect it to be mine, and to be in charge of it. With more and more hardware based restrictions coming out, that may or may not be able to be circumvented in software, then the basic principle of Freedom is going to be the best objection to these restrictions. The free market can only solve these problems when there are alternatives, if hardware based restrictions become standard, then people will not be able to vote with their money, it will simply be an issue of whether you value freedom.
So I say GNU/Linux because the GNU project is dedicated to raising awareness of freedom with regards to software and computers.
Mod me as a troll if you must but... People ought to read the link given by the parent. Wow.
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:
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.
And running any of the GNU tools without a suitable kernel is kind of difficult also - so should we call it Linux/GCC? perhaps BSD/Linux/Windows/GCC?
And yes, of course I know it runs also on windows, even though that makes the 'pure blood' GNU aims seem somewhat odd, but does that actually help things?
Call me when HURD becomes workable for every day purposes (you know, like supporting hardware other than that of the core developers..) and we can talk.
No Mach is the kernel. Hurd is part of the posix env that run above the kernel.
"...and GCC one of the largest parts of it."
If that's true then it's not an operating system.
ulinux and busybox, most routers run it, i know mine does. It does use GNU software. Its all GPL/LGPL, its all based on GNU tools, but there is no GNU.
GNU isnt bad, and i dont think giving them credit is wrong, but such systems do exist, for example: android.
*lol* fantastic
The revolution will not be televised... but it will have a page on Wikipedia
While the idea of GCC having plugins has a great "cool" factor, I don't understand what problem they're trying to solve.
As best as I can tell, people who are not GCC developers want to be able to take advantage of all the effort that has gone into GCC to make new and nifty things - but the interfaces in GCC (primarily the IR/intermediate representations) are poorly documented and change frequently from version to version.
Plugins are an attempt to replace create a new API to solve problems tangental to another API - where the problems are a lack of documentation and instability of the API. As development of the GCC continues, new features and methods are going to quickly reveal problems with the plugin API - either the existing APIs will not be able to take advantage of the new features, or they will need t change, or they'll even be removed. And, of course, the interaction between the APIs and the compilation process will need to be documented too in order for them to be useful. And lastly, if the idea of requiring plugins to be GPL'd is to strongly encourage them to be placed in the GCC repository, then that increases the maintenance effort on the GCC developers to keep the donated plugins up to date - or make the unpleasant decision to discard them.
So, not knowing what problems that Plugins are trying to solve, I wonder if solving this another way wouldn't be a good idea - such as resigning the IR format to encourage easier and better documentation or something like that. The GCC was initially created a long time ago before more contemporary methods of keeping code and documentation in sync were developed. Using modern methods would pretty much require a complete, almost clean-room rewrite of GCC which would nullify the benefit of taking advantage of all of the skill and knowledge embedded in the GCC.
So, can someone tell me what Plugins are trying to do?
so, how long will it be before gpl'd plugins arrive that allow interfacing with arbitrary non-gpl plugins? ;)
gcc is dead. long live llvm!
...marks the beginning of homebrew C/C++ fork...
Which demonstrates just how much Sun loved the GPL in the first place.
Sun, like one or two other corporations, were forced crying and kicking down the open source path because their users were installing and compiling GPL'd software on Sun systems instead of buying Sun's vastly over priced versions. If they hadn't embraced it, the migration of their users to Linux would have become a stampede.
LLVM is being supported by Sun because they see an opportunity to reverse software history. If LLVM ( which is not covered by the GPL ) replaced GCC - they think - GCC would die off, and then they will be able to close source the project and return to happy land where they can charge the earth for their product.
It ain't gonna happen.
Yeah, Windows and OSX are broken because neither ship by default a tool that would be useless to >99% of its userbase but whose presence on every PC would be utterly adored by malware authors. Doh!
Besides you can get a compiler for most any OS in five minutes on the 'net nowadays. Only for systems that actually compile parts of themselves during install is it necessary to include one.
Quality, performance, value; you get only two, and you don't always get to pick.
wow imagine that. the only insightful comment to this entire article doesnt get a single reply. trolls? please?
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.
it is a compiler collection after all.
The GCC Ada compiler already does it - even used the very same wording ;-)
You can run GNU without running Linux (e.g. Debian GNU/kFreeBSD), and you can run Linux without GNU (mostly in embedded systems).
The term has legitimate uses, just like "i486-linux-gnu".
http://outcampaign.org/
the kernel is the only completely consistent aspect
You're kidding, right? Linus killed off the idea of "stable" and "development" versions of Linux largely because hardly anyone was using the "stable" versions as-is anyway.
http://outcampaign.org/
Yeah, Windows and OSX are broken because neither ship by default a tool that would be useless to >99% of its userbase but whose presence on every PC would be utterly adored by malware authors.
I'm not 100% certain, but I think you'll find that gcc has shipped with all versions of Mac OS X. In fact, Windows is the only modern system I know of that DOESN'T ship with a C compiler.
Secondly, how does having a C compiler on a system help malware writers at all? I know it's easy to think, "BECAUSE IT CAN MAKES THE CODES GO" and stop there, but do try to think about the logic of what you're saying. Malware compile code? What's the point? Why go to the trouble of transferring C code over the net to the infected computer, bearing in mind that plain text C code is significantly larger than the corresponding machine code, along with the possibility of the user noticing system slowdown as a result of the lovely CPU spikes that go with compiling a program?
It is bretty hard to run any GNU tools without operating system. Even the C-library needs an operating system to work. Without operating system, you can not use C-library for anything.
Problem is just that GNU people should understand that Linux is operating system because it is monolith kernel. Monolith kernels are operating systems in the original structure.
GNU project has tried to build own OS now over 25 years and still the OS is lackin features. The problem was that they choosed microkernel structured OS (where the kernel is not the operating system but microkernel + kernel modules = operating system) and the microkernel, Hurd is still out of date.
But hey! GNU project has got lots of important software what are needed for development platform (GNU/Linux) and for complete software systems like Debian.
For some people it is just too great crack on their dreams when they realise that Linux kernel is the operating system and GNU/Linux is development platform. And complete software systems are then these "funny" Linux/GNU/Xorg/Java/KDE/Firefox/... etc.
GNU fans were even so big fans that they rewrote the POSIX standard about uname application what prints the operating system names and version. But GNU peope just did not change "operating system" > "kernel" but added the -o option what tells the "real" "operating system" name.
Sorry, but thats why GNU-fans are targets for jokes and laughs. I tought they would had big need for freedom. Especially when you should understand that you can not get true freedom without truth. And that is not coming untill they can accept the truth that Linux kernel is the operating system alone because it is monolith.
While I don't have a Mac handy to confirm this, a quick Google suggests that OS X does not include GCC. Rather, it's included with XCode, which is a free download from Apple, much like the free version of Visual Studio from Microsoft.
It's just another attack vector. Malware could potentially use a compiler to recompile itself on the fly to avoid detection from heuristic algorithms; it could also conceivably fool some detection schemes by transporting its main payload as code (anti-virus programs typically only care about executables) and compiling it later. Furthermore, a system like Linux where lots of software is compile-on-install is potentially vulnerable to the compiler itself being replaced by a malignant version which poisons the executables it compiles.
All these are just my guesses; I don't know enough about hacking to construct all the possible attacks exploiting the presence of a compiler on the target system. However, as a general rule, every additional piece of software you include with your OS is an additional exploit vector.
Quality, performance, value; you get only two, and you don't always get to pick.
it should be said that a compiler, just like the operating system, is an absolutely essential component to any development platform.
There, fixed for you!
Woah woah, let's be a bit more accurate here. The GNU project has produced a kernel, it's nowhere near as advanced in functionality as Linux, but it exists...
Woah woah, let's be a bit more accurate here! The GNU project has produced a microkernel, it's not an operating system or as advanced in functionality as Linux what is monolith kernel and thats why Linux is alone the operating system without GNU software.
Not being a great fan of Linus and being very appreciative of GNU and agreeing with Stallman, I call it GNU/Linux.
And thats why you follow blindly a lie, not truth. And so on you cant never help others to be free, because you are just trying to get them believe lie about freedom!
GNU/Linux demanders can not even accept basic logic OR technical evicende why Linux kernel is operating system without any GNU tools!
http://www.topology.org/linux/lingl.html
GNU-project has created great things, but they have nothing to do with other Operating Systems than Hurd!
I'm not 100% certain, but I think you'll find that gcc has shipped with all versions of Mac OS X. In fact, Windows is the only modern system I know of that DOESN'T ship with a C compiler.
While I don't have a Mac handy to confirm this, a quick Google suggests that OS X does not include GCC [tech-recipes.com]. Rather, it's included with XCode [apple.com], which is a free download from Apple, much like the free version of Visual Studio from Microsoft.
It's somewhere in between. XCode comes on the Leopard DVD, but is not installed by default.
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
XCode is now included with the OS, but it's an optional install from the second disc as opposed to an automatic installation.
Benford's Corollary to Clarke's Law: "Any technology distinguishable from magic is insufficiently advanced."
XCode is also included on the OS X install media, and is an optional install when you first set up your Mac or upgrade the OS.
GCC is organized with releases (the usual GCC compiler versions), with the future release called "trunk", and branches (experimental code which may, if accepted, be later merged in into the trunk.
There are already experimental branches for plugin.
In addition, there is the MELT branch, which provides a Lisp dialect (internally tranlated into C) to code plugins with.
Plugins could do many things, which for one reason or another, don't fit easily into the trunk. In particular, "extra compilatory" activities, i.e. any processing of internal GCC representation which is not directly related to machine code generation, fits into this scheme. Think of code refactoring tools, code style checkers, whole program static analysers, specialized code generators (e.g. generation of serialization routines from data structures), etc.
Regards.
--
Basile Starynkevitch (main author of MELT branch)
But shouldn't an OS contain a kernel? I mean, GNU by itself can't be an OS without a kernel (be it opensolaris, linux). Thus, this "GNU OS" is non-sense.
GNU has produced an operating system. It's nowhere near as advanced in functionality as Linux
I don't get it... GNU guys says that Linux is not an OS, just a kernel. Linux guys (the ones who bother to answer this questio) says that GNU is not an OS, as it doesn't have a kernel. And you say that both are OS ?
ilex paraguariensis for all
And you get to use whatever the EULA lets you (like, oh, "no benchmarking" or "no writing a competing product" or "You agree to use using whatever you produced for our own purposes without needing any license agreement other than 'you used this product'".
etc.
PS, for the entire frigging thread:
The problem isn't the GPL or any license. The problem is that copyright doesn't work well with source code compiled as binary.
E.g. copyright talks about "expressive works" but the binary object is not expressive so shouldn't be copyrightable.
It is, though.
A book is derived if it follows too closely another book. But software is full of "when this occurs, do this", which, from the olde worlde copyright would be a derived work.
A derived work includes significant parts of the original. Well, a shared library when executed is including a significant part of the library, so, by copyright, it IS a derived work.
Copyright and code doesn't fit.
you can get systems with more or less GNU on them, just like you can get systems with more or less xorg or Sun on them. running "open source based box" without GNU isn't nearly as hard as you think it is (see, for example, Inferno and Plan 9). granted, people writing under the GNU banner are prolific, but many systems ship by default with very little, and at least some can be had with none.
you're also setting up a very convenient double-standard. you'd have just as much trouble (if not more) finding a system (open or closed) that BSD code hasn't touched; that doesn't mean there ought to be systems called BSD/Windows95 or BSD/OS/2.
i speak for myself and those who like what i say.
(pardon the self-reply)
of course, the reality is that all these naming discussions are stupid. they're all really describing the system, not naming it, and from that perspective "GNU/Linux" is exactly as correct as "Linux" or "BSD/Linux" or "xorg/GNU/apache/perl/Bell Labs/Apple/Linux" - they just choose to describe different parts. the name of the system is "Slackware Linux", "Debian GNU/Linux" (because Debian said so), or "Knoppix". saying "GNU/Linux" does not name a system; people who make systems get to name them.
i speak for myself and those who like what i say.
1) "some of the BSDs do their own thing for the core"
All of the BSDs have their own core. Well, except for the FSF KFreeBSD. KFreeBSD is a weird hybrid, made by some FSF folks to prove that the GNU userland can run on something other than Linux. It's a needless fork to prove some point that escapes me. I can run GNU userland on Windows (cygwin) why muddy up the BSDs with this.
2) the reason why people get bugged by is this is somewhat silly and hypocritical from the FSF. One of the reasons that the BSD license 'sucked' from the FSF point of view was the 'advertising clause', meaning the BSD folks dared ask for credit when someone used their work. The FSFs claim; having to add this was unwieldy. Yet they want to add this GNU/ to Linux all the time. The BSDs request for it to be somewhere, even in the docs. But FSF wants GNU in the name.
Part of many people's issue with the FSF is inconsistency like this. No 'advertising', well, unless it's us. People followed the rules for GPLv2 but didn't act the way we want, well, GPLv3 to stop those people from doing what we said we could. It's a mess some times.
Dude, you're running three window managers!
Exactly! HURD is the kernel, Emacs is the operating system.
"Three eyes are better than one" -- Lieutenant Columbo
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.
In your world a minimal distro includes X and KDE?
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
When Richard Stallman began writing Bison in 1983, he was only trying to build the bits of an operating system he would need to write an operating system. But that recursive goal was no stranger than the recursive name he would create for the software he would eventually create: GNU is Not Unix (GNU).
Please please please give up with the stupid bullshit of recursive names which are like *hyuk hyuk* clever *snort*.
It's not funny. It's fucking stupid and is a sign of a much bigger problem. Free software doesn't catch on because everything is named by programmers. GIMP is a stupid name. GNU is too. What about bbnfc, ctm or wmbp6? They're all too esoteric, like they've been constructed by programmers mashing their hands on the keyboard and picking out a random sub string.
Linus is right to stand back and avoid such evangelism. The whole thing about purposely changing the API to hobble proprietary ('enemy') software puts RMS and his band of merry followers on the same par as everybodys favorite monopoly.
RMS and his self important paisanos are elitist assholes. The good work they do is dwarfed by their arrogance. They need a mishapen turnip in the ass.
ok, I get the point, but it's almost like they're on an ego trip, whining about how people are giving them proper credit, and wanting everyone to know how important they are. Frankly, I don't honestly care that much about Linus.
The whole "GNU" thing isn't about Linus, it's about Richard.
If you want news from today, you have to come back tomorrow.
granted, But when was the Linux kernel created?
Browse at -1 to keep an eye out for abuses.
gnome provides grip, as well as "gnome-power-cmd.sh", which I link to from fluxbox, and gnome-display-settings when I plug my laptop into a strangemonitor (I have a script for work and home which uses xrandr)
kde provide amarok and kdesvn
But fluxbox is my windowmanager
Real enlightenment is in GNU/Vista. Of course, it's nowhere near as brilliant as GNU/Me, but what do you do?
I know that. I was unclear, but I was pointing out that I neither care about GNU/Stallman nor Linux/Linus. It could be called the "Pickle Kernel" and I wouldn't particularly care.
Yeah, Stallman and Torvalds are both pretty cool guys and I'm glad they wrote what they did, but if they didn't, probably someone else would have... so in the spirit of the whole free software thing, I don't think I am obliged to bow down before their names or anything like that, whether the 'name' created the Linux kernel, GNU stuff, Windows, Mac, etc. I'm one of those annoying consumers that just uses it, I guess. :) If "Linux" ended up being called "Strident" or something, I wouldn't care. Even if a guy name Linus Torvalds created it. Or Stallman. Or whatever.
Seems to me that "free software" should be able to be called whatever 'it' wants to be, too, hehe.
Sun, like one or two other corporations, were forced crying and kicking down the open source path
You're clearly one of those ill informed twats who got their history of Sun from PJ at Groklaw when she was still drinking the IBM kool aid. Sun has supported open source software since before Linux existed, and when GNU was just a manifesto.
And to reply to my own comment ... the grandparent poster may want to read this article which reports on a study showing Sun has contributed more than three times as much code to open source projects than IBM, and is the leading commercial entity to have done so (way more than RedHat for instance).
It's so cute how they think that they get to say what license plug-ins use.
People with real lawyers and a lot of money on the line have settled this question a long time ago, when various commercial software producers tried to stop third-parties from making unauthorized add-ons. Those trying to stop unauthorized plug-ins lost, for a few reasons.
The plugin architecture is based on an "gcc exception" that
in my humble opinion, and I am not a lawyer, is very shaky.
See my article on this :
http://rdfintrospector2.blogspot.com/2009/01/gnu-gcc-compiler-introspector-reloaded.html
mike
Introspection is the key to understanding
It's not the Google Compiler Collection, you know.
That was, until Google sponsored improvements to GCC as part of Google Summer of Code.
Meh, Slackware is the OS. And I'll believe HURD is ready when Patrick says it is.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.