Help, my software can't cope with incest

There are moments when you wonder if the world has gone raving mad. A software developer who writes family tree software in C++ and Qt has been asked to fix a bug in his code by a customer.

Nothing wrong with this, customers contact software developers all the time and they are usually happy to make sure their software does what it says on the tin.

But according to this customer, his family tree software cannot cope with the fact that he had two children with his daughter.

The punter said that the software was unusable because of errors.

Obviously you can’t tell the user to go forth and multiply, because he has clearly done that already.  The developer has admitted the errors are his fault  because of the assertions and invariants about the family graph being processed. The program states that X can’t be both father and grandfather of a child.

The developer has gone online  to ask if there is a way to resolve those errors without removing all data assertions and having to do some major surgery to his software.

Sadly the comments and advice have been switched off. Before that happened suggestions included limiting the sale of the software to those that avoid getting in to tricky family situations.

Others have said it might be one of those cases where the developer should wonder if they want to make a business with that guy.

It would probably be easier to call the cops who would lock him up as a sex pest and you would not have to write code for him.

Family trees software though should be able to include incest as historically this did happen, but as one developer pointed out, if it has problems with being both the father and the grandfather cycles in a family tree it will also have trouble because cousins are allowed to marry in Western countries and this should also cause the software to cough.