A Market-Based Approach to Software Evolution