The reality of long-term software maintenance from the maintainer's perspective