MOSS/Foundational Technology/Projects We Use

From MozillaWiki
Jump to: navigation, search

This is an incomplete list of the free software and open source projects Mozilla relies upon. As a starting point, it lists each project along with a short statement of how we depend on it. Where practical it would also be helpful to identify a Mozillian most closely associated with our use of each project.

Note that presence on this list isn't the same as, nor is it a prerequisite for, applying for the MOSS "Foundational Technology" track - projects have to make an application using the process on the Foundational Technology page.

This is a work in progress - please contribute to this list. Note that it's in alphabetical order.

Project Description and Use Contact within Mozilla
<thead> </thead> <tbody> </tbody>
Adjust Mobile app analytics; used to track installs on Firefox for Android & other products Android & iOS teams
Airflow Airflow is a platform to programmatically author, schedule and monitor workflows. Roberto Agostino Vitillo
-
American Fuzzy Lop A security-oriented fuzzer. Unknown
-
ANGLE A conformant OpenGL ES implementation for Windows, Mac and Linux Platform Graphics Team
-
angular.js Used by A-Team for web apps (eg Treeherder) Member of Jonathan Griffin's team
-
Apache Server Used by A-Team for web apps Member of Jonathan Griffin's team
-
Ansible Used by IT (netops) and A-Team to manage deployments jbarnell , Webops, GPS?
-
AreWeFastYet Compare JS performance across JS engines and platforms Hannes Verschore
-
Argon Used as the foundation for mobile AR web browser research by Emerging Tech Blair MacIntyre
-
Atom Used (either vanilla or e.g. as [1] ) by various developers
-
BabelJS JavaScript compiler, Used by Gaia, TaskCluster team Selena Deckelmann
-
BIND DNS Server Brian Hourigan
-
Bleach HTML sanitizing library that escapes or strips markup and attributes used by MDN and a bunch of Mozilla sites Will Kahn-Greene
-
Blessings Terminal formatting lib used by mozilla-central build process Erik Rose
-
Blink Web Audio Web audio implementation from Blink
-
Bootstrap HTML/CSS/JS framework, used by many of Mozilla's sites. Webdev
-
bro The Bro Network Security Monitor Michal Purzynski
-
brotli Compression library
-
Browserify Build JS dependencies for the browser mozilla-services (kinto.js)
-
BuildBot The base system currently in use for release Dustin J. Mitchell
-
Bugzilla (upstream) The base Bugzilla on that we customize for Mozilla's use Mark Côté
-
Cairo Vector graphics-based, device independent API; includes pixman Jeff Muizelaar
-
ccache A compiler cache; used by Servo and Gecko builds Ted Mielczarek
-
Celery Distributed task queue. Used by Treeherder and others. Member of Jonathan Griffin's team
-
certlint Certificate checking tool, used by the Root Store team Kathleen Wilson
-
cffi C Foreign Function Interface for Python. Cloud Services Team
-
CKEditor WYSIWYG editor on MDN
-
CLDR Common Locale Data Repository - Unicode data
-
CMake cross-platform family of tools designed to build, test and package software, lua_sandbox, lua_sandbox_extensions, hindsight, hindsight_admin Mike Trinkala
-
Chai JavaScript test and assertion library Cloud Services, Tarek Ziade's team (kinto.js), Firefox Hello team
-
Chromium Embedded Framework A simple framework for embedding browsers in other applications Jack Moffitt
-
Clang/LLVM C/C++ compiler and infrastructure Ehsan Akhgari & Sylvestre Ledru
-
CodeMirror Used in DevTools, Thimble, and other online code tools David Humphrey/Simon Wex
-
Cookiecutter Templating system used to clone our Sugardough Django template Giorgos Logiotatidis
-
Compiler Explorer - C++ Online C++ compiler with assembly output. Used by devs to test&optimize code snippets. Unknown
-
Compiler Explorer - Rust Online Rust compiler with assembly output. Used by devs to test&optimize code snippets. Unknown
-
ConEmu Console emulator for Windows. Used by devs running Windows. Ed Morley
-
ConfigArgParse A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables Cloud Services Team
-
crt.sh Global certificate corpus search website Gervase Markham
-
cubeb Cross-platform audio library
-
curl internet transfer tool and library, used by crashreporter and FirefoxOS Daniel Stenberg
-
Debian Used on many developer boxes Sylvestre Ledru or glandium
-
Deis Open Source Heroku-like PaaS platform. Hosts www.mozilla.org, masterfirefoxos.mozilla.org, etc. Member of Benjamin Sternthal's team
-
Disconnect.me Open, transparent, neutral Tracking Protection blocklist used in Firefox Private Browsing Windows Marshall Erwin, Javaun Moradi, Francois Marier
-
Discourse Community, Webmaker, Advocacy, et al Community Ops (Yousef Alam or Tanner Filip)
-
Django Backend web framework used on many of our websites, including addons.mozilla.org, marketplace.mozilla.org, support.mozilla.org, Input, Snippets, MDN (Mozilla Developer Network), mozilla.org, nucleus, Treeherder Andy McKay and Jannis Leidel are (or have been) on the Django Software Foundation board, Jannis is core team member
-
Django REST framework API framework. Used by various Mozilla sites including MDN, Firefox marketplace, mozilla.org, support.mozilla.com. Andy McKay and Jannis Leidel
-
Docker Used by release engineering for Linux build and test containers and by ateam for managing test and production services. Used by many Mozilla websites as well such as addons.mozilla.org, marketplace.mozilla.org. (Plus docker-compose and docker machine) Member of Selena Deckelmann's team
-
double-conversion Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles
-
Doxygen tool for generating documentation from annotated sources, lua_sandbox Mike Trinkala
-
Drupal Open Source CMS. Used by Dev Rel team. Potch
-
ecdsa ECDSA cryptographic signature library (pure python) Cloud Services Team
-
Eclipse Integrated Development Environment used by many developers
-
editline Line editing library (from libedit)
-
elasticsearch Search engine for various web sites and analytics Erik Rose (dxr), Kyle Lahnakoski (ActiveData), Jason Thomas
-
Elm A delightful language for reliable webapps. Rok Garbas (garbas), Release Engineering Team
-
emacs Programmable editor used by many developers
-
EmojiOne Upstream Emoji artwork used in the Firefox built-in Emoji font Tim Chien (See emojione-colr)
-
eslint Pluggable linting utiltity used by Firefox Hello, DevTools and Firefox Android Mark Banner, Nicolas Perriault
-
Etherpad Used for meeting notes, etc JP Schneider
-
fdlibm ???
-
ffmpeg Used for media decoding. Jean-Yves Avenard
-
flake8 Wrapper around Python linters. Used by Treeherder and others. Member of Jonathan Griffin's team
-
Flask Python web framework Erik Rose
-
Flow A static type checker for JavaScript Greg Tatum, Jason Laster, Nicolas Perriault
-
Font Awesome Font and CSS toolkit, used by many of Mozilla's sites. Webdev
-
FontForge Built-in Emoji font compilation Tim Chien (See emojione-colr)
-
FontTools Built-in Emoji font compilation Tim Chien (See emojione-colr)
-
Foundation Framework Responsive front-end framework, used by some Mozilla sites and add-ons Luke Crouch
-
FreeType Small, efficient, highly customizable, and portable library for producing high-quality output (glyph images) of most vector and bitmap font formats. Platform team
-
GCC C/C++ compiler and infrastructure Nathan Froyd
-
GDB The GNU Debugger, the sole debugger for Linux Jim Blandy
-
Git Version control system - https://git.mozilla.org Unknown
-
Glitz OpenGL image compositing library
-
Gradle Build automation system; used to build Firefox for Android Android team
-
Graphite Graphite is a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world. Platform team
-
gunicorn Python WSGI HTTP Server. Used by Treeherder, Socorro, Pontoon. Webdev
-
Hive The Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Roberto Agostino Vitillo
-
HarfBuzz International text shaping engine used in Firefox/Servo Platform team
-
HBase HBase is an open-source, distributed, versioned, column-oriented store modeled after Bigtable. Roberto Agostino Vitillo
-
brew / Homebrew Mac OS X packaging system, used to install dev tools Sam Penrose
-
Homu A bot that integrates with your favorite continuous integration service; used by Rust and Servo Jack Moffitt
-
Hunspell Spellchecking engine Ehsan Akhgari
-
Hyphen Hyphenation library Jonathan Kew
-
HTTPie HTTP command-line client Cloud Services (among many others), Tarek Ziade's team
-
hyper Hyper is a set of related projects that provide HTTP/2 functionality to Python projects. Cloud Services Team
-
Hyper A fast, modern HTTP implementation written in and for Rust; used by Servo Sean McArthur
-
Icecream (icecc) Distributed build system, used to speed up local Firefox build times in some Mozilla offices Daniel Holbert, or contributors on the Icecream MDN Page
-
ICU (And ICU4J) International Components for Unicode - internationalization library
-
ideone.com Online compiler & runner for a number of languages. Used by devs to test&benchmark code snippets. Unknown
-
inspircd Irc server used by mozilla :ashish
-
Intern Intern is a complete test system for JavaScript designed to help you write and run consistent, high-quality test cases for your JavaScript libraries and applications. jrgm/vladikoff
-
jemalloc Memory allocation library We can ask glandium
-
Jenkins CI Continuous integration system used by WebQA and EE Unknown
-
jQuery JavaScript library, used by many of Mozilla's sites. Webdev
-
jsdom DOM implementation in full JS Test suites in Cloud Services, Tarek Ziade's team (kinto.js)
-
jsoncpp A C++ library for interacting with JSON, used by the crashreporter client and Socorro. Gabriele Svelto
-
jsPsych A JavaScript library for creating and running behavioral experiments in a web browser. Josh Gaunt
-
Jupyter Notebook The Jupyter notebook is a web-based notebook environment for interactive computing. Roberto Agostino Vitillo
-
Kafka Distributed transaction log, used for hg.mozilla.org replication. gps
-
kissfft FFT library, presumably
-
Knowledge Repo The Knowledge Repository project is focused on facilitating the sharing of knowledge between data scientists and other technical roles using data formats and tools that make sense in these professions. Roberto Agostino Vitillo
-
Kombu Messaging library for Python. Used by Treeherder and others. Member of Jonathan Griffin's team
-
LaTeX A document preparation system. Alan Jeffrey (ajeffrey)
-
Leak Canary Android memory leak detection framework Android team
-
libav Audio and video libraries
-
libbz2 Compression library for .bz2 format Julian Seward
-
libevent Provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Platform team
-
libffi A Portable Foreign Function Interface Library. Platform team
-
libjpeg-turbo JPEG decoding library Jeff Muizelaar
-
libnestegg WebM demuxer
-
libpng PNG decoding library Jeff Muizelaar
-
libvpx (Google) Library for support of Google’s VP* family of codecs; includes libmkv Tim Terriberry
-
libyuv Colourspace conversion
-
LLVM Compiler foundation for ASAN, static analysis tools, Rust Unknown
-
lodash JavaScript utility library, used by many of Mozilla's sites. Webdev & Firefox Hello
-
Lua Lua is a powerful, efficient, lightweight, embeddable scripting language, lua_sandbox_extensions Mike Trinkala
-
MacVim Mac wrapper around Vim -
-
Mailman Mailing lists Unknown
-
marshmallow A lightweight library for converting complex datatypes to and from native Python datatypes. Cloud Services Team
-
MediaWiki You are reading this on a wiki Shyam Mani
-
Mercurial Version control system and source code management GPS
-
Mesa 3D graphics library used by Servo & Gecko Unknown
-
Meteor Build Apps with Javascript - Used in MozDef's Web UI MozDef Team in EIS
-
Mocha JavaScript test runner Cloud Services, Tarek Ziade's team (kinto.js); Firefox Hello team
-
Mohawk Python library for Hawk HTTP authorization. Used by Treeherder and others. Member of Jonathan Griffin's team
-
mozdef Security event monitoring and incident response Jeff Bryner
-
msys Used to build Firefox on Windows. Note: It's likely best we support the newer MSYS2 project instead: https://github.com/msys2 Unknown
-
MySQL Open source relational DB used by many developers, including AMO, SUMO, Input, bugzilla, releng, adminstered by IT Matt Pressman
-
Nagios IT management system. Used for notifications of system failures Linda Ypulong
-
netsniff-ng Linux networking toolkit Michal Purzynski
-
neovim (nvim) Next-generation vim code editor Ralph Giles
-
Ninja A small build system with a focus on speed - used by Servo dependencies. Jack Moffitt
-
Nix Reproducible build tool. Rok Garbas (garbas), Release Engineering Team
-
NixOS Reproducible Linux distribution. Used by some developers Nicolas B. Pierron
-
nginx Web Server. Used by almost everything CloudOps runs. Travis Blow
-
Node.js JavaScript runtime for server side applications, command line utilities Nick Desaulniers
-
nrappkit Toolkit for building standalone applications Unknown
-
NSIS Windows installer framework Matt Howell
-
NSS Network Security Services jcjones?
-
Octave Numerical analysis/mathematics software. Jean-Marc Valin
-
OpenH264 (Cisco) H.264 video library Unknown
-
OpenLDAP User management used by Infra :jabba?
-
OpenResty a fast web app server by extending nginx, used by cloudops Benson Wong (mostlygeek)
-
OpenSSH Remote server management, secure transport for Git and Mercurial Unknown
-
OpenSSL Cryptograpahy and TLS Toolkit Nick Desaulniers
-
OpenStreetMap Online/offline maps, used by the location service and on mozilla.org Unknown
-
Openvpn VPN used by Infra :jabba?
-
OpenVR VR hardware support library
-
OTS OpenType sanitizer used by Firefox to protect against security bugs in underlying platforms related to malicious fonts Jonathan Kew
-
OWASP ZAP Web security testing tool used by security and QA teams Simon Bennetts (psiinon)
-
Owncloud Open platform to host your cloud under your control Some communities have been using it to host files under their control (ask Nukeador)
-
Pandoc universal document converter, lua_sandbox_extensions Mike Trinkala
-
Parquet-MR Parquet-MR contains the java implementation of the Parquet format Roberto Agostino Vitillo
-
parquet-cpp C++ library to read and write the Apache Parquet columnar data format, lua_sandbox_extensions Mike Trinkala
-
Parsimonious Parsing lib used by DXR and a few other sites (I think) Erik Rose
-
PDF.js Used as the PDF Viewer in Firefox and Firefox OS Brendan Dahl, Yury Delendik
-
PDFium PDF viewing and printing in Firefox Peter Van Der Beken, Evelyn Hung
-
pep8 Python linter. Used by Treeherder and others. Member of Jonathan Griffin's team
-
Perl Used by Bugzilla Member of Jonathan Griffin's team
-
Picasso Android image fetching framework Android team
-
pillow Python Imaging library Member of Webcompat team
-
pip Python package tool. Used by all Python projects. Erik Rose and Jannis Leidel, Jannis is core team member (PyPA)
-
Piwik Analytic software that gives you the control and respects privacy Some communities have been using it to avoid GA analytics (Ask Nukeador)
-
Pocketsphinx Speech recognition toolkit embedded into Firefox OS André Natal
-
PostgreSQL Open source relational DB used by many developers, adminstered by IT Selena Deckelmann
-
Presto Distributed SQL query engine for big data. Roberto Agostino Vitillo
-
Prism.js Syntax highlighting on code samples on MDN
-
ProGuard Java bytecode optimizer; optimizes Firefox for Android Android team
-
Puppet System administration tool Member of Amy Rich's team, Corey Shield's team
-
PyCharm Python IDE Jonathan Griffin
-
pyflakes Python linter. Used by Treeherder and others. Member of Jonathan Griffin's team
-
PyPy Python language runtime. Used by Web Push service. Cloud Services, esp. Ben Bangert
-
Pyramid Python Web framework Cloud Services Team
-
pytest Python testing tool. Used by Treeherder and others. Dave Hunt
-
Python Scripting language Python Software Foundation, Selena Deckelmann is a former board member
-
python cryptography cryptography is a package which provides cryptographic recipes and primitives to Python developers. Cloud Services Team
-
pyelasticsearch Python client for elasticsearch Erik Rose
-
python-jose a JavaScript Object Signing and Encryption (JOSE) implementation in python Cloud Services Team
-
qcms Mozilla fork of lcms
-
RabbitMQ Distributed Queue, used by Socorro, Pulse (all our publicly available build/test/commit information flows through this), Treeherder, addons.mozilla.org (with Celery), marketplace.mozilla.org (with Celery) Selena Deckelmann, Jason Thomas
-
RapidJSON A fast JSON parser/generator for C++ with both SAX/DOM style API, lua_sandbox_extensions Mike Trinkala
-
Raven Raven is a python client for Sentry Cloud services Team
-
ReactJS Javascript library for building user interfaces. Used by Firefox Hello & DevTools Mark Banner, Nicolas Perriault
-
Read the Docs Hosted automatically-built documentation, used by Cloud Services and a wide variety of mozilla Github projects Ben Bangert, Jannis Leidel, Gervase Markham
-
redash Data analysis and dashboarding tool Rob Miller
-
Redis Really fast data structure store, cache and message broker Cloud Services Tarek Ziade's team, Loop Server (Hello) team
-
Redux Redux is a predictable state container for JavaScript apps. Jason Laster, Nicolas Perriault
-
Redux-saga An alternative side effect model for Redux apps. Nicolas Perriault
-
Requests "Python HTTP Requests for Humans". Used by many many Mozilla Python projects. Member of Jonathan Griffin's team
-
Review Board The base of MozReview, the new review tool being developed to replace Splinter Steven MacLeod, Mike Conley
-
Rietveld Code Review, hosted on Google App Engine, used by Daala team. Ralph Giles
-
Ring Safe, fast, small crypto using Rust. Diane Hosfelt
-
rlz Library for grouping promotion event signals and anonymous user cohorts
-
Salt Python-based configuration management software. Jack Moffitt
-
Sass CSS Preprocessor. Most big team web projects use Sass these days.
-
SCOWL en-US word list used for spell checking. ehsan
-
sctp SCTP stack
-
Selenium Browser test driver David Burns, Dave Hunt
-
Sinon JavaScript mock library Cloud Services, Tarek Ziade's team (kinto.js); Firefox Hello team
-
Skia A complete 2D graphic library for drawing Text, Geometries, and Images Platform Graphics Team
-
SlimerJS Scriptable browser, based on Gecko, used for functional tests in some few Mozilla projects ( PluotSorbet, some FxOS apps ? and others ?) Myk Melez
-
Spark Spark is a fast and general cluster computing system for Big Data. Roberto Agostino Vitillo
-
Sphinx Documentation builder used for Fathom, DXR, and probably other projects Erik Rose
-
SQLAlchemy Database Toolkit and ORM for Python bhearsum
-
SQLite File-based database asuth
-
Squid Caching proxy Brian Hourigan
-
SRTP SRTP protocol library
-
Stanford CoreNLP Natural language analysis tools used in FOSS Heartbeat Don Marti
-
Stylus CSS Pre-processor on several sites webdev
-
Subversion https://svn.mozilla.org (Planning to decommission in near future) Unknown
-
suricata IDS / IPS / NSM engine Michal Purzynski
-
TernJS Code analysis engine for JS
-
three.js 3D JS library; used by A-Frame Lars Bergstrom
-
Tox Test automation Dave Hunt
-
Travis Continuous integration system used by several teams (eg Treeherder) Jonathan Griffin's team and Lars Bergstrom
-
twemoji Upstream Emoji artwork used in the Firefox built-in Emoji font (minor source) Tim Chien (See emojione-colr)
-
The Unicode Consortium Their work underpins most of what we do Richard Soderberg
-
UWSGI Full hosting stack used in MozDef MozDef Team in EIS
-
Vagrant Build and distribute dev envs, used by Treeherder and others Member of Jonathan Griffin's team
-
Valgrind Memory error detection and profiling of C and C++ code jseward, njn
-
VideoLAN Free software for multimedia Timothy B. Terriberry
-
vscode Code editor unknown
-
vim editor used by many developers
-
waffle.io github project management used by various teams
-
web-platform-tests Testcases and tooling for cross-browser testing of web-platform APIs jgraham
-
WebPack A bundler for javascript and friends Nicolas Perriault
-
WebRTC.org Components to support real-time communication in browsers and mobile applications Randell Jesup
-
woff2 Reference library for WOFF font format
-
WordPress Powers our blogs, blog.mozilla.org Craig Cook
-
Wt C++ library for developing web applications, hindsight_admin Mike Trinkala
-
x509lint Certificate checking tool, used by the Root Store team Kathleen Wilson
-
Xiph.Org Media codecs ship in Firefox, encoding tools; includes libogg Ralph Giles
-
xxHash Extremely fast non-cryptographic hash algorithm, lua_sandbox_extensions Mike Trinkala
-
XZ Embedded Decompressor for the XZ format
-
yasm Assembler used by the build system. unknown
-,
YouCompleteMe Code completion engine for vim editors Ehsan Akhgari
-
zlib Streaming compression and decompression for HTTP, PNG, etc.
-
Zappa Serverless Framework Framework for porting Flask, Djangon, other python apps to aws Lambda. Used in Risk Heatmap and Second Opinion Andrew Krug
-
ZooKeeper Distributed synchronization, use by hg.mozilla.org replication gps
}