I am a long-time user of Gentoo, both on the desktop and server. As a software engineer, I love its flexibility and customizability (as well as the fact that it is bleeding edge and a rolling release). But for my new server, I want to go with a different distribution. Mainly because compiling everything would be a hinderance on a virtual server but also due the fact that Gentoo is too bleeding edge where sometimes an update lands that should have been (more) properly tested and delayed.
(As a side note: I have successfully deployed/maintained several Gentoo boxes over the years and most of the time, things went very smooth and the boxes were great.)
So I'd like to ask the community for advice based on experience (not opinions) what distributions would fit the following criteria best:
General
- rolling release or a very good (reliable) in-place upgrade path
- neither totally outdated nor absolutely bleeding edge package repositories
- Python 2.7 / 3.3 (the system will mainly deploy python/django apps)
- a recent gcc (>= 4.7)
- well-maintained, good community
- flexible and customizable
- it should be possible to install different gcc or python versions side-by-side
Security
- signed (or otherwise secured) package repositories
- sane/secure compiler flags (tailored for security instead of performance)
- timely security updates and dedicated security team/announce list
What jumps to mind immediately is CentOS and Debian but both are rather outdated when it comes to packages, unfortunately.
I'm eyeing with Ubuntu but the software they officially support (main / restricted repo), is rather small in comparison to universe or other distributions. I am also not so sure about how well (with regards to security fixes) they maintain the official packages and I don't really like their corporate (= closed) mentality when it comes to making decisions that effect their users. On a side note: I have recently installed 12.10 desktop for a friend and wasn't really impressed.
ArchLinux comes close to Gentoo, minus the package compilation, imho. I haven't tried it myself but what immediately stands out (negatively imho) is the rather small core team and the missing security team. There seems to be no dedicated security list and they only recently got package signing integrated (and I have no idea if that is even mandatory). Also there is quite a number of packages that are only supported through AUR or different means. There is not much else I can say about this.
OpenSuSE is also something I am eyeing with but the last time I tried SuSE was in the kernel 1.x days, honestly (I was a very young geek then :P). So I know almost nothing about the current state of it.
Fedora is honestly also something I have thought about. It is usually pretty well maintained and (if it isn't delayed for several months) has a nice release schedule. On the other hand, I have read many bad things about Fedora 18, especially also about the upgrade path. Also it is definitely very bleeding edge.
Not much I can add to this rather lengthy post, except for a thank you for reading this and taking the time. :-)
UPDATE @ 2024UTC
I feel like I need to update my question. Even though I absolutely agree with the answers given, they are not really what I was looking for. So here are a few points to hopefully clarify my situation:
I've been maintaining servers for 10+ years, so (at least for the moment) I am not thinking about hiring someone to help me or ease the load.
I know my way around Linux. It has been my main system for 15+ years or so. And as a software engineer and geek, I wouldn't trade it for the world. :)
I was looking for advice based on experience with the different distributions I mentioned. I know I can install all of those in a virtual machine (and I will for those on the short list eventually) but even though I think distribution xy is great, it says absolutely nothing about how well maintained it is, for example. Or how bumpy the road is once there is a new release out. That only time can tell. And things like that, I was looking for. Experience that a simple test run for a week cannot show. Advice based on experience that only comes with long-term usage of a distribution.
I also have to stress that my list in the original post above, pretty much sums up what is important for me.