I have screwed around with hobby servers for years, now, but now I'm starting to get into more serious servers, with much higher reliability requirements. The obvious answer is just to get started on something like Digital Ocean, which is ultimately what I'm probably going to do, but in the mean time, the whole process has gotten me thinking more about the problem of software auditing, and designing with easy auditing in mind.
My appraisal so far is that the current situation is a little grim. Though there are operating systems whose entire source code is readable to anybody, huge volumes of critical code have been written in C, a language with a certain proclivity for bug generation. The most recent bug in the linux kernel is a testament to this, and there is no reason this vulnerability couldn't be just one of dozens yet to be discovered. The less enlightened among software companies don't even publish their source code, making auditing impossible.
There is hope, though. There are new languages—rust in particular—which have been designed to fill C's niche and fix its many problems. Nobody has written an entire OS in it though, yet. Opensolaris seems to have been designed more so than linux with ease of auditing in mind, at least according to this guy, but it is still written in C. Same with OpenBSD, but again, still written in a language with a well-documented tendency of being error prone. There's redox, but it's not ready yet.
Anyway, what, in your opinions, is the operating system which offers a code base that is easiest to check for errors?