Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Moodle libraries credits

From MoodleDocs
Important:

This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.

Why not view this page on the new site and help us to migrate more content to the new site!

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:

ADOdb

lib/adodb

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

Version: 5.21.4

@copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved.

@copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community

License: Dual LGPL and BSD-style

http://adodb.sourceforge.net

Amazon S3

repository/s3/S3.php

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

Version: 0.5.1

Copyright (c) 2013, Donovan Schönknecht

License: BSD 2-Clause

https://github.com/tpyo/amazon-s3-php-class/releases

Axe

lib/behat/axe

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

Version: 4.3.5

Copyright Deque Systems Inc.

License: Mozilla Public License 2.0

https://github.com/dequelabs/axe-core/tags

Bennu

"lib/bennu"

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

Version: 0.1 (customized since then)

Copyright (c) 2005, Jon Papaioannou

License: LGPL 2.1+

http://bennu.sourceforge.net/

CAS

auth/cas/CAS

phpCAS library to support CAS authentication plugin

Version: 1.4.0

Copyright Jasig

License: Apache License 2.0

https://wiki.jasig.org/display/CASC/phpCAS

CFPropertyList

/lib/plist

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

Version: 2.0.2

Copyright © 2018 Teclib

Copyright © 2009 Christian Kruse, Rodney Rehm

License: MIT

http://teclib.github.io/CFPropertyList/

Chart.js

lib/amd/src/chartjs-lazy.js

Simple yet flexible JavaScript charting for designers & developers

Version: 2.9.4

Copyright 2016 Nick Downie

License: MIT

http://www.chartjs.org

CodeMirror

lib/editor/atto/plugins/html/yui/src/codemirror

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

Version: 5.65.0

License: MIT

https://github.com/codemirror/CodeMirror

Emoji-data

lib/emoji-data

Library to parse easily data and sprite sheets for emoji.

Version 7.0.2

Copyright (c) 2013 Cal Henderson

License: MIT

https://github.com/iamcal/emoji-data/

EvalMath

lib/evalmath

Class to safely evaluate math expressions

Copyright Miles Kaufmann

License: BSD

http://www.twmagic.com/

FLV player

filter/mediaplugin/flvplayer.swf

Flash movie to play FLV files

Copyright Jeroen Wijering

License: GNU GPL

http://www.jeroenwijering.com

(This library is not currently used in Moodle)

FPDI

/mod/assign/feedback/editpdf/fpdi/

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

Version: 2.3.6

Copyright (c) 2020 Setasign GmbH & Co. KG, https://www.setasign.com

License: MIT

https://www.setasign.com/products/pdf-php-solutions/fpdi/

GeoIp2

lib/maxmind/GeoIp2

Library for processing of GeoIP data files

Version: 2.11.0

Copyright MaxMind

License: Apache 2.0

https://github.com/maxmind/GeoIP2-php

GeoPattern

lib/geopattern-php

Library for creating beautiful generative background images from a string

Version: 1.1.2

Copyright 2015 Leaf Corcoran

License: MIT

https://github.com/RedeyeGroup/geopattern-php

Google APIs

"lib/google"

Library Google APIs Client Library for PHP

Version: 1.1.7

License: Apache License Version 2.0

https://github.com/google/google-api-php-client

Graph Class

lib/graphlib.php

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

Version: 1.6.3 (with modifications)

Copyright © 2000 Herman Veluwenkamp (hermanV AT mindless DOT com)

License: LGPL

H5P

joubel/core

The general H5P library

Version: 1.24.3

Copyright © Joubel

License: GPL-3.0

https://github.com/h5p/h5p-php-library/

H5P Editor PHP Library

joubel/editor

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

Version: moodle-1.20.2

Copyright © Joubel

License: MIT

https://github.com/h5p/h5p-editor-php-library

Horde

lib/horde

Library used by the inbound e-mail handling system.

Version: 5.2.23

Copyright © Horde LLC

License: LGPL

http://www.horde.org/

html2text

lib/html2text

PHP script to convert HTML into an approximate text equivalent

Version: 4.3.1

Copyright (c) 2005-2007 Jon Abernathy <jon@chuggnutt.com>

License: GNU GPL

https://github.com/mtibben/html2text.git

htmlArea

lib/editor

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

Version: 3.0 beta (with modifications)

Copyright © 2002 interactivetools.com, inc.

License: htmlArea License (based on BSD license)

(This library is not currently used in Moodle)

HTML Purifier

"lib/htmlpurifier"

Filters HTML.

Version: 4.13.0

License: LGPL

http-message

"/lib/http-message"

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

Version: 1.0.1

Copyright (c) 2014 PHP Framework Interoperability Group

License: MIT

IP-Atlas

lib/ipatlas

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

Version: 1.0 (with modifications)

Copyright © 2002 Ivan Kozik

License: GNU GPL

http://www.xpenguin.com/ip-atlas.php

(This library is not currently used in Moodle)

Jabber - XMPPHP

lib/jabber

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

Version: 0.1rc2-r77

Copyright: 2008 Nathanael C. Fritz

License: GPL

http://code.google.com/p/xmpphp

jQuery

lib/jquery

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

Version: 3.6.0

Copyright: 2016 The jQuery Foundation

License: MIT

https://jquery.com

jQuery EU Cookie Law popups

'/admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js

An easy-to-install jQuery plugin to create EU Cookie Law popups

Version: 1.1.3

Copyright (c) 2015 Richard Dancsi

License: MIT

https://github.com/wimagguc/jquery-eu-cookie-law-popup

jQuery migrate

lib/jquery/jquery-migrate-1.4.0.js

Library used migrate older jQuery code to jQuery 3.0.

Version: 1.4.0

Copyright: 2016 The jQuery Foundation and other contributors

License: MIT

https://github.com/jquery/jquery-migrate

(This library is not currently used in Moodle)

jQuery UI

lib/jquery/ui-1.13.0/

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

Version: 1.13.0

Copyright: 2016 The jQuery Foundation and other contributors

License: MIT

https://github.com/jquery/jquery-migrate

JavaScript Beautifier

yui/src/beautify

Beautify HTML code in Atto.

Version: 1.14.0

Copyright (c) 2007-2018 Einar Lielmanis, Liam Newman, and contributors.

License: MIT

https://beautifier.io/

Services_JSON

lib/json

Allows PHP->JS communication via JSON

Version: 1.3.1

Copyright © 2005 Michal Migurski

License: Modified BSD (GPL-compatible)

http://pear.php.net/pepr/pepr-proposal-show.php?id=198

(This library is not currently used in Moodle)

JWT

lib/php-jwt

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

Version: 6.0.0

Copyright © 2011, Neuman Vong

License: BSD

https://github.com/firebase/php-jwt

ENUM

lib/php-enum

PHP Enum implementation inspired from SplEnum

Version: 1.8.3

Copyright (c) 2015 My C-Labs

License: MIT

https://github.com/myclabs/php-enum

kses

lib/kses.php

HTML/XHTML filter that only allows some elements and attributes

Version: 0.2.2

Copyright © 2002, 2003, 2005 Ulf Harnhammar

License: GNU GPL

http://sourceforge.net/projects/kses

(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.

lib/lessphp

Version: 1.7.0.10

License: Apache 2.0

http://lessphp.typesettercms.com/

Copyright: Matt Agar and Martin Jantošovič

(This library is not currently used in Moodle)


loglevel.js

Minimal lightweight simple logging for JavaScript.

Version 1.7.1

Copyright (c) 2019 Tim Perry

License: MIT

https://github.com/pimterry/loglevel/

LTI Tool Provider Library for PHP

"lib/ltiprovider/"

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

Version: 3.0.2

© 2016 IMS Global Learning Consortium Inc. All Rights Reserved. Trademark Policy - (www.imsglobal.org/trademarks)

License: Apache 2

https://github.com/IMSGlobal/LTI-Tool-Provider-Library-PHP

MathJax

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

Not actually included in Moodle. Instead, Moodle has a setting for where the library is located to be loaded from. It is currently pointing to the Cloudflare CDN by default.

© Copyright 2009 - 2017 The MathJax Consortium

MatthiasMullie\Minify

CSS & JavaScript minifier, in PHP

Version 1.3.66

License: MIT

https://github.com/matthiasmullie/minify


MatthiasMullie\Path converter

CSS path converter, in PHP

Version 1.1.3

License: MIT

https://github.com/matthiasmullie/path-converter

MaxMind DB Reader

lib/maxmind/MaxMind/

PHP API for reading MaxMind DB files

Version: 1.10.1

Copyright MaxMind

License: Apache 2.0

https://github.com/maxmind/MaxMind-DB-Reader-php/

MDN Polyfills

/lib/mdn-polyfills

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

Version: 5.20.0 Version url-polyfill: 1.1.12

License: MIT

https://www.npmjs.com/package/mdn-polyfills

mimeTeX

filter/tex

Compiled C program to convert TeX into GIFs

Version: 1.77

Copyright © 2002-2004 John Forkosh Associates, Inc

License: GNU GPL

http://www.forkosh.com/mimetex.html

MongoDB PHP Library

/cache/stores/mongodb/MongoDB/

MongoDB PHP library

Version: 1.8.0

License: apache 2.0

https://docs.mongodb.com/php-library/

Mustache.js

"lib/amd/src/mustache.js"

JS library for displaying mustache templates.

Version: 3.1.0

Copyright (c) 2009 Chris Wanstrath (Ruby)

Copyright (c) 2010-2014 Jan Lehnardt (JavaScript)

Copyright (c) 2010-2015 The mustache.js community

License: MIT

https://github.com/janl/mustache.js/releases

Mustache

"lib/mustache"

PHP library for displaying mustache templates.

Version: 2.13.0

Copyright (c) 2010-2016 Justin Hileman

License: MIT

https://github.com/bobthecow/mustache.php/releases

mp3player

lib/mp3player

Flash movie to play streaming MP3s

Copyright © 2005 Andrew Walker

License: GNU GPL

(This library is not currently used in Moodle)

overlibmws

lib/overlib.js

Javascript library to enable DHTML popups, floating windows, events etc

Version: July 2004

Copyright © 2002-2004 Foteos Macrides

Copyright © 1998-2004 Erik Bosrup

License: Artistic Open Source License

http://www.macridesweb.com/oltest/

(This library is not currently used in Moodle)

ogv.js

/media/player/videojs/amd/src/local/ogv/ogv.js

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

Version: 1.8.4

Copyright Brion Vibber

License: MIT

https://github.com/brion/ogv.js/

PclZip

lib/pclzip

Class to create, manage and unpack zip files.

Version: 2.4 RC1

Copyright © 2004 Vincent Blavet (vincent AT phpconcept DOT net)

License: GNU GPL

http://www.phpconcept.net

(This library is not currently used in Moodle)

PEAR OLE Classes

lib/pear

Class to write Excel files

Version: 0.5

Copyright © 2004 Xavier Noguer

License: PHP (plus special exemption for Moodle to make it compatible)

http://pear.php.net/package/OLE

(This library is not currently used in Moodle)

PEAR Spreadsheet_Excel_Writer

lib/pear

Class to write Excel files

Version: 0.9.1

Copyright © 2004 Xavier Noguer and Mika Tuupola

License: LGPL

http://pear.php.net/package/Spreadsheet_Excel_Writer

(This library is not currently used in Moodle)

PEAR HTML_Quickform

lib/pear

Class to write forms

Version: 3.2.6

Copyright © 2004 Bertrand Mansion, Adam Daniel, Alexey Borzov

License: PHP (plus special exemption for Moodle to make it compatible)

http://pear.php.net/package/HTML_Quickform

PEAR HTML_Quickform_Renderer_Tableless

lib/pear

Class to render forms without tables

Version: 0.3.4

Copyright © 2005 Mark Wiesemann

License: PHP (plus special exemption for Moodle to make it compatible)

http://pear.php.net/package/HTML_Quickform_Renderer_Tableless

PEAR HTML_QuickForm_DHTMLRulesTableless

lib/pear

Class to render validation notices with dhtml

Version: 0.1.2

Copyright © 2005 Alexey Borzov, Adam Daniel, Bertrand Mansion, Justin Patrin, Mark Wiesemann

License: PHP (plus special exemption for Moodle to make it compatible)

http://pear.php.net/package/HTML_QuickForm_DHTMLRulesTableless

PEAR HTML_Common

lib/pear

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

Version: 0.3.4

Copyright © 2004 Adam Daniel, Bertrand Mansion, Klaus Guenther, Alexey Borzov

License: PHP (plus special exemption for Moodle to make it compatible)

http://pear.php.net/package/HTML_Common

PEAR XML_Parser

lib/pear

Class implementing one handy (sax-expat) XML parser

Version: 1.3.2

Copyright © 2004-2008 The PHP Group & Stephan Schmidt

License: New BSD License

http://pear.php.net/package/XML_Parser

(This library is not currently used in Moodle)

PHP-CSS-Parser

lib/php-css-parser

A Parser for CSS Files written in PHP.

Version: 8.3.1

Copyright (c) 2011 Raphael Schweikert, http://sabberworm.com/

License: MIT

https://github.com/sabberworm/PHP-CSS-Parser

PHPExcel

lib/phpexcel/PHPExcel.php

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

Version 1.8.1

Copyright © 2006 - 2015 PHPExcel License: LGPL

https://github.com/PHPOffice/PHPExcel

(This library is not currently used in Moodle)

PhpSpreadsheet

lib/phpspreadsheet

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

Version 1.21.0

License: LGPL

https://github.com/PHPOffice/PhpSpreadsheet

PHP mailer

lib/class.phpmailer.php

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

Version 6.2.0

Copyright © 2003 Brent R. Matzelle (bmatzelle AT yahoo DOT com) License: LGPL

http://phpmailer.sourceforge.net https://github.com/PHPMailer/PHPMailer/releases

PHP Markdown

lib/markdown.php

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

Version: 1.9.0 (with modifications)

* @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>

All rights reserved.

License: BSD

http://www.michelf.com/projects/php-markdown/

PHP-ML

lib/mlbackend/php/phpml

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

Version: 0.9.0

* @copyright 2016-2020 Arkadiusz Kondas <arkadiusz.kondas[at]gmail>

License: MIT

https://php-ml.readthedocs.io/

Popper.js

"admin/tool/usertours/amd/src/popper.js"

A kickass library used to created Poppers in web applications

Version: 1.12.6

© 2016 Federico Zivolo and contributors

License: MIT

https://github.com/FezVrasta/popper.js

Rangy

"/lib/editor/atto/yui/src/rangy/js/*.*"

A cross-browser JavaScript range and selection library.

Version: 1.3.0

Copyright (c) 2014 Tim Down

License: MIT

https://github.com/timdown/rangy

RTLCSS for PHP

"lib/rtlcss"

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

© 2016 Frédéric Massart

License: MIT

https://github.com/moodlehq/rtlcss-php

RequireJS

/lib/requirejs/

RequireJS is a JavaScript file and module loader.

Version 2.3.5

License: new BSD or MIT

http://requirejs.org/

scssphp

/lib/scssphp/

scssphp is a compiler for SCSS written in PHP.

Version: 1.10.0

Copyright (c) 2015 Leaf Corcoran

License: MIT

http://leafo.github.io/scssphp

SimplePie

"/lib/simplepie"

Simple Pie helps with blogs.

Version 1.5.6

License: BSD

https://github.com/simplepie/simplepie

Snoopy

lib/snoopy

A PHP net client

Version: 1.0

Copyright © 1999-2000 Monte Ohrt (monte AT ispi DOT net) License: GNU LGPL

http://snoopy.sourceforge.com

(This library is not currently used in Moodle)

SMTP class

lib/class.smtp.php

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

Version: 03/26/2001

Copyright © 2001 Chris Ryan (chris AT greatbridge DOT com)

(This library is not currently used in Moodle)

Spike PHPCoverage

lib/spikephpcoverage

PHP code coverage reporting tool

Version: 0.8.2 (with modifications)

Copyright © 2004 SpikeSource Inc

License: LGPL

http://developer.spikesource.com/projects/phpcoverage

(This library is not currently used in Moodle)

Spout

"lib/spout"

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

Version 3.3.0

License: Apache

https://github.com/box/spout/

TCPDF Class

lib/tcpdf

Class to generate PDF files

Version: 6.4.1

Copyright Olivier PLATHEY

License: LGPL-v3.0-only

http://www.setasign.com/products/fpdi/downloads

Twitter Bootstrap

/theme/boost/scss/bootstrap/

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

Version: 4.6.0

Copyright (c) 2011-2021 Twitter, Inc.

Copyright (c) 2011-2021 The Bootstrap Authors

Licence: MIT

https://getbootstrap.com/

Typo3 Character Set Class

lib/typo3

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

Version: 4.7.19

Copyright © 2003-2005 Kasper Skaarhoj

Licence: GNU GPL

http://typo3.org/

truncate.js

amd/src/truncate.js

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

Version: 0.0.1

Licence: MIT

https://github.com/pathable/truncate

Video.js

/media/player/videojs/amd/src/video-lazy.js

"/media/player/videojs/videojs/"

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

Version: 7.17.0

Copyright Brightcove, Inc

Licence: Apache

http://videojs.com/

Video.js - The Flash tech

/media/player/videojs/amd/src/videojs-flash-lazy.js"

The Flash tech for video.js

Version: 2.2.1

Copyright Brightcove, Inc

Licence: Apache

https://github.com/videojs/videojs-flash

Video.js - Custom Flash Player

/media/player/videojs/amd/src/videojs-flash-lazy.js"

Custom Flash Player for VideoJS

Version: 5.4.2

Copyright Brightcove, Inc

Licence: Apache

https://github.com/videojs/video-js-swf/releases

Video.js - The ogv.js tech

/media/player/videojs/amd/src/videojs-ogvjs-lazy.js

The ogv.js tech plugin for VideoJS

Version: 0.1.2

Copyright 2021 Huong Nguyen <huongnv13@gmail.com>

Licence: MIT

https://github.com/HuongNV13/videojs-ogvjs

WebRTC adapter

amd/src/adapter.js

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.

Version: 8.0.0

Copyright (c) 2014, The WebRTC project authors. All rights reserved. Copyright (c) 2018, The adapter.js project authors.

Licence: BSD 3 Clause

https://github.com/webrtc/adapter

XHProf

lib/xhprof

A Hierarchical Profiler for PHP

Version: 2.2.3

Copyright © 2009 Phacility

Licence: Apache

https://github.com/phacility/xhprof

Yahoo User Interface

lib/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.

CVS version: 3.17.2

Copyright (c) 2006, Yahoo! Inc.

Licence: BSD

http://developer.yahoo.com/yui/

ZipStream-PHP

/lib/zipstream

PHP ZIP Streaming Library

Version: 2.1.0

Copyright (C) 2007-2009 Paul Duncan <pabs@pablotron.org>

Copyright (C) 2014 Jonatan Männchen <jonatan@maennchen.ch>

Copyright (C) 2014 Jesse G. Donat <donatj@gmail.com>

Copyright (C) 2018 Nicolas CARPi <nicolas.carpi@curie.fr>

Licence: MIT

https://packagist.org/packages/maennchen/zipstream-php