But it is also commonly understood that open source means you can change and then distribute your changes. Here is an excerpt from Wikipedia[0]:
> Generally, open source refers to a computer program in which the source code is available to the general public for use or modification from its original design.
You cannot do that with Gitlab EE but you can do it with the community version. The community version is a subset of Gitlab EE with a few features missing. But I completely agree. You cannot have it both ways. I don't think Gitlab could support their work just by providing commercial support. They need to have a "not so open source" version to sell. And just providing you with the source code to verify (and possible modify and fix if they were to ever go bankrupt), is a huge advantage over a fully closed source solution such as Github.
Why not? You can modify/redistribute it, you can't just deploy it to production without having a valid subscription. It's not Free Software, but it is Open Source.
Free Software and Open Source's differences are more philosophical than technical/legal [0]. This means that if something cannot be Free Software it cannot, more often than not, be Open Source either.
If you cannot deploy it without a paid subscription, it's not Open Source by most commonly accepted definitions of the term.
It's not Open Source because the terms aren't compliant with the OSD[1]. And while the OSD may not be a de-jure definition of "Open Source" it is the de-facto definition in the popular vernacular around this subject.