In section II.1 of Hartshorne, the sheaf $\mathscr F^+$ associated to a presheaf $\mathscr F$ is constructed so that $\mathscr F^+(U)$ is the set of functions $$ s\colon U \to \bigcup_{p \in U} \mathscr F_p $$ with $s(p) \in \mathscr F_p$ and satisfying some local condition.
I am confused by the appearance of the union here. First of all, I don't see any larger object containing the stalks $\mathscr F_P$ in which to take the union. So I will assume this is meant to be a disjoint union. This doesn't really bother me.
My real question is:
If we want each $\mathscr F^+(U)$ to have the structure of an abelian group, shouldn't this union be a product?
Recall that in set theory one constructs the cartesian product $\prod_p X_p$ of sets as a set of functions in $p$ with values in $\bigcup_p F_p$ such that each $p$ has some value in $F_p$. In set theory, every object is a set and we can take unions of arbitrary sets (even if this does not make sense at all from a non-formal mathematical perspective... what is $\pi_1(S^1) \cup \mathbb{Q}$?).
Hence, we might as well define (and this is more natural) $F^+(U)$ as a subgroup of $\prod_{p \in U} F_p$.