Linux on the Desktop: The need for compromise