Your requirements are from the perspective of people who view/use the code. I'd argue there are many benefits for the coder by releasing code including getting feedback from the community on aspects that could be improved or changed. This learning aspect is important as well