> Both versions have their sources published on GitLab with the former having an MIT license and the latter a proprietary one which requires a paid subscription with GitLab.
So, it is open source? Doesn't this fall under the adage of "free as in free speech, not as in free beer?"
"Open source" is an incredibly ambiguous term. Some people use it to mean the literal "the source is open to the world." Some people use it to mean the Open Source Definition from the Open Source Initiative https://opensource.org/osd , which is a very small set of modifications of the Debian Free Software Guidelines https://www.debian.org/social_contract#guidelines to make them not talk about Debian or use the term "free software". GitLab EE does not fit the Open Source Definition at all.
Personally, I think using "open source" to mean "the source is open to the public" is as misguided as using "free software" to mean "the software is free of charge," but in practice there's a lot more ambiguity in the former, not the latter.
> Personally, I think using "open source" to mean "the source is open to the public" is as misguided as using "free software" to mean "the software is free of charge," but in practice there's a lot more ambiguity in the former, not the latter.
I would disagree. Both the terms "open source" and "free software" existed prior to the open-source software movement. Either way, you don't get to co-opt the plain English meaning just because you've invented your own jargon. That's not how language works.
That's precisely how language works: we co-opt words and change their meaning all the time; this happens all the time with software, engineering and physics. Open source has come to mean something in the software development world (and it arguably never meant "the source is open to the public but they must pay for its use", so it's not even an actual subversion). Some companies now might be trying to redefine the term, and it's up to us -- the programming community -- to stop them by rejecting this redefinition.
My point is that while, yes, terms of art are coined all the time, they don't get authority over plain English by virtue of existing. Sociologists don't get to say, "Well, that's not technically what gender means," when you can open up a dictionary and show that, yes, that is damn well exactly what gender means in English. I mean, yes, they do try to do that, but they don't actually have any authority to do so.
That some wish to draw a distinction from a term of art does not meant that all uses of that term must draw the same distinction or be considered a term of art. English, and indeed all natural languages, support words with multiple, often contradictory meanings. English, being defined by usage, does not care at all about any authority in language.
The words "free software" will essentially forever mean "software obtained without monetary cost" because that's what those words mean in plain English. That's the semantic meaning of combining that adjective with that noun. The fact that a second definition exists where "free software" is a compound word is mostly irrelevant. The fact that engineers have a specific meaning for "shear" doesn't mean I can't call my scissors "shears". That's why so many terms of art are invented whole-cloth and why acronyms as terms of art are so prevalent. It's precisely to avoid that contextual semantic collision that plain English doesn't give two shits about.
> The words "free software" will essentially forever mean "software obtained without monetary cost" because that's what those words mean in plain English.
Well, "software" is a relatively new word, so I'm not sure about "forever" (is software a soft ware?). And within the short lifespan of this word, the term Free Software in the technically accepted jargon has been in use for a really long time (at least early 80s, apparently).
Yes, non-technical people won't understand what "free software", "open source", or "source" means for that matter. They don't understand what a license means in terms of software either. They don't know or care about hacker culture, or the history of computing. That's ok.
Language has meaning within communities. This is our community. GitLab, GitHub, Microsoft, and most HN readers do understand the mainstream meanings -- within our community -- of "Free Software" and "Open Source". This is just like when physicists say a nuclear reactor goes "critical" they immediately understand the term, even when to a layperson it sounds scary and in common language "critical" means something else.
I think that's true of "free software," but I'm not sure it's true of "open source" - the primary meaning before the FOSS movements was open source intelligence (OSINT), i.e., intelligence collected from open sources. https://en.wikipedia.org/wiki/Open-source_intelligence I'd believe that a phrase like "open source code" or something (parsed as "open source-code," not "open-source code") existed in the way "free software" did.
(Also, the fact that "intelligence" has a jargon meaning other than "smartness" is a good example that that is in fact how language works.)
Usually when people speak about open source, they include not only not being able to view the source, but also the possibility to modify, distribute and use it (and modified versions) in the requirements for a license to be labeled an open source license.
> ...and all such modifications and/or
patches may only be used, copied, modified, displayed, distributed, or otherwise exploited with a valid GitLab Enterprise Edition subscription for the correct number of user seats.
You can do all that assuming you have a license for your production users. It's not GNU-style Free Software, sure, but it still feels like Open Source to me.
> You can do all that assuming you have a license for your production users. It's not GNU-style Free Software, sure, but it still feels like Open Source to me.
I disagree. If you need a paid license in order to redistribute modified copies, that's really not how developers think of open source and it seems disingenuous to conflate the two meanings. It definitely does not "feel" open source.
Even Microsoft understood this difference, which is why back in the day (before current Microsoft practices) they used to have an initiative called "Shared Source" [0]. Notice how they avoided calling it "open source", since this would have contradicted reasonable expectations about the meaning of the term.
It is certainly not in compliant with Open Source Initiative's definition, which is the primary meaning
of open source in the engineering field.
https://opensource.org/osd
Their license says...
Notwithstanding the foregoing, you may copy and modify
the Software for development and testing purposes, without requiring a
subscription. You agree that GitLab and/or its licensors (as applicable) retain
all right, title and interest in and to all such modifications. You are not
granted any other rights beyond what is expressly stated herein. Subject to the
foregoing, it is forbidden to copy, merge, publish, distribute, sublicense,
and/or sell the Software.
It also means that if you write some generic code for GitLab EE, like a widget that lets you select git branches or validate some JSON or whatever, you can't reuse that code elsewhere. Copyright in the code you wrote is owned by GitLab, and nobody who's not a GitLab customer can use it.
The ability to reuse code is IMO an important part of both open source and free software.
The open source and free software movements came from a time where if you bought a big piece of software - a UNIX system or what-have-you - you would get the source code, and be permitted to modify it and maybe even share your patches with other people who’d also bought the software. That wasn’t the point of either movement at all.
Exactly. For instance Windows source code has been "open source" for about 18 years or so via a license anyone can request. This is still not what most people think of when speaking about open source though.
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.
Please don't confuse Open Source and Free Software. Open Source' ideals are not "free as in free speech, not as in free beer?". That is something of Free Software. Open Source does not care about the Free Software ideals. Except for that one thing, that source code shall be available.
The Open Source Definition [0] cares about more than just "that source code shall be available". Among other things, it says "The license must allow modifications and derived works" and "The license must not restrict anyone from making use of the program in a specific field of endeavor".
In fact, the OSD is nearly identical to the Debian Free Software Guidelines [1].
GNU has listed "Four Essential Freedoms" https://www.gnu.org/philosophy/free-sw.html to meet the definition of "free software". Does the gitlab-ee license meet these? I think for the most part it does, although I'm not sure this ever had a "subscription model" in mind when it was written. You can run the software, you can modify the software, you can distribute your changes... You could theoretically sell your modifications so long as third parties had a subscription with gitlab, although you'd have the weirdest business model ever.
Free speech is a superset of free beer, not a subset. The proprietary version of GitLab is publicly viewable and amendable, but it is close source, not open source.
It's neither a superset nor a subset. Some programs cost money to get a copy (or support or whatever), but then once you have the program you can do what you want with it.
So, it is open source? Doesn't this fall under the adage of "free as in free speech, not as in free beer?"