FIR Linear Phase Condition
You can describe a frequency response in terms of its real-valued amplitude and its phase:

$$H(f)=A(f)e^{j\phi(f)}\tag{1}$$

Note that $A(f)$ is not the magnitude, but a bipolar amplitude function. Equivalently, you can express $H(f)$ in terms of its magnitude and its phase:

$$H(f)=M(f)e^{j\tilde{\phi}(f)}\tag{2}$$

Now we have $M(f)=|A(f)|\ge 0$, and, consequently, the phase $\tilde{\phi}(f)$ in $(2)$ is generally different from the phase $\phi(f)$ in $(1)$. For frequencies for which $A(f)&lt;0$ is satisfied, we have to add $\pi$ (or $-\pi$) to the phase to compensate for the sign change:

$$\tilde{\phi}(f)=\begin{cases}\phi(f),&amp; A(f)\ge 0\\\phi(f)\pm\pi,&amp;A(f)&lt;0\end{cases}\tag{3}$$

For a linear phase filter of type I or type II (even symmetry), the phase $\phi(f)$ is a linear function of $f$, where $\phi(f)$ is defined as in $(1)$, i.e., with a bipolar amplitude function. The phase $\tilde{\phi}(f)$ as defined in $(2)$ has jumps wherever $A(f)$ changes its sign.

You can extend the definition to type III and type IV linear phase filters (odd symmetry) by expressing $H(f)$ as

$$H(f)=jA(f)e^{j\phi(f)}\tag{4}$$

where $A(f)$ is again a real-valued bipolar amplitude function, and $\phi(f)$ is a linear function of $f$.

Note that by linear function I mean a strictly linear function without an additive term, i.e., $\phi(f)=a
\cdot f$, with $a=-2\pi\tau_g$, where $\tau_g$ is the filter's group delay.