What does canonical mean in software