Comparison of open-source programming language licensing

From HandWiki

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    Language Implementation license Additional information
GNAT Ada GPLv3 FSF GNAT is GPLv3 with runtime exception, other versions have a GPL runtime.
ALGOL 68G ALGOL 68 GPL
ELLA ALGOL 68 ALGOL 68 Public domain or Crown copyright
BWK awk AWK Custom
gawk AWK GPLv3
mawk AWK GPLv2
GCC C, C++, Objective-C, ASM, Go GPL
Clang, LLVM C, C++, Objective-C NCSA
OpenCOBOL COBOL GPL
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
EGL EGL EPL
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
PHP PHP PHP (BSD-style)
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
Regina REXX LGPL
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+
JRuby Ruby CPL, GPL, LGPL
IronRuby Ruby Ms-PL
Rubinius Ruby BSD
XRuby Ruby GPL v2
Bigloo Scheme GPL, LGPL
Chicken Scheme BSD
Gambit Scheme LGPL, Apache
Guile Scheme LGPL
JScheme Scheme zlib
BiwaScheme Scheme 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)
CSNOBOL4 SNOBOL4 Custom
Tcl/Tk Tcl/Tk Tcl/Tk (BSD-style)
MINT TRAC GPL
ash Unix Shell BSD
bash Unix Shell GPLv3
ksh93 Unix Shell CPL
Zig Zig MIT
Clojure Clojure EPL
ClojureCLR Clojure EPL
Clojure-Py Clojure EPL
ClojureScript Clojure EPL
Scala Scala BSD
F# F# MIT
TypeScript TypeScript Apache
Go Go BSD-style
Rust Rust MIT
Vala Vala LGPL
Dart Dart BSD
Multics PL/I PL/I MIT
R R GPL
Swift Swift Apache
.NET Core C#, Visual Basic .NET, F# MIT
Nim Nim MIT
Crystal Crystal Apache