Difference between revisions of "MOSS/Foundational Technology/Projects We Use"
From MozillaWiki
(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 |