I’ve decided to start replacing L with GL in acronyms where L supposedly stands for Linux.
I’m not a big user of acronyms, because I think they are exclusionist and they obscure, rather than revealing. (This wouldn’t matter if I wrote for people who already knew what I meant and agreed with me, but that’s a waste of time). However, LAMP is one that I’ve probably used a few times, without thinking that it is supposed to stand for Linux, Apache, MySQL, and PHP/Perl/Python. In fact, it doesn’t refer to Linux, it refers to GNU/Linux. Therefore, it should be GLAMP.
Why does this matter? I try not to say Linux, unless I’m referring to a kernel, because a kernel is not an operating system. I try to be pretty careful about saying GNU/Linux when I’m talking about an operating system. An exception is a recruiting event yesterday at the University of Virginia, where I compromised my principles because of the noise. Trying to explain myself at that decibel level was just beyond my willingness, so I said we use Linux. If the potential recruits hire on with us, they’ll get to hear me say GNU/Linux. And if they don’t, maybe they’ll attend Richard Stallman’s upcoming talk at the engineering school there on March 27th or 28th (sorry, it’s not listed online, so I can’t link to it).
And you’ll see GNU/Linux used conscientiously if you read the book I’m helping to write, too.
GNU matters. A lot. You may not think so, but if it ceased to exist, you’d find out. That applies equally even if you don’t think you are a Free Software user. You have no idea how much you rely on Free Software in your daily life. And the GNU project has been and continues to be a keystone in that arch of freedom.
Thanks to MySQL’s Brian Aker for snapping me out of my LAMP carelessness.
Technorati Tags:Brian Aker, Free Software, GNU, Linux, Richard Stallman, University of Virginia
I agree on all parts. The GNU tool chain is awesome. Its really annoying to work with the BSD equivalent tools after being treated to GNU. The only reason why I often fail to refer to the entire system as GNU/Linux is exactly the one you mentioned. GNU/LINUX doesn’t roll off the tongue. Couldn’t the great minds have come together for a better name for the entire system? Something like LiGNUx?
Although GNU/Linux is for sure a better naming for the operating system used, Linux in “LAMP” in my opinion really means only the kernel and not the whole OS.
I’m thinking of the “stack” thing here: the PHP application relies on MySQL and on Apache, which again rely on (run on) Linux. They are however not really “stacked” with the GNU userland, since neither PHP, nor Apache, nor MySQL should (and probably do not) call any GNU userland tool to do their work. They all however call Linux kernel functions.
So, to provide a web application running on the “LAMP” stack, you don’t really need much of GNU. Well, you will most probably use the GNU Libc and one or the other additional GNU library, but I’m not sure if this justifies a “G” in the “GLAMP”. :-)
I know of no GNU/Linux distro that can even boot without GNU tools. I’m sure there are some, but they aren’t the Red Hats and Debians of the world. So the Linux kernel is basically useless in the [G]LAMP stack without GNU tools, and I don’t agree that you “don’t really need much of GNU.”
Of course, anyone is free to develop an operating system with the Linux kernel and something else non-GNU, but that is not a popular approach at the moment.
feel free to check out Brian’s post again for my comment….but Gnu is a toolkit that sits on top of many different operating systems. It’s not Gnu/Solaris either. Gnu deserves its own letter…..I go into more detail in Brian’s post, but it’s not iostat/Linux, and it’s not Gnu/Solaris….so I’d rather just give it its own letter.
What other tools do you use a lot? Will I have to say LAMMP if I use Maatkit as a standard indispensible tool? What about innotop….LAMIP? Tools are tools. Of course, it’s kind of hard to live without the utilities that Gnu provides, and I believe one difference with Linux vs. Solaris is that Linux doesn’t have its own version of those tools (though I could be wrong).
Still, Gnu tools are awesome, but they’re not an OS, any more than Maatkit or even Innodb Hot Copy are a database.
Well, of course the GNU tools are needed to initialize the system and are installed in almost every Linux system.
This however does not necessarily mean that they are used to run the web application (in the sense of GNU code that is actually executed by the CPU and not only residing on the hard disk or in memory).
I would analogously not say that (for the case of IBM compatibles) the PC BIOS is a part of my application’s software stack. Sure the system could not run without it, but as soon as Linux switches into protected mode no single byte of it is normally executed anymore.
I’m still stating that you are not really running GNU (but only Linux, MySQL, Apache and PHP) in a LAMP stack (except for libraries as said before).
I didn’t say that GNU is an OS, but it is a critical part of one. No need to refer to it as LAMMP just because you’re using Maatkit. Maatkit is peanuts: a few thousand lines of code. Anyone who’s ever compiled gcc or glibc, both of which are essential to every popular Linux-based distributions, knows they are massive. On the Gentoo servers I help maintain, it takes longer to compile either of them alone than anything else on the system, by a very large margin. Much longer than MySQL, for example. So just based on this unscientific metric of compile time, the GNU tools are the vast majority of the code actually running in a [G]LAMP system. (I could go hunt for sources to cite, but let me just say that I’ve seen lines-of-code metrics that say the same thing.)
Saying “it’s just a library call” is missing the point. The GNU tools are much, much more important than you think. I suspect many people don’t understand this precisely because they’re so integrated that they’re all but invisible.
Oh wait, I missed something Sheeri was saying. Sheeri, saying GNU/Linux isn’t saying GNU is an operating system. But you *can* build a complete operating system with just GNU and Linux (and a stripped-down operating system, like a basic Gentoo install, is actually very little else). That’s why it deserves to be called GNU/Linux and not GNU/Linux/iostat. GNU is far more than just a toolchain. It is the mortar, most of the bricks, and the keystone. (The Linux kernel is a large-ish brick; iostat is a screw in a hinge.)
I think the term LAMP has become even more generic. We run a lot of FreeBSD boxes, so I suppose technically we are more of a FAMP or GFAMP. I think of LAMP as meaning an opensource “UNIX-like” server with a webserver, database, and scripting language. The fact that it is using GNU tools is fairly moot. Whether it is gcc or another [decent] C-compiler doesn’t make or break the architecture.
For example, if someone is using Postgres instead of MySQL, we don’t see people saying they are using a LAPP architecture.
Just my quick two cents worth.
How ’bout:
NAMP - *nix, Apache, etc…
AMP - Apache, etc… on whatever platform you want (scalable acronym)
I’m sure we could come up with a bunch of acronyms to match up with solutions, but in my experience the term LAMP is used to cover them all regardless of the actual version of [free] UNIX, web server, … and that’s not such a bad thing. It falls in line with the KISS principle.
christ, give it up on this tired dog.
it’s fricking linux, ok?
i read your post very G-lee-fully!
Fwiw, we should start referring to Linus as GLeenoos!
(ducks, runs for cover…)
Apart from the joke, yes, I agree not many know that merely by SURFING the www, people are using maybe a 100 (surely 15-20) -GEE-NU GPLed software.
The GPL is probably the only license that is not popularly referred to as “GNU GPL” - look at other “popular” licenses - MIT, X11, BSD, MPL, PHP, so many.
Almost everyone knows who’s behind the license.
In contrast, GPL is “General Public License”.
This is real-world, common use, I’m not trying to be a fanboy or a fanatic.
But LAMP has a mystical conntation to it - bringing light to the darkness that would otherwise reign. Imagine a world without Linux, Apache, MySQL, PHP - it would be commonplace for servers to crash on a daily basis and for anyone to lose credit card information and so, cash, every week.
*sigh* A “world without Linux, Apache, MySQL, PHP” would simply be filled with FreeBSD (or OS/X), Nginx, Postgres, and Perl. LAMP is good, but there are plenty of equally good alternatives that would keep us away from the world of Microsoft products.
Anyway…
If anyone cares to attend another free, open to the public talk of Richard Stallman’s, you can learn about one being held in Richmond, VA at this link:
http://www.egr.vcu.edu/cs/research/seminars_spring08.html
The Linux vs Gnu/Linux distinction seems to be lost, a long, long time ago.
I think its easier to just call the operating system “Linux” and when referring to the kernal, call it “Linux Kernal”.
GNU/Linux is fine by me, though it’s a bit unnecessary (one can generally tell by context whether you’re talking about the kernel or the OS based on it). The only problem I have with the term is that other non-GNU software is used in the modern Linux system (X, window manager, browser, etc.).