MOSS/Foundational Technology/Projects We Use
From MozillaWiki
< MOSS | Foundational Technology(Redirected from MOSS/Projects in use by Mozilla)
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 |