What is the definition of an open source programming language?

open-source, programming-languages

Solution

At the core, as others have observed, there really is no such thing as an "open source language". Only code can be open source in the strictest sense. So there can be open source compilers, runtimes, libraries, etc.

With many languages, however, the implementation (compiler/runtime) is almost inseparable from the language itself. This is the case with Ruby, Python, etc., where the language is effectively defined by its primary/original implementation. While there are other implementations of these languages, the primary implementation and the language are virtually interchangable. In such cases where the primary implementation is also open source, it makes some sense to refer to it as an open source languages, especially since such languages tend to have a community that is also almost entirely built around and friendly to open source software.

Problem

Languages like Ruby and Python are usually referred-to as open source, but what makes them so? Is it an open-source compiler?, or interpreter or execution virtual machine? If we're talking about the compiler, then would C++ be open source?

Original source