开了几年了 : la durée qui continue
Les deux 了 de 开了几年了 ne font pas double emploi. Le premier suit le verbe et compte le temps écoulé ; le second ferme la phrase et dit que cela dure encore. Sans le second, 开了几年 signifierait qu'on l'a conduite quelques années et que c'est fini. La même paire donne 我学了三年了, j'apprends depuis trois ans et je continue.