You might have written software that is "done" if you compile it with a single compiler version and don't use any OS hooks/APIs and don't care if future changes breaks your software. I.e. it's done if you think that people will stop needing to use it at some point in the future.
A tool like sudo can never be done because it integrates with the constantly updating OS and will always need maintenance.