Comparison of open-source programming language licensing

Last updated

This is a comparison of open-source programming language licensing and related legal issues, covering all language implementations. Open-source programming languages are those that are released under open-source licenses.

   Title   LanguageImplementation licenseAdditional information
GNAT Ada GPLv3 FSF GNAT is GPLv3 with runtime exception, other versions have a GPL runtime.
ELLA ALGOL 68 ALGOL 68 Public domain or Crown copyright
BWK awk AWK Custom
gawkAWK GPLv3
mawkAWK GPLv2
GCC C, C++, Objective-C, ASM, Go GPL
Clang, LLVM C, C++, Objective-C NCSA
Mono C#, Visual Basic .NET GPLv2, MIT (X11), LGPLv2
ISE Eiffel Eiffel GPL, EFL For GPL projects (there is a commercial license to use for non GPL projects)
Gobo Eiffel Eiffel MIT
Erlang Erlang Erlang, Apache 2.0
Gforth Forth GPLv3
Open Firmware Forth BSD
Pforth Forth Public domain
FreeBASIC BASIC GPL Inspired by and compatible with QBasic.
Gambas BASIC GPL Partially compatible with Visual Basic code.
Harbour Harbour GPL
Helium Haskell GPL
Icon Icon Public domain
IcedTea Java GPL
WebKit JavaScriptCore JavaScript LGPL v2.1
SpiderMonkey JavaScript MPL
V8 JavaScript BSD
Julia Julia MIT, GPL and BSD A few (optional) GPL math libraries make the full environment GPL as a whole.
Emacs Lisp Lisp GPLv3
Lua Lua MIT
Logtalk Logtalk Apache 2.0 linking exception
Free Pascal Pascal, Object Pascal GPL, LGPL GPL applies to the compiler, while LGPL with static linking exception applies to the runtime libraries
Perl Perl Artistic or GPL
Pike Pike GPL, LGPL, MPL 1.1
Free Poplog POP-11, Common Lisp, Prolog, Standard ML Custom, based on MIT/XFree86
GNU Prolog Prolog GPLv2
SWI-Prolog Prolog LGPL
Ciao Prolog GPL, LGPL
Opa Opa Affero GPL
Python Python PSF (GPL compatible) With Run-Time Exception (no Copyleft)
Jython Python PSF (GPL compatible) With Run-Time Exception (no Copyleft)
IronPython Python Ms-PL
PyPy Python MIT
Ruby MRI Ruby Ruby or GPL Reference implementation through v1.8
YARV Ruby Ruby or BSD Reference implementation for v1.9; GPL for v1.9.1–1.9.2; BSDL for 1.9.3+
IronRuby Ruby Ms-PL
Rubinius Ruby BSD
XRuby Ruby GPL v2
Bigloo Scheme GPL, LGPL
Chicken Scheme BSD
Gambit Scheme LGPL, Apache
Gauche SchemeBSD
Guile Scheme LGPL
JScheme Scheme zlib
BiwaSchemeScheme MIT
Kawa Scheme MIT
Racket Scheme LGPL
STklos Scheme GPL
Scsh Scheme BSD
GNU Smalltalk Smalltalk GPL v2
Pharo Smalltalk MIT
Squeak Smalltalk Apple Public Source, Apache (OLTPC)
Tcl/Tk Tcl/Tk Tcl/Tk (BSD-style)
ash Unix Shell BSD
bash Unix Shell GPLv3
ksh93 Unix Shell EPL
Zig Zig MIT
Clojure Clojure EPL
ClojureCLRClojure EPL
Clojure-PyClojure EPL
ClojureScriptClojure EPL
Scala Scala BSD
TypeScript TypeScript Apache
Go Go BSD-style
Rust Rust MIT
Vala Vala LGPL
Dart Dart BSD
Multics PL/I PL/I MIT
Swift Swift Apache
.NET Core C#, Visual Basic .NET, F# MIT
Nim Nim MIT
Crystal Crystal Apache

Related Research Articles

The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by ISO and Ecma International that describes executable code and a runtime environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures. This implies it is platform agnostic. The .NET Framework, .NET and Mono are implementations of the CLI. The metadata format is also used to specify the API definitions exposed by the Windows Runtime.

Free software Software licensed to preserve user freedoms

Free software or libre software, infrequently known as freedom-respecting software, is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

GNU Free software collection

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

GNU Lesser General Public License Free-software license

The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components. However, any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications.

In computing, source code is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source code. The source code is often transformed by an assembler or compiler into binary machine code that can be executed by the computer. The machine code might then be stored for execution at a later time. Alternatively, source code may be interpreted and thus immediately executed.


Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group would later go on to be supported by HP labs, SAP, and most recently, Y Combinator.

Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999.

A GPL linking exception modifies the GNU General Public License (GPL) in a way that enables software projects which provide library code to be "linked to" the programs that use them, without applying the full terms of the GPL to the using program. Linking is the technical process of connecting code in a library to the using code, to produce a single executable file. It is performed either at compile time or run-time in order to produce functional machine-readable code. The Free Software Foundation states that, without applying the linking exception, a program linked to GPL library code may only be distributed under a GPL-compatible license. This has not been explicitly tested in court, but linking violations have resulted in settlement. The license of the GNU Classpath project explicitly includes a statement to that effect.

A software license is a legal instrument governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source code and object code forms, unless that software was developed by the United States Government, in which case it cannot be copyrighted. Authors of copyrighted software can donate their software to the public domain, in which case it is also not covered by copyright and, as a result, cannot be licensed.

LAMP (software bundle) Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largely interchangeable.

Komodo Edit

Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo IDE is no longer supported and maintained by developers for python.

Proprietary software, also known as non-free software or closed-source software, is computer software for which the software's publisher or another person reserves some licensing rights to use, modify, share modifications, or share the software, restricting user freedom with the software they lease. It is the opposite of open-source or free software. Non-free software sometimes includes patent rights.

GNU General Public License Series of free software licenses

The GNU General Public License is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use and were originally written by the founder of the Free Software Foundation (FSF), Richard Stallman, for the GNU Project. The license grant the recipients of a computer program the rights of the Free Software Definition. These GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License and even further distinct from the more widely used permissive software licenses BSD, MIT, and Apache.

App Inventor for Android Web application integrated development environment

MIT App Inventor is a web application integrated development environment originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application software(apps) for two operating systems (OS): Android, and iOS, which, as of 8 July 2019, is in final beta testing. It is free and open-source software released under dual licensing: a Creative Commons Attribution ShareAlike 3.0 Unported license, and an Apache License 2.0 for the source code.

Visual Studio Code Free integrated development environment (IDE) by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

P is a programming language for asynchronous event-driven programming and the IoT that was developed by Microsoft and University of California, Berkeley.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

Project Verona is an experimental research programming language developed by Microsoft and aimed at dealing with memory situations to make other programming languages safer.

Microsoft Power Fx is a free and open source low-code, general-purpose programming language for expressing logic across the Microsoft Power Platform.