Is a function space necessarily a vector space? I have a very basic question.

In a function space, do we require the set of functions to form a vector space$?$ Or it can be any arbitrary set of functions$?$

I tried to search a bit but could not find a satisfactory answer. It'd be great if one can provide me a complete definition of function space. Thank you.
 A: Tao's definition of a function space:

A function space is a class $X$ of functions (with fixed domain and
  range), together with a norm which assigns a non-negative number $\|f\|_X$
  to every function $f$ in $X$.

Notably, norms can only be defined over a vector space.  So long as we suppose that our function space has a norm, we must confine our consideration to function spaces that are also vector spaces.  Notably, any function space whose common codomain is a vector space inherits a natural vector space structure.  In particular, we define $\alpha f + g$ via $[\alpha f + g](x) = \alpha f(x) + g(x)$.
As Tao mentions in the footnote, we may more generally consider topological function spaces.  Since this information is given in a footnote, we can presume that topological function spaces (in particular, function spaces that are not necessarily vector spaces) is beyond the scope of those notes.
In most contexts, we can presume that we are only considering these normed function spaces unless the author indicates otherwise.
A: The only function space I ever encoutered are either normed spaces or topological vector spaces (and hence real or complex vector space). So, I'd say, yes, function spaces are vector spaces in most occasions.
Some references are the notes by Tao that has been mentioned in the comments or the book on function spaces by Triebel.
