The free software and free culture movements have radically changed the ways of producing software and knowledge goods. In many cases, participation in such project is benefit-driven rather than profit-driven. Participants get involved in order to realize some practical or social benefit, not because of monetary gains. Another difference from market- and firm-based production is that peer production is non-hierarchical: people voluntarily cooperate as peers; there are no fixed employer/employee or client/contractor relationships. And peer production is based on commons: goods which are jointly developed and maintained by a community and which are shared according to community-defined rules.