Having roots in the more "businessy" areas of the Labs, groups made sense for a collection of people working on the same project. You wanted everyone in the group to be able to create files and directories, but not people outside the group, less because you didn't trust most of the people sharing a machine than because you didn't want accidental destruction from outside. But the newgroup command for acting as a member of the group was clunky. Use of groups for this purpose didn't become practical until 1) you could be members of multiple groups simultaneously and 2) the group ownership of newly created files and directories would be that of the directory in which they were created, if you were a member of that group. Of course, this meant your umask should confer group write permission by default, which didn't work well if your primary group was widely shared. So we adopted the policy of everyone having a primary group with the same id as your user id. "Private" files and directories were not group-modifiable by anyone other than yourself, but "project" files were modifiable by anyone in the project group. This made groups work seamlessly. Just do a chgrp on a directory where group sharing was to be done, and everything just worked thereafter.