From French ville (“town, city”) + franche, feminine singular of franc (“free”), thus "free town".
Villefranche