The term 'social software', which is now used to define software that supports group interaction, has only become relatively popular within the last two or more years.
Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" (mostly about JAVA) discusses the importance of and issues associated with designing a programming language that can be grown by its users.