Toward an analytic framework for understanding and fostering peer-support communities in using and evolving software products