Are sheaves a sheaf? Let $X$ be a topological space. Can the assignment $U\in\mathrm{Open}(X)\mapsto \{\text{sheaves on $U$}\}$ be made into a sheaf, rigorously?
There is some hint in Kedlaya's course notes in which it says "a sheaf of sheaves is a sheaf" (see the corollary there).
Also, in MacLane and Moerdijk's Sheaves in Geometry and Logic it says in chapter II, section 1:

In fact, since the notion of a sheaf is "local", this functor is itself almost a sheaf.

I wonder: why "almost"?
 A: To make it rigorous, we need the correct interpretation of the "set" $\{\text{sheaves on } U\}$.
First of all, we can't consider sheaves up to isomorphism. If we would do this, then the assignment wouldn't be a sheaf, because sheaves that are locally isomorphic are not necessarily isomorphic.
A second idea is to consider sheaves up to equality, where two sheaves $\mathcal{F}$ and $\mathcal{G}$ are defined to be equal if $\mathcal{F}(U)=\mathcal{G}(U)$ for every open set $U \subseteq X$. In this way, the assignment $U \mapsto \{\text{sheaves on }U\}$ is still not a sheaf. Gluing sheaves that are locally equal is not a problem (use the cocycle condition), however the gluing is only unique up to isomorphism, not up to equality.
The "correct" approach is to use étale spaces over $X$. The category of étale spaces over $X$ is equivalent to the category of sheaves on $X$, but the notion of equality is different. Here the natural notion of equality is to say that two étale spaces $f : Y \to X$ and $f' : Y' \to X$ are equal if $Y=Y'$ and $f=f'$. In this setting, suppose that you have an open covering $\{U_i\}_{i \in I}$ and étale spaces $f_i : Y_i \to U_i$ for all $i \in I$, then there is a unique étale space $f : Y \to X$ restricting to this, namely $Y = \bigcup_{i \in I} Y_i$ with $f$ the unique function restricting to each $f_i$ on $Y_i$. So the assignment
$$U \mapsto \{ \text{étale spaces over }U\}$$
forms a sheaf.
There are two technical issues that I didn't mention yet. First, there are size issues: there are too many sheaves (even up to isomorphism) to get a set, so you will get a proper class instead, or a set in a higher universe. So even if you get a sheaf, it will be a sheaf of proper classes, not a sheaf of sets. A second issue is that the second and third approach both use notions of "equality" based on equality of sets. This is not a problem if you work with a material set theory like ZF or ZFC, but it is an issue if you work with a structural set theory like ETCS.
