Ooh..ooh I know! Ass! Royal pain in the ass. Right? ;-)
I've typed about it before so I won't bore everyone with the same old news but yeah me a friend a few years (hmm.. that "few years" has probably grown a bit) ago tried writing our own OS from scratch. Quite an interesting project. I'd say a lot was kind of fun, but when you get to those "why isn't this working like it should?" stunts for several days with no progress it wears on you a lot. For obsolete systems and simple stuff, or even a bootable game it would still be fun. Bringing things up to current hardware and resources, that's when it became a lot of blank stares and rereading of paper. We though "ok, we'll change the processor into protected mode memory. What'll that be an instruction or something?" ... "um.. memory matrix.. wait *I* have to map out memory myself?? bleh" and the project died around there. We had it working after looking at other folks code and had it reading FAT12,16,32 file systems and added a debugger (something we actually needed to figure out some of our own coding errors). We used a few operating system development books, including Andrew Tanenbaum's texts, and a few books on assembly/hardware to get our BIOS/hardware interrupts down. The interesting part was we couldn't use DOS interrupts so it kept us in only a segment of our books on assembly. I was surprised how many people just assume if you write assembly you'd be in a Microsoft OS.
So yeah we already had an appreciation of "Yes, we may not like the marketing or costs, but MS does have the leading operating system and we agree why." but afterwards a better understanding of the work needed and done. It's doable and fun but to get a releasable product, and to compete with what's out right now is extremely low probability.