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