Is it? We've been using it self-hosted for years, together with GitLab. It meets all the needs of a small company, and is very pleasant to work with for devs too (i.e., basic Markdown just works, so you can post anything from code to log snippets in a sensible manner).
Setting up Mattermost was one of the best decisions we've made with regards to our tools.
Funny you would mention GitLab - I find it extremely clunky, especially compared to GitHub. Maybe GitHub is primitive in comparison, but it never makes me hunt for basic functionality and the search just works for about everything.
I afraid I nuked my installation already. There were insignificant features, like for their Playbook (or what the name is), where you are offered some extra feature, that goes with the enterprise plan. If I chose my self-hosted instance for some reason, I don’t really need that advertising in my interface all the time. I can understand the reason it’s there, but I don’t like it still.
First time I tested a self-hosted instance was a couple of weeks back. It was their official testing docker container. So perhaps there are versions without that, I don’t know. I assume you should be able to compile this without them, or at least fork the original project. Hence, I’m asking what’s about those banners in real world scenario.