Distinguishing open and non-open development environments

Hopefully we can discuss that a bit further. Posted the below text on LinkedIn and Twitter.

Highly debated :thinking: Many people say that software that requires proprietary software such as #GAMS, #macOS, #Windows or #Matlab to function is #opensource. But is this really the case? The fact that many organization receive funding under the paradigm that the above is true makes it worth discussing it.

“Is software open source when it can only be used with proprietary software?”. Currently, there are many energy system planning tools that require GAMS to be used and useful. This sounds problematic to me, because even though I can view the software, I cannot necessarily understand it (debug it) or use it for its function or purpose. Are these, without GAMS license, useless applications really defined as open-source?

I passed this question (“”) to my popular friend ChatGPT. The answer:

"If software can only be used with proprietary software, it would not be considered open source in the traditional sense of the term. Open source software is generally defined as software that is licensed under a license approved by the Open Source Initiative (OSI), which allows for the software to be freely used, modified, and distributed by anyone.

One of the key principles of open source software is that it is not dependent on proprietary software, and can be used and modified without restrictions. In contrast, software that is dependent on proprietary software would generally be considered proprietary software itself, even if some of its source code is available.

That being said, there are some software licenses that fall under the category of “source-available” or “shared source” licenses. These licenses may allow users to access and modify the source code of the software, but may place certain restrictions on how the software can be used and distributed. While these licenses are not considered to be true open source licenses by some advocates of open source software, they do allow for greater transparency and collaboration in software development."

So ChatGPT considers any software that requires #macOS, #Windows, #Matlab or #GAMS to function not as open-source. I like the arguments. But are we missing something? Curious to hear more arguments for or against it.

In terms of clear communication, do we have one/two word*s distinguishing between:
a) Open models built on e.g. Julia/Python
b) “Open” models built on e.g. GAMS/Matlab
Any idea?

Hi @MaxParzen

I moved your post to a new topic. Hope that is okay.

Can you ask your new found friend to provide reliable secondary sources next time you chat?

Quite right to distinguish between the legal status of the codebase and the development environment. Clearly the use of proprietary interpreters and related tooling is far from ideal. And I guess that it is unlikely that GAMS becomes open. Java did however. I attended the launch in May 1995 and the entire environment was proprietary. Twelve years later and most Java technologies were released under the GPL‑2.0‑only license. Sun (later Oracle) continued to sell enterprise tooling to commercial organizations as its business model.

A non‑academic single‑site perpetual license for GAMS is USD $ 3500. Which places such licenses beyond any individual user. And which means that GAMS‑based projects are going to remain institutional. I think GAMS is the most widespread of the proprietary development environments for energy system modeling.

The question of proprietary operating systems is not really at issue, given most models are multi‑platform.

Regarding terminology, I don’t think there are any standard terms really.

Hi @robbie.morrison,
We know that the “new friend” is not reliable :smile: @johannes.hampp raised a good point on twitter that Matlab and GAMS based models would likely not qualify under the scope of the four freedoms for free software.

I think under the current openmod manifesto, open models include models built on GAMS, Matlab, Python and Julia. Since most people agree that there is an significant difference between the first two and the latter two options, some kind of term would be useful for clear communication with decision-makers.

“Free and open model” seems to be one suitable term, similar to “free software” or “free and open source software” (FOSS) derived from the GNU or OSI philosophy.

Example:
Free and open models can be based on Julia/Python but not on GAMS/Matlab

Where do paid‑for development environments sit?

This debate essentially settles on the degree to which financial cost provides a barrier to open source development.

The underlying hardware must also be purchased and my aging Intel i7 laptop cost around € 1500 when new. Access to power and internet provision are also necessary and again must be paid for. Moreover, neither of these services is necessarily stable in the parts of the global south.

The four freedoms (cited earlier) were formulated when all substantial software was written in compiled languages like C. To my knowledge, all the common compiled languages have open‑source development environments. The use of proprietary interpreters, such as GAMS and Matlab, essentially represent corner‑cases in terms of free software.

It is debatable, in my view at least, whether the four freedoms mandate that the entire development stack be free of financial cost. The source code for the program must be accessible and provided under an OSI‑approved open license. But those open source licenses are also intentionally silent on the question of pricing, although charging for code is obviously impracticable beyond the first hop. Of course the use of free (as‑in‑freedom) software interpreters, like Python, is far more preferable over relatively expensive proprietary interpreters, like GAMS.

There are also occasionally other considerations that arise. MATLAB was recently subject to US sanctions concerning two Chinese universities.

Research funding policies

Much of what happens in our domain is dependent on research funding policies. And while there is a general shift towards open source by default, it seems unlikely that open‑source development environments would ever be mandated by funding agencies. In regards funding policy in Germany, this 2022 document from the federal economics ministry (BMWK) is instructive (only in German unfortunately):

Open‑source is the default, while this part covers opt‑outs (unofficial translation):

No obligation to OS [open science]: In justified exceptional cases, for example projects with interesting real use cases and sensitive data contributions from practice partners or with commercial exploitation interests in the model (for example in consulting companies), there should be no obligation to OS exploitation. However, minimum transparency standards alternative to OS, such as the creation of so-called factsheets, are mandatory."

This BMWK document was earlier discussed on the openmod mailing list as follows: