The problem with programming is that it's fun to make things. How do we incentivise reuse and collaboration?