Wow. That's a display of humility and responsibility you just don't see very often. Though the original conflict was avoidable and unnecessary, an apology like this - for anything - shows real character. Kudos.
So, while it was a good apology, I am not sure that the author has learned the entire lesson. Never-the-less, it is a mistake made and a mistake fixed, and the author is probably a better developer for it.
Once he was outed, he realized what he'd done and came to his senses.