Producing Open Source Software: How to Run a Successful Free Software Project