A subset $C ⊆ F^n_q$ is a linear code if
1.
$u + v ∈ C$ for all $u, v ∈ C$
(if $u = (u_1, u_2, . . . , u_n)$, $v = (v_1, v_2. . . . , v_n)$ then $u + v = (u_1 +_q v_1, u_2 +_q v_2 . . . , u_n +_q v_n))$
2.
$au ∈ C$ for all $u ∈ C$, and all $a ∈ GF(q)$ if $u = (u_1, u_2, . . . , u_n)$, then $au = (au_1, au_2, . . . , au_n))$
Isn't this definition redundant? $au = u + u +u ... + u$ (added up $a$ times). I think the second part of the definition is basically the same as the first one.
This definition is in general not redundant.
While it is true that if we are working over a field $GF(p)$ where $p$ is prime, any element of the field can be written as $1+1+\cdots+1$, in which case the closure under addition is all that is needed.
However, we can have fields $GF(q)$ where $q$ is a prime power, and not prime; here we need the second condition, since if $a$ is not in the base field, then it is not possible to write $a=1+1+\cdots+1$.
For example, the field $GF(4) = \{0,1,\alpha,\alpha+1$ where $\alpha$ satisfies $\alpha^{2}+\alpha+1=0$. Then the code $C=\{(0,0),(1,1)\}$ is closed under addition (since we still have $1+1=0$ in $GF(4)$), but is not closed under multiplication by $\alpha$ or $\alpha+1$.