Skip to main content

Moodle third-party libraries credits

Some of Moodle's libraries were written by other people, and are being redistributed as part of Moodle under their respective open source licenses that thankfully allow us to do so. Thanks to the authors of all these excellent products - without them Moodle would be missing important functionality. Copyright information for each package is included below:

Libraries

lunr - http://lunrjs.com

Provide a great search experience without the need for external, server-side, search services.

Roundcube Framework

Assert

OTPHP

Constant-Time Encoding

An easy-to-install jQuery plugin to create EU Cookie Law popups and for GDPR compliance.

CAS

phpCAS library to support CAS authentication plugin.

IMS-BLTI

Set of IMS-LTI tools originaly provided by IMS.

WeBWorK

  • Location: filter/algebra/AlgParser.pm
  • Version: 2.4.9+
  • License: GPL 2.0+

PrismJS

Prism is a lightweight, robust, and elegant syntax highlighting library. It's a spin-off project from Dabblet.

mimeTeX

Compiled C program to convert TeX into GIFs

h5p-php-library

The general H5P library.

h5p-editor-php-library

A general library that is supposed to be used in most PHP implementations of H5P.

AdoDB

Database abstraction library for MySQL, PostgreSQL, MSSQL, Oracle, Interbase, Foxpro, Access, ADO, Sybase, DB2 and ODBC.

  • Location: lib/adodb
  • Version: 5.22.7
  • License: BSD/LGPL 3-Clause/2.1+
  • URL: https://github.com/ADOdb/ADOdb
  • Copyright holders:
    • 2000-2013 John Lim (jlim#natsoft.com). All rights reserved.
    • 2014 Damien Regad, Mark Newnham and the ADOdb community

WebRTC adapter

JavaScript library to insulate apps from spec changes and prefix differences in WebRTC. The prefix differences are mostly gone these days but differences in behaviour between browsers remain.

  • Location: lib/amd/src/adapter.js
  • Version: 8.0.0
  • License: BSD 3-Clause
  • URL: https://github.com/webrtc/adapter
  • Copyright holders:
    • 2014, The WebRTC project authors. All rights reserved. Copyright (c) 2018, The adapter.js project authors.

Chart.js

Simple yet flexible JavaScript charting for designers & developers.

  • Location: lib/amd/src/chartjs-lazy.js
  • Version: 4.4.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/chartjs/Chart.js
  • Copyright holders:
    • 2014-2022 Chart.js Contributors

loglevel.js

Minimal lightweight simple logging for JavaScript.

Mustache.js

JS library for displaying mustache templates.

  • Location: lib/amd/src/mustache.js
  • Version: 4.2.0
  • License: MIT
  • URL: https://github.com/janl/mustache.js
  • Copyright holders:
    • 2009 Chris Wanstrath (Ruby)
    • 2010-2014 Jan Lehnardt (JavaScript)
    • 2010-2015 The mustache.js community

Popper.js

A kickass library used to created Poppers in web applications.

Popper.js

A kickass library used to created Poppers in web applications.

Truncate.js

Dead simple HTML-safe truncation via the DOM. It truncates HTML code, and has several options such as length, finishBlock and noBreak.

AWS SDK for PHP

The AWS SDK for PHP library

axe-core

Accessibility testing engine for websites and other HTML-based user interfaces.

Bennu

Bennu is an object-oriented library written in PHP that implements the iCalendar standard (RFC 2445).

jsbeautify

Beautify HTML code in Atto.

codemirror

CodeMirror is a versatile text editor implemented in JavaScript for the browser.

Rangy

A cross-browser JavaScript range and selection library.

  • Location: lib/editor/atto/yui/src/rangy/js/.
  • Version: 1.3.1 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/timdown/rangy
  • Copyright holders:
    • 2014 Tim Down

Tiny

js-beautify

Beautifier for javascript.

codemirror

CodeMirror is a versatile text editor implemented in JavaScript for the browser.

Emoji data

Library to parse easily data and sprite sheets for emoji.

EvalMath

Class to safely evaluate math expressions.

Font Awesome - http://fontawesome.com

The Font Awesome font. Font Awesome is the Internet's icon library and toolkit, used by millions of designers, developers, and content creators.

GeoPattern

Library for creating beautiful generative background images from a string.

Google APIs

Library Google APIs Client Library for PHP

Graph Class

Class to draw line, point, bar, and area graphs, including numeric x-axis and double y-axis.

  • Location: lib/graphlib.php

  • Version: 1.6.3

  • License: GPL

  • Copyright holders:

    • 2000 Herman Veluwenkamp (hermanV AT mindless DOT com)

GuzzleHttp/Guzzle

Guzzle is a PHP HTTP client library

Guzzle cache middleware

A HTTP Cache for Guzzle as a simple Middleware to be added in the HandlerStack.

GuzzleHttp/Promises

Guzzle promises library

GuzzleHttp/PSR7

PSR-7 message implementation that also provides common utility methods

HTML2Text

PHP script to convert HTML into an approximate text equivalent.

HTML Purifier

Filters HTML.

JMESPath

The JMESPath library

jQuery

jQuery is a fast, small, and feature-rich JavaScript library widely used on moodle.

jQuery UI

jQuery UI is a set of user interface interactions, effects, widgets, and themes built on top of the jQuery library.

Serializable Closure

LTI 1.3 Tool Library

A library used for building IMS-certified LTI 1.3 tool providers in PHP.

LTI Tool Provider Library PHP

PHP library for communicating with learning tools as per the LTI specification.

Markdown

Functions to convert from the Markdown text format into clean XHTML.

GeoIP2 PHP API

Library for processing of GeoIP data files.

MaxMind DB Reader API

PHP API for reading MaxMind DB files.

MatthiasMullie\Minify

CSS & JavaScript minifier, in PHP

MatthiasMullie\PathConverter

CSS path converter, in PHP

PHP-ML

Machine learning library used to generate data for the Analytics system.

  • Location: lib/mlbackend/php/phpml
  • Version: 0.10.0
  • License: MIT
  • URL: https://gitlab.com/php-ai/php-ml
  • Copyright holders:
    • 2016-2020 Arkadiusz Kondas arkadiusz.kondas[at]gmail

Mustache

PHP library for displaying mustache templates.

OpenSpout

Library to read and write spreadsheet files (CSV, XLSX and ODS).

Pear_HTML_Common

Class with many common HTML functions (used by HTML Quickform)

  • Location: lib/pear/HTML/Common.php
  • Version: 1.7 (with Moodle customisations)
  • License: PHP 2.0
  • URL: http://pear.php.net/package/HTML_Common
  • Copyright holders:
    • 2004 Adam Daniel, Bertrand Mansion, Klaus Guenther, Alexey Borzov

Pear_HTML_QuickForm

Class to write forms

Pear_HTML_QuickForm.php

Class to write forms

  • Location: lib/pear/HTML/QuickForm.php
  • Version: 2.0 (with Moodle customisations)
  • License: PHP 2.0
  • URL: https://pear.php.net/package/HTML_Quickform
  • Copyright holders:
    • 2004 Bertrand Mansion, Adam Daniel, Alexey Borzov

Pear.php

Base class for other PEAR classes.

  • Location: lib/pear/PEAR.php
  • Version: 1.4.5 (with Moodle customisations)
  • License: PHP 3.0
  • URL: https://pear.php.net/package/PEAR
  • Copyright holders:
    • 2001-2006 The PHP Group. All rights reserved

PHP-CSS-Parser

A Parser for CSS Files written in PHP.

PHP DI Invoker

PHP Dependency Injector

php-enum

PHP Enum implementation inspired from SplEnum

A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to RFC 7519

A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to RFC 7519

PHPMailer

Class for sending email using either sendmail, PHP mail(), or SMTP. Methods are based upon the standard AspEmail(tm) classes.

PhpSpreadsheet

Library to read, write and create spreadsheet documents in PHP.

phpxmlrpc

A php library for building xml-rpc clients and servers

  • Location: lib/phpxmlrpc
  • Version: 4.10.1 (with Moodle customisations)
  • License: BSD 3-Clause
  • URL: https://github.com/gggeek/phpxmlrpc
  • Copyright holders:
    • 1999,2000,2001 Edd Dumbill, Useful Information Company

plist

PHP Implementation of Apple's PList (binary and XML).

regenerator-runtime

This package implements a fully-functional source transformation that takes the syntax for generators/yield from ECMAScript 2015 or ES2015 and Asynchronous Iteration proposal and spits out efficient JS-of-today (ES5) that behaves the same way.

core-js-bundle

Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2021: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL. You can load only required features or use it without global namespace pollution.

mdn-polyfill

A collection of side-effect ECMAScript modules. Minimized, mangled and extremely small thanks to Rollup - next-generation ES6 module bundler.

url-polyfill

Polyfill URL and URLSearchParams to match last WHATWG specifications.

clock

Clock Interface (PHP FIG PSR-20).

container

Common Container Interface (PHP FIG PSR-11).

event-dispatcher

Provides interfaces that descirbe an event dispatching mechanism.

http-client

Provides an abstraction that describe the components of a HTTP Client.

http-factory

Provides interfaces that describe the components of a HTTP Factory.

http-message

Provide a set of common interfaces for HTTP messages as described in RFC 7230 and RFC 7231

getallheaders polyfill

A polyfill for getallheaders

RequireJS

RequireJS is a JavaScript file and module loader.

RTLCSS for PHP

RTLCSS is a framework for converting Left-To-Right (LTR) Cascading Style Sheets(CSS) to Right-To-Left (RTL).

scssphp

scssphp is a compiler for SCSS written in PHP.

SimplePie

Simple Pie helps with blogs.

Symfony Deprecation contracts

A generic function and convention to trigger deprecation notices

TCPDF

Class to generate PDF files

  • Location: lib/tcpdf
  • Version: 6.6.5 (with Moodle customisations)
  • License: LGPL 3.0-or-later
  • URL: https://github.com/tecnickcom/TCPDF
  • Copyright holders:
    • Olivier PLATHEY
    • Nicola Asuni

validateUrlSyntax

URL syntax validation using PHP and regular expressions.

  • Location: lib/validateurlsyntax.php

  • Version: (with Moodle customisations)

  • License: GPL 2.0+

  • Copyright holders:

    • 2000 Rod Apeldoorn - rod(at)canowhoopass(dot)com

WebAuthn

XHProf

A Hierarchical Profiler for PHP.

YUI

The Yahoo! User Interface Library is a set of utilities and controls, in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. The YUI Library also includes several core CSS resources.Set of user-interface components using AJAX, DHTML etc. We use it for all our AJAX-related stuff.

The Gallery is a collection of modules that have been developed by the YUI community to enhance the capabilities of YUI.

ZipStream-PHP

PHP ZIP Streaming Library

ogv.js

Javascript media decoder and player for Ogg Vorbis/Opus/Theora and WebM VP8/VP9/AV1 video.

VideoJS

JavaScript library that makes it easier to work with and build on HTML5 video.

  • Location: media/player/videojs/amd/src/video-lazy.js
  • Version: 8.10.0 (with Moodle customisations)
  • License: Apache 2.0
  • URL: https://github.com/videojs/video.js
  • Copyright holders:
    • Brightcove, Inc

ogv.js Tech plugin for Video.JS

The ogv.js tech plugin for VideoJS

videojs-youtube

YouTube Playback Technology for Video.js.

ogv.js support files

JavaScript media decoder and player for Ogg Vorbis/Opus/Theora and WebM VP8/VP9/AV1 video.

VideoJS support files

JavaScript library that makes it easier to work with and build on HTML5 video

  • Location: media/player/videojs/videojs
  • Version: 8.10.0 (with Moodle customisations)
  • License: Apache 2.0
  • URL: https://github.com/videojs/video.js
  • Copyright holders:
    • Brightcove, Inc

FPDI

Collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF.

S3

A standalone Amazon S3 (REST) client for PHP 5.2.x using CURL that does not require PEAR.

bootstrap-alert

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/alert.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

undefined

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/button.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/carousel.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-collapse

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/collapse.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-dropdown

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/dropdown.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-modal

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/modal.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-popover

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/popover.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-scrollspy

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/scrollspy.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-tab

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/tab.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-toast

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/toast.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-sanitizer

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/tools/sanitizer.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-tooltip

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/tooltip.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-util

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/bootstrap/util.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

bootstrap-util

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/amd/src/index.js
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

Twitter Bootstrap

HTML, CSS, and JavaScript framework for developing responsive, mobile-first projects on the web.

  • Location: theme/boost/scss/bootstrap
  • Version: 4.6.2 (with Moodle customisations)
  • License: MIT
  • URL: https://github.com/twbs/bootstrap
  • Copyright holders:
    • 2011-2021 Twitter, Inc
    • 2011-2021 The Bootstrap Authors

Font Awesome - http://fontawesome.com

Font Awesome CSS, LESS, and Sass files. Font Awesome is the Internet's icon library and toolkit, used by millions of designers, developers, and content creators.

Other libraries

MathJax

JavaScript filter library for displaying LaTeX, AsciiMath notation, and MathML.

note

This library is not actually included in Moodle. Instead, Moodle has a setting for where the library is located to be loaded from.

It is currently loaded from the Cloudflare CDN by default.

  • Location: filter/mathjaxloader
  • Version: 2.7.9
  • License: Apache 2.0
  • URL: https://mathjax.org
  • Copyright holders:
    • 2009 - 2017 The MathJax Consortium

Legacy libraries

FLV Player

Provide a great search experience without the need for external, server-side, search services.

Outdated

This library is not currently used in Moodle

SMTP Class

Class that can be used to connect and communicate with any SMTP server. It implements all the SMTP functions defined in RFC821 except TURN.

Outdated

This library is not currently used in Moodle

  • Location: lib/class.smtp.php

  • Version:

  • License: LGPL

  • Copyright holders:

htmlArea

JavaScript/HTML script to put a GUI editor in textareas on Internet Explorer and Mozilla.

Outdated

This library is not currently used in Moodle

  • Location: lib/editor
  • Version: 3.0 beta (with Moodle customisations)
  • License: htmlArea License (based on BSD license)
  • URL: http://www.jeroenwijering.com
  • Copyright holders:
    • 2002 interactivetools.com, inc.

IP-Atlas

PHP scripts to show the location of an IP address on a map.

Outdated

This library is not currently used in Moodle

PHP library for XMPP (aka Jabber, Google Talk, etc).

Provide a great search experience without the need for external, server-side, search services.

Outdated

This library is not currently used in Moodle

jQuery migrate

Library used to migrate older jQuery to jQuery 3.0

Outdated

This library is not currently used in Moodle

Services_JSON

Allows PHP->JS communication via JSON

Outdated

This library is not currently used in Moodle

kses

HTML/XHTML filter that only allows some elements and attributes

Outdated

This library is not currently used in Moodle

less.php

The less.php is a PHP port of the official LESS processor used by moodle themes.

Outdated

This library is not currently used in Moodle

MP3 Player

Flash movie to play streaming MP3s

Outdated

This library is not currently used in Moodle

  • Location: lib/mp3player

  • Version: Unknown

  • License: GNU GPL

  • Copyright holders:

    • 2005 Andrew Walker

overlib.js

JavaScript library to enable DHTML popups, floating windows, events etc.

Outdated

This library is not currently used in Moodle

  • Location: lib/overlib.js
  • Version: July 2004
  • License: Artistic Open Source License
  • URL: http://www.macridesweb.com/oltest/
  • Copyright holders:
    • 2002-2004 Foteos Macrides
    • 1998-2004 Erik Bosrupr

PclZip

Class to create, manage and unpack zip files.

Outdated

This library is not currently used in Moodle

  • Location: lib/pclzip
  • Version: 2.4 RC1
  • License: GNU GPL
  • URL: http://www.phpconcept.net
  • Copyright holders:
    • 2004 Vincent Blavet

PEAR OLE classes

This package allows reading and writing of OLE (Object Linking and Embedding) compound documents. This format is used as container for Excel (.xls), Word (.doc) and other Microsoft file formats.

Outdated

This library is not currently used in Moodle

  • Location: lib/pear/OLE
  • Version: 0.5
  • License: PHP (plus special exemption for Moodle to make it compatible)
  • URL: http://pear.php.net/package/OLE
  • Copyright holders:
    • 2004 Xavier Noguer

PEAR Spreadsheet classes

Class to write Excel files

Outdated

This library is not currently used in Moodle

XML_Parser

Class implementing one handy (sax-expat) XML parser

Outdated

This library is not currently used in Moodle

PHPExcel

Library to read, write and create spreadsheet documents in PHP.

Outdated

This library is not currently used in Moodle

Snoopy

A PHP net client

Outdated

This library is not currently used in Moodle

Spike PHPCoverage

PHP code coverage reporting tool

Outdated

This library is not currently used in Moodle

Spout

Library for importing and exporting csv / excel / ODS files.

Outdated

This library is not currently used in Moodle

  • Location: lib/spout
  • Version: 3.3.0
  • License: Apache 2.0
  • URL: https://github.com/box/spout/
  • Copyright holders:
    • 2022 Box, Inc. All rights reserved

Typo3 Character Set Class

Class for conversion between charsets and multibyte-savy operations with strings.

Outdated

This library is not currently used in Moodle

  • Location: lib/typo3
  • Version: 4.7.19
  • License: GNU GPL
  • URL: https://typo3.org
  • Copyright holders:
    • 2003 - 2005 Kasper Skaarhoj

Video.js - Custom Flash Player

Custom Flash Player for VideoJS.

Outdated

This library is not currently used in Moodle