The difference between XX/yr and X/mo is that the latter is a tactic that relies on perceptual psychology to downplay the cost, same as when you see something priced at $3.99 instead of $4. It might be important to clarify that when I say XX/yr what I mean by XX is ~50USD. That's a reasonable price for a small instance (especially since the current going rate for something comparable is $0). Something priced at $8–9/mo, however, costs twice as much, even though the monthly pricing scheme helps to hide it. If you're buying hosting for your code, you don't really need the flexibility of monthly pricing. (What're you gonna do, spin up some short-lived instances for as long as you need them and then shut them down when you're "done" with them? No. The expected user model for code hosting is one that's cumulative.)
Side note: charging per user per month for a hosted instance would be pretty arbitrary, anyway. Put a cap on instance size, workload, number of simultaneous requests, and daily or hourly data in and data out, not on number of users. Charging by the user for a hosted instance is very nearly unashamed rent-seeking. The only reason it makes sense for GitLab EE is because it's on-prem.
Thank you for explaining it to me. It totally makes sense.
I can't help but think of the old "what are you trying to optimize for?" question though. Gitlab.com is OK for me because I don't make money writing code so I'm OK just getting free private repositories and any ci stuff I get is just gravy. I used to think "how will they ever make money?" and this makes sense.
I read this other story about how a DNS service was getting rid of its free tier because the free tier users can't convert. I think gitlab and github have found a good opportunity by giving away free service to free and open source software which means people will have experience using the service and might just keep using it at work (haven't checked but I'm sure github enterprise is not cheap).
I understand I risk looking like an idiot but did you mean X per user per month? If not, what's the difference?