Knowledge sharing in knowledge communities