Overlapping community detection is the key research work to discover and explore the social networks. A great deal of work has been devoted to detect overlapping communities, but no one can give a clear formula definition of community from the internal structure to the external boundary. More in depth, there are four challenges to existing research works. In this paper, firstly we propose overlapping community forest model and disjoint community forest model based on the community forest model, secondly give a clear formula definition of overlapping community and disjoint community based on the backbone degree and expansion, thirdly propose a novel algorithm to find overlapping communities based on the backbone degree and expansion to resolve the four challenges. This algorithm has better performance than four related algorithms mentioned by this paper in large scale social networks. It works well on American college football, Zachary’s Karate Club, Netscience-coauthor, Condensed matter collaborations, LFR etc. data sets.