The question of protected polymorphism is addressed in terms of dynamic maintenance within a set of
constraints defining polymorphism. Stricto sensu, the maintenance of polymorphism is identified with
the set of states,called the C-viability kernel,from which there exists at least one trajectory remaining
in the set of constraints. Protected polymorphism under time-dependent selection and migration is reformulated as a C-viability problem. The C-viability kernel is computed under conditions of time-dependent unpredictable migration and selection, from the case of two demes and two alleles up to that of three demes and three alleles. It delineates the trade-off between isolation and openness to migration combined with relative fitness values. The problem of protected polymorphism in time-varying conditions is then answered in its full dimensionality.