During development, and very often during to complete life cycle of a software artefact, including what is usually called as maintenance, the code needs to be changed and evolves.
Living code base is the name given to the base code with which the team interacts on a daily basis. The team has to agree on a set of coding conventions which form a common language. Therefore the team pursuits a conceptual integrity of the code base that is set from coding standards, like indentation and variables naming, to programming principles, like the cohesion of a class.
A code smell is a symptom that an element of the code base compromises the aimed conceptual integrity. Any developer is allowed to change the code base whenever she detects a code smell, which turns the code base into a living code base.