[guided]The only nontrivial ingredient in the induction is the existence of a vertex with no incoming edge. We prove it directly.
Let $G=(V,E)$ be a nonempty finite directed acyclic graph. A source is a vertex $s\in V$ for which no directed edge enters $s$, meaning there is no $w\in V$ satisfying $(w,s)\in E$.
Assume for contradiction that no source exists. Then every vertex has at least one incoming edge. Choose an initial vertex $v_0\in V$. Since $v_0$ is not a source, there exists $v_1\in V$ such that $(v_1,v_0)\in E$. Since $v_1$ is also not a source, there exists $v_2\in V$ such that $(v_2,v_1)\in E$. Repeating this construction gives a sequence of vertices $(v_k)_{k\geq 0}$ with
\begin{align*}
(v_k,v_{k-1})\in E
\end{align*}
for every integer $k\geq 1$.
Now use finiteness. Let $n=|V|$. The list $v_0,v_1,\dots,v_n$ has $n+1$ entries but takes values in a set with only $n$ elements. Hence some two entries are equal. Choose $0\leq i<j\leq n$ such that $v_i=v_j$ and $j-i$ is as small as possible. This minimality ensures that $v_i,v_{i+1},\dots,v_{j-1}$ are pairwise distinct; if two of them repeated earlier, we would have found a shorter repetition.
The directed edges were constructed in the backward direction:
\begin{align*}
(v_j,v_{j-1})\in E,\quad (v_{j-1},v_{j-2})\in E,\quad \dots,\quad (v_{i+1},v_i)\in E.
\end{align*}
Since $v_j=v_i$, these edges form a directed cycle starting at $v_j$, moving through $v_{j-1},\dots,v_{i+1}$, and returning to $v_i=v_j$. This contradicts the assumption that $G$ is a directed acyclic graph. Therefore the assumption that no source exists is false, and $G$ has a source.[/guided]