The definition of generalised vector bundles over a scheme : dualise or not? Let $S$ be a scheme and $\mathscr{E}$ a quasi-coherent sheaf on $S$. Then one can define the vector bundle associated to $\mathscr{E}$, which will be an $S$-scheme $\mathbb{V}(\mathscr{E}) \to S$, thought of as the total space of a vector bundle. (Maybe one should refer to these as generalised vector bundles since they may not admit local trivialisations in general.) Depending on the source, the definition of $\mathbb{V}(\mathscr{E})$ is either ${\mathrm{Spec}}_S \mathrm{Sym} \mathscr{E}$ or ${\mathrm{Spec}}_S \mathrm{Sym} \mathscr{E}^*$ where ${\mathrm{Spec}}_S$ denotes relative spectrum over $S$, $\mathrm{Sym}$ takes free commutative $\mathscr{O}_S$-algebra, and $\mathscr{E}^*$ is the dual of $\mathscr{E}$. For example, the Stacks Project follows the former whilst Vakil follows the latter.
What are some algebraic and/or geometric reasons for considering one definition over the other?
 A: Here is a place where not dualizing is the right thing to do.
Let $X\to S$
be a projective morphism over a noetherian base $S$, and let $F$ be
a coherent sheaf of ${\mathcal O}_X$-modules
on $X$ that is flat over $S$. As is well known
(see for example Chapter III Proposition 12.2 of Hartshorne's
Algebraic Geometry)
over any affine open subscheme $U$ of $S$,
there is a Grothendieck semicontinuity complex, which is a
complex $0\to E^0 \stackrel{d^0}{\to} E^1 \stackrel{d^1}{\to} E^2 \ldots$
of coherent locally free sheaves of ${\mathcal O}_U$-modules
on $U$. The famous Grothendieck Q-sheaf
${\mathcal Q}_U$ for $F$ is defined over $U$ as the
cokernel of the dual (transpose) map
$(d^0)^{\vee} : (E^1)^{\vee} \to (E^0)^{\vee}$. Even though a
Grothendieck semicontinuity complex may not be defined globally over $S$,
and is not unique, the sheaves ${\mathcal Q}_U$ defined locally glue
together uniquely because of their
universal property to define a coherent sheaf ${\mathcal Q}$
of ${\mathcal O}_S$-modules on $S$. The linear scheme
(generalized vector bundle)
${\mathbb V}({\mathcal Q}) =
{\mathop{\rm Spec}\nolimits}_S {\mathop{\rm Sym}\nolimits}_{{\mathcal O}_S} {\mathcal Q}$,
which is
made {\it without} taking the dual of ${\mathcal Q}$,
represents the contravariant functor
on $S$-schemes which to any
$T\to S$ associates the group $H^0(X_T, F_T)$.
This is due to Grothendieck, and an exposition with references to EGA
can be found for example in the Part II of the multi-author book
Fundamental Algebraic Geometry - Grothendieck's FGA Explained.
A crucial part of why things must be defined the way
they are -- and it works --
is that tensor products are not exact in general but they
are right exact, so cokernels do specialize. Moreover, dualizing
the locally free sheaves $E^0, \,E^1$ and taking the
transpose of the differential $d^0$ does not
lose any information.
I should also mention that the scheme
${\mathbb V}({\mathcal Q})$ can be visualized more geometrically
as follows. For $i = 0,1$, let
$V^i = {\mathop{\rm Spec}\nolimits}_S {\mathop{\rm Sym}\nolimits}_{{\mathcal O}_S} (E^i)^{\vee}$
be the geometric vector bundle on $U$ whose sheaves of sections is $E^i$.
These can be regarded as group schemes over $U$.
The sheaf homomorphism $d^0$ induces a homomorphism of group schemes
$\phi : V^0 \to V^1$. Then the scheme ${\mathbb V}({\mathcal Q}_U)$ is simply
the geometric kernel of $\phi$, that is, it is the closed subscheme
of $V^0$, defined locally over the base by linear equations in linear coordinates upstairs, which
is the schematic inverse image
under $\phi$ of the zero section of $V^1$.
Not just ${\mathbb V}({\mathcal Q}) = {\mathop{\rm Spec}\nolimits}
{\mathop{\rm Sym}\nolimits} {\mathcal Q}$ but also its projective version
${\bf P}({\mathcal Q}) = {\mathop{\rm Proj}\nolimits}
{\mathop{\rm Sym}\nolimits} {\mathcal Q}$ is useful (see for example
arXiv:1605.08997v4). Geometrically, it parameterizes the lines
(not hyperplanes!) in all fibers of ${\mathbb V}({\mathcal Q})$.
