Main reason why FOSS people giveaway for free is the valuable contribution they get back from the community. Most of the times this knowledge sharing is far more valuable for the FOSS programmer than if he had charged it for money.<p>It is a good way to learn programming, to get mentored, tips and tid-bits from coding gods.<p>Your analogy is very random and superficial.