Consider a rigid body, B, constrained to move by translational motion in an unbounded viscous liquid. The driving mechanism is a given distribution of time-periodic velocity field, v*, at the interface body-liquid, of magnitude d (in appropriate function class). The main objective is to find conditions on v* ensuring that B performs a non-zero net motion, namely, B can cover any given distance in a finite time. The approach to the problem depends on whether the averaged value of v* over a period of time is (case (b)) or is not (case (a)) identically zero. In case (a) we solve the problem in a relatively straightforward way, by showing that, for small d, it reduces to the study of a suitable and well-investigated time-independent Stokes (linear) problem. In case (b), however, the question is much more complicated, because we show that it cannot be brought to the study of a linear problem. Therefore, in case (b), self-propulsion is a genuinely nonlinear issue that we solve directly on the nonlinear system by a contradiction argument. In this way, we are able to give, also in case (b), sufficient conditions for self-propulsion (for small d). Finally, we demonstrate, by means of counterexamples, that such conditions are, in general, also necessary.