Saturday was extremely stressful for me. It wasn't just watching Arsenal go 1-0 down in the first half against the Spurs, but just getting to the match in the first place. I always buy my tickets from TicketUK.com, a ticketing agency that has never failed me in securing hard-to-find tickets to sold-out events in the UK.
But yesterday I panicked. At 11:00, I still didn't have my tickets for the 1:30 match. I called Geoff, who runs the agency, and begged to know where the tickets were.
"Not to worry, Matt. The delivery boy was hit by a taxi. I'm having the tickets brought back to the office and will hand deliver them to you at the match."
Much as I feel for the delivery boy, my concern was the tickets. I knew from experience that Geoff wouldn't let me down. Worst case, he'd refund the money. The question was whether I'd get the tickets.
This is where it becomes critical to have a relationship with a vendor. It's no good whining about missing tickets if I hadn't spent time (and money) to develop it. In the same way, it's no good complaining about free software if it fails in a critical production environment. In open source, just as in my experience getting tickets to the Arsenal match, you need someone on whom you can depend. Someone who has a financial interest in your success.
This is why Red Hat's model works, incidentally. And it's the same reason that similar models work for Alfresco, MySQL, and JBoss before. Enterprises need someone to call if things go wrong. Maybe they won't. Often they won't, in fact. But when they do - when it's 11:00 and you still don't have your tickets - you need someone to call to make it right.