Most of the open source projects are based on one thing: creating a better software package. Unlike the software engineers bent on profit, the open source developers believe in standards and methods that will benefit the programmers, and end users alike. They start, develop and end a software product with the users in mind.
Closed source companies and closed source developers start, develop and end a software product with profit in mind. They care about user's input, only so far as the minimum work done to keep a user as a customer is necessary. This often means buggy software, relying on the users' naivete, to upgrade their software at their cost.
The altruistic programmer considers public concensus. Ultimately he has final say on the product, but the public can branch their own version if they are unsatisfied. This fosters competition, which leads to creating a better product. If all software companies would put the user first and not worry so much about profits, we would have very stable and efficient commercial software packages.
Altruism: putting others before you, would produce much better software.