It's obvious that every function of the form $f(x)=ax+b$ satisfies the equation:
$$xf(x)-yf(y)=(x-y)f(x+y)\tag0\label0$$
It can be shown that those are the only solutions indeed. To show that, let $a=f(1)-f(0)$ and $b=f(0)$, and define $g(x)=f(x)-ax-b$. It's easy to see that by \eqref{0}, $g$ satisfies
$$xg(x)-yg(y)=(x-y)g(x+y)\tag1\label1$$
and we have $g(0)=0$ and $g(1)=0$. Letting $x=1$ and $y=-1$ in \eqref{1} we get $g(-1)=0$. Now, letting $y=1$ and $y=-1$ in \eqref{1}, we respectively get:
$$xg(x)=(x-1)g(x+1)\tag2\label2$$
$$xg(x)=(x+1)g(x-1)\tag3\label3$$
Substituting $x+1$ for $x$ in \eqref{3} we have:
$$(x+2)g(x)=(x+1)g(x+1)\tag4\label4$$
Subtracting \eqref{4} and \eqref{2} we get $2g(x)=2g(x+1)$ and thus $g(x)=g(x+1)$. Hence by \eqref{4} we have $(x+2)g(x)=(x+1)g(x)$ and therefore $g$ is the constant zero function. So $f(x)=ax+b$.