Over the years of working in software development I have come to realise that it is as important to look after your clients long term needs as it is their short term needs. It is something that is easily overlooked when you are in the throes of resolving issues that impact the client right here and now. But it is important that an equal amount of energy is spent on long term wellbeing as on getting the short term results.
In software engineering there is a concept called ‘Technical Debt’ it basically boils down to making choices that win you something in the short term, but you end up paying for in years to come. When working on a free software project this concept is still applicable, but an added dimension comes into play … lets call it ‘Social Debt’. There are often times you can make a decision that may afford you a short term gain, but may detrimentally impact the relationships with other members of the project. I posit that while Technical Debt is bad for the project as a whole, Social Debt usually hurts the debtor far more than the project. It is also far harder to recover from than Technical Debt.
Therefore I think it is in the best interests of any developers clients, that the developer takes care to not only make decisions that cause minimal Technical Debt, but also ones that cause minimal Social Debt.