The problem of blind source separation (BSS) of non-negative sources appears in number of applications such as hyperspectral unmixing in remote sensing and in chemometrics. The BSS of non-negative sources observed under the linear mixing model has an insightful convex geometry interpretation, which has underpinned the development of several efficient BSS solutions, many of which are rooted on the so-called "pure pixel" or "separability" assumption, coined, respectively, in hyperspectral unmixing and in matrix factorization. In this chapter, we review the fundamentals of source separation of nonnegative sources and key developments in convex geometry and pure pixel search. We also cover developments in minimum volume and dictionary-based sparse regression methodologies conceived to scenarios were the pure pixel/separability assumption does not hold true. The potential and effectiveness of the presented methods are illustrated with applications in hyperspectral unmixing.