Difference between revisions of "MOSS/Foundational Technology/Projects We Use"

From MozillaWiki
Jump to: navigation, search
(Add project used in emojione-colr)
(Add icecream)
Line 134: Line 134:
 
|-
 
|-
 
| [https://python-hyper.org/en/latest/ hyper] || Hyper is a set of related projects that provide HTTP/2 functionality to Python projects. || Cloud Services Team
 
| [https://python-hyper.org/en/latest/ hyper] || Hyper is a set of related projects that provide HTTP/2 functionality to Python projects. || Cloud Services Team
 +
|-
 +
| [https://github.com/icecc/icecream Icecream (icecc)] || Distributed build system, used to speed up Firefox builds in some Mozilla offices || Daniel Holbert, or contributors on the [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Using_Icecream Icecream MDN Page]
 
|-
 
|-
 
| [http://www.inspircd.org/ inspircd]                || Irc server used by mozilla || :ashish
 
| [http://www.inspircd.org/ inspircd]                || Irc server used by mozilla || :ashish

Revision as of 06:57, 10 February 2017

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.

Project Description Contact within Mozilla
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
Bootstrap HTML/CSS/JS framework, used by many of Mozilla's sites. Webdev
brew / Homebrew Mac OS X packaging system, used to install dev tools Sam Penrose
bro The Bro Network Security Monitor Michal Purzynski
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é
Celery Distributed task queue. Used by Treeherder and others. Member of Jonathan Griffin's team
cffi C Foreign Function Interface for Python. Cloud Services Team
CKEditor WYSIWYG editor on MDN
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
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
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
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
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
elasticsearch Search engine for various web sites and analytics Erik Rose (dxr), Kyle Lahnakoski (ActiveData), Jason Thomas
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
Etherpad Used for meeting notes, etc JP Schneider
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
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
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
HarfBuzz International text shaping engine used in Firefox/Servo Platform team
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
Icecream (icecc) Distributed build system, used to speed up Firefox builds in some Mozilla offices Daniel Holbert, or contributors on the Icecream MDN Page
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
Kafka Distributed transaction log, used for hg.mozilla.org replication. gps
Kombu Messaging library for Python. Used by Treeherder and others. Member of Jonathan Griffin's team
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
libpng PNG decoding library Jeff Muizelaar
libvpx (Google) Library for support of Google’s VP* family of codecs Tim Terriberry
Linux OS kernel used in Firefox OS Unknown
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
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
nICEr Library for traversing firewalls Unknown
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?
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?
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-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
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
Prism.js Syntax highlighting on code samples on MDN
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
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
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
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
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
Sass CSS Preprocessor. Most big team web projects use Sass these days.
SCOWL en-US word list used for spell checking. ehsan
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
SQLAlchemy] Database Toolkit and ORM for Python bhearsum
SQLite File-based database asuth
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
Squid Caching proxy Brian Hourigan
Tox Test automation Dave Hunt
Travis Continuous integration system used by several teams (eg Treeherder) Jonathan Griffin's team
twemoji Upstream Emoji artwork used in the Firefox built-in Emoji font (minor source) Tim Chien (See emojione-colr)
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
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
WebRTC.org Components to support real-time communication in browsers and mobile applications Randell Jesup
WordPress Powers our blogs, blog.mozilla.org Craig Cook
Wt C++ library for developing web applications, hindsight_admin Mike Trinkala
Xiph.Org Media codecs ship in Firefox, encoding tools 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.
ZooKeeper Distributed synchronization, use by hg.mozilla.org replication gps