The most common way to set up GitLab.com for your organization that will have a number of different collaborators would be to create a top-level parent group for the company. That parent group is what will house the subscription that you’ll be purchasing for however many users you’re going to have.
Within that parent group, you can create any number of subgroups and projects within either the parent group itself or within any of the subgroups. This way, all projects are housed within the top level parent group for your company and you would only need to make sure that the users with
Owner level permissions of that parent group keep their accounts active and that you have a proper offboarding process internally if one of them moves on.
Any user that you then add to the parent group will automatically have the same permission level on all subgroups and projects within that parent group. Or, if you need to be more selective about the permission level of a specific user(s) you can add them directly to a subgroup or project and they’ll only have access to that.
You can set this all up before purchasing a subscription as well. When you go to purchase a subscription for the group you’ll pay for the number of users currently in it and any subgroups and projects within. You can then add users to the group afterward and will be charged a prorated amount for those on your next renewal period.
This way none of the users in your organization need to purchase their own subscription for their own personal account. As long as they’re a member of the group you’ve created that has a subscription, they’ll be able to take advantage of that subscription while working within the group.
I hope that helps!