We certainly don't want all OSs confined to closed hardware like OS X.
Ubuntu (and open source in general) works because of inverse-free-riders, "free helpers" we might call them. That seems to be a sustainable model, but it likely won't work for annoying grunt programming - note the poor driver support in many Linux distros. For some tasks, someone needs to be paid.