Is collaborator just a contributor with "commit-bit" and other privileges or there is more to it?
Git (in a git repository) identifies authors and committers by email address. Github users can associate email addresses with their accounts. When a user's set of email addresses is found in the commit history of a github repo, github marks that user as a contributor.
GH Enterprise docs seem to be consistent with contributors only being associated with email addresses.
A user that has defined permissions in a github repo is marked as a collaborator. These permissions can vary and do not need to be the commit bit. A random org I am a member of shows the following options presently:
- issue triage
- non-admin manager
See also gh enterprise docs.
A user who has read-only access to a private repo should be marked as a collaborator, in my understanding.
A user who has permissions to a repo but no commits in that repo with any of email addresses associated with their github account would be a collaborator but not a contributor.
When a github repo belongs to an organization, users that have membership in that organization are marked "Member" in the same space used for "Contributor" and "Collaborator". Organization membership does not necessarily grant any permissions in a particular repository, but the user is marked a Member regardless. For example, one org I am a member of grants me read/write access to some repos, but I am marked a member also in other repos where I have the same permissions/access as any other github user.