Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the definition of an open source programming language? [closed]

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?

like image 996
Lawand Avatar asked Oct 09 '09 23:10

Lawand


2 Answers

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.

like image 93
Michael Ekstrand Avatar answered Oct 24 '22 06:10

Michael Ekstrand


I don't think languages are generally considered to be open source, but rather the software implementing the language (whether it's a compiler or a virtual machine or whatever). It follows that a given language can have both open-source and non-open-source implementations. For example, there are many closed-source C++ compilers, as well as open source ones.

Perhaps one could make a distinction between a language that is controlled by a single entity (eg. C#) versus a language that is grown through community contributions (eg. Python or even Java).

like image 28
Greg Hewgill Avatar answered Oct 24 '22 05:10

Greg Hewgill