Recall that $o(1)=\{h\,\mid\,\lim\limits_{x\to0}h(x)=0\}$ and that $o(g)=\{h|g|\,\mid\,h\in o(1)\}$, for every function $g$. In particular, if $g\geqslant0$ and $f\in o(g)$, then there exists $h\in o(1)$ such that $f=hg$. If furthermore $g=g_1+g_2$ with $g_1\geqslant0$ and $g_2\geqslant0$, then the decomposition $f=hg_1+hg_2$ proves that $f=f_1+f_2$ with $f_1\in o(g_1)$ and $f_2\in o(g_2)$. Thus, $o(g_1+g_2)\subseteq o(g_1)+o(g_2)$.
The other way round, let $f_1\in o(g_1)$ and $f_2\in o(g_2)$. If $g_1\geqslant0$ and $g_2\geqslant0$, then $f_1=h_1g_1$ and $f_2=g_2h_2$ for some $h_1\in o(1)$ and $h_2\in o(1)$. Hence $f_1+f_2=h(g_1+g_2)$ where $h(x)=(h_1(x)g_1(x)+g_2(x)h_2(x))/(g_1(x)+g_2(x))$ if $(g_1(x),g_2(x))\ne(0,0)$, and $h(x)=0$ otherwise. Then $0\leqslant h\leqslant h_1+h_2$ hence $h\in o(1)$, which proves that $f\in o(g_1+g_2)$.
Finally, for every $g_1\geqslant0$ and $g_2\geqslant0$, $o(g_1+g_2)=o(g_1)+o(g_2)$.
The restriction on the signs of $g_1$ and $g_2$ is necessary since $o(g-g)\ne o(g)+o(-g)$ for example (except when $g=0$). To wit, every function is in $o(0)$ but $o(-g)=o(g)$ hence $o(g)+o(-g)=o(g)$, which is different from $o(0)$ as soon as $g\ne0$.