The analogy is seriously flawed.
If the builder is running a business and has contracted to build a wall, it may be that the business is obligated to fix problems at no additional cost (depending on the terms of the contract). But the situation is entirely different if the bricklayer is an employee. I don't think that many builders can get away with forcing their employees to perform work on their own time and at their own expense.
Similarly, if a software developer is running a business and has contracted to build a piece of software, there may be contractual obligations for the software business to fix errors at the business' expense. But I'm unaware of any instance of a software developer who is an employee being required to fix errors on the employee's time and at the employee's expense.