Slackware is still my favorite distro (even though I also use Ubuntu a lot nowadays).
It's the best choice IMO for learning Linux, for power users and for developers.
I still prefer to compile most of the software I need by myself, to get the latest releases and to compile with the options I want. And there's nothing I can't get running on Slackware. This is mostly because Slackware uses unpatched/non customized versions of each software, compiled with default settings.
I also love that fact that it doesn't even have its own visual branding. KDE is just KDE (with the default theme and its own wallpapers) and everything else comes as if you would have got the source and compiled yourself.
I must admit, I have never understood the package management in Slackware, and that has kept me from trying it. Apparently it has some kind of package management tools, which don't do dependency resolving (by default).
But does it have the capability to update installed packages automatically or with a few commands (compare to aptitude update; aptitude upgrade)? And does it have a search function for packages (like apt-cache search foo)?
I can understand that not having dependency resolution simplifies tools a lot, but is there advantages for end-users from that? And is there some kind of external database or something that will help tracking dependencies, or is it based on guesswork and trial & error?
Every time Slackware is metioned in a news site, fans of it will always write comments saying how they love it, and many other users like to point out how Slackware's package management is "nonexistant" or outdated, in the sense that it doesn't resolve dependencies automatically and we're in 2009. There are even some Slackware fans who counter-attack saying that manually resolving dependencies is better and that you should not trust a program to do the job.
Now, as a long time Slackware user, I'm going to give you my opinion: it's all a matter of taste. Different people like different types of systems, and Slackware is a perfectly valid distribution for many people.
The reason it doesn't resolve dependencies automatically has to do with its "KISS" principle. Normally, to resolve dependencies effectively you need to add more stuff to the package management tools. For example, it makes much more sense to automatically resolve dependencies when the package management tools know the concept of remote repository, know the list of available packages, and what each package provides, and they can talk to the servers over the network to download packages automatically. Like apt-get does.
In Slackware, the package management tools you get are really really simple internally, and are in fact shell scripts (installpkg, removepkg, upgradepkg, etc). All they understand is package files, which are tarballs, and they don't really perform complex tasks. The package management tools in Slackware follow the KISS principle, and the line was drawn at that point. If you want to resolve dependencies automatically, then you probably need remote repositories, talking over the network, keeping a package database, etc. Slackware drew the line before all of that to keep the system simple. As easy as that.
As a Slackware user, I will never say that having to resolve dependencies by hand is a good thing. However, it's a very minor flaw that needs to be present if you want the package management to be simple, like the rest of the system. Slackware, internally, is very simple and stable. It's one of the few distributions you can very easily learn almost by heart. There are so few pieces and they fit together so easily...
For people like me, Slackware is the best choice because we want that type of system and we enjoy being working at the computer and knowing perfectly the system you're working on. Solving dependencies automatically is not a priority for me and having to do it manually is a non-issue. I don't install new software everyday. I just keep my system with the applications I need and use it. Contrary to one of the comments above, I don't use Slackware to hack and learn. I use it to get the job done. That's what computers are for, and Slackware is still a very valid system for that.
How do I track dependencies? If a program doesn't run because it lacks a library, running it from the command line will tell you which library is lacking. The ldd command can tell you that too. From that point, it's very easy to know what you are missing that the program needs. Library names usually match the package name. For other cases you can use the package browser and ask for the library (packages.slackware.it), you can ask in the IRC channel at freenode for a quick answer, you can ask at LinuxQuestions and you can also manually look in the MANIFEST.bz2 file present in every mirror, as it mentions the files each package provides.
If the problem lies in a piece of software you are trying to compile, usually the program documentation contains the appropriate information including a list of requirements. Some of those requirements may have an official package and some others may have to be installed by hand too.
But, really, it's not that hard and for most people this problem doesn't turn up all the time, at all. If you like the system, you won't find offensive to lose a bit of time tracking a few dependencies in a software package you're installing. Specially if you're going to use the software for months. That initial effort is not that important, at least in my humble opinion. Like I said at the beginning, it's a matter of taste and what fits you better.
I've heard many positive things about Archlinux and a friend of mine who used to run Slackware now runs Archlinux and he's very happy, as far as I know. I don't use Archlinux for two reasons: I already know Slackware, and I have also heard, first hand from him, that Archlinux tends to break a bit more than slackware-current, that is, it's a bit more unstable.
But, yes, Archlinux is definitely another distribution that could fit me too, as it's quite simple and doesn't get in the middle. I'll probably try it one day if I become tired of Slackware.
Actually even the more complicated systems don't resolve all the problems, and the problems that are left are harder to solve because of all the extra cruft you have to wade through on their systems.
Slackware 3.0 was my introduction to Linux in Jr. High. I definitely learned a lot. Although most "friendlier" distros weren't around then, even if they were I hope I would have still started with slack.
I use Ubuntu now in part because my wife and little kids use the computer too, but I am frequently tempted to give slack a try again.
I don't really get the fascination around Slackware. As a distro it is probably the least featured among all of the distros out there. It doesn't even have automated patch management for Christ's sake.
Only real use I see for it is using it, once, to fiddle around and learn how Linux actually works. After that you just wants something which works and move on to Debian, Fedora or whatever.
I am the opposite. I really can't get anything other than slackware (not that I can't work with them - I can, but life just is not as simple as slackware anywhere else). Why would anyone want or need anything more complicated then a compressed tar file for package management is beyond me.
Slackware is simple, beautiful and elegant but no more than it has to be. It just works and it leaves all the power in the world at my hands. I can make it do my bidding fast as lightning and it never gets in my way. Once you begin to get the basic principles of slack, it very closely follows the principle of least surprise.
I agree. I think that those who feel that Linux should be a "main stream" OS (for whatever definition of main stream you choose) are missing the point that it was, and always has been, primarily a hacker's OS.
That's not to say that distros like Ubuntu don't have their place, but there's so much automation going on in these "modern" package management systems that you really aren't going to learn anything. Sure, you'll end up with a very nice, very functional computer, but that (IMHO) isn't the point of Linux. I'd go so far as to say that I feel like Ubuntu is no longer "Linux", just like Mac OS X is no longer "BSD". Based on? Yes. Is? No, Slackware is Linux.
Sure Linux may be a "hackers OS", but I'd still argue the opposite.
For people who work with Linux for a living, like system administration, you want your Linux distro to absolutely minimize the amount of work needed. When your server-park scales, manually having to fiddle around 200 Slackware installations simply isn't an option.
Right, which is why you'd be using RHEL or some such. When we get into the open source world of BSDs and Linuxes, it's hard to really say what qualifies as the "OS". My point was that the original "Linux" that Linus wrote to learn more about his machine had a purpose, I think, much more in line with Slackware than SuSE/RHEL/Debian/Ubuntu/etc.
dealing with thousands of servers takes quite a bit of extra scripting, no matter what package management tools you use. I've used both slackware and RHEL, and while RHEL is super easy to manage when nothing goes wrong, slackware is a lot easier to fix when something does break.
As I see it, Slackware is like a clean canvas, where you can easily paint whatever you'd like. I turned my gf's laptop in a perfectly functional media player, at the same time without sacrificing those things she needs for University and stuff, like OOffice, firefox, the likes. My desktop suits my needs of development and research, the usual stuff you'd expect from a "geek". And it's still blazing fast. I'm not making the point that you can't achieve this level of versatility in any other distro, far from that, but Slack makes this considerably easier to deploy.
Slackware is really about just being able to install what you like, whatever way you want to and it will just work. There's no need to have installed by default random daemons like Cardbus.
Unlike ubuntu the other day, which felt like installing a mail server along with docbooks.
It's the best choice IMO for learning Linux, for power users and for developers.
I still prefer to compile most of the software I need by myself, to get the latest releases and to compile with the options I want. And there's nothing I can't get running on Slackware. This is mostly because Slackware uses unpatched/non customized versions of each software, compiled with default settings.
I also love that fact that it doesn't even have its own visual branding. KDE is just KDE (with the default theme and its own wallpapers) and everything else comes as if you would have got the source and compiled yourself.
\\//, live long and prosper, Slackware.