MOSS/Foundational Technology/Projects We Use

< MOSS‎ | Foundational Technology
Revision as of 03:00, 29 October 2015 by Gryllida (talk | contribs) (→‎The list: LLVM yes)

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, as next steps will involve contacting each one to find out more about how we can best provide support.

This is a work in progress - please contribute to this list.

The free software definition

Software is open-source if its source is released to the public. Software is free (which is a more narrow term) if the licence the source is released under gives users the basic software freedoms, as stated in the free software definition. To quote it, a program is free software if the program's users have the four essential freedoms:

  • 0) The freedom to run the program as you wish, for any purpose (freedom 0).
  • 1) The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • 2) The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • 3) The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

To stress freedoms 0, 2, and 3, it is preferable to use the term "free software" or "libre software" over the term "open-source software".

When adding new software to the list, please link to their FSF directory entry, when you can. To add the FSF directory entry, please use one of these templates:

{{FSFDir|NameOfSoftware}} the entry exists
{{FSFDirNo|NameOfSoftware}} you're lazy to check whether it exists, or if it doesn't exist
{{FSFDirNonFree|URL}} the software is known to be non-free per the free software definition. Include the supporting URL (link to the non-free component or to a web page talking about it).

The list

Project FSF directory entry Description Contact within Mozilla
angular.js   AngularJS Used by A-Team for web apps (eg Treeherder) Member of Jonathan Griffin's team
Apache Server   Apache Used by A-Team for web apps Member of Jonathan Griffin's team
Ansible   Ansible Used by IT (netops) and A-Team to manage deployments jbarnell , GPS?
BabelJS   check JavaScript compiler, Used by Gaia, TaskCluster team Selena Deckelmann
Blessings   check Terminal formatting lib used by mozilla-central build process Erik Rose
Bootstrap   Bootstrap HTML/CSS/JS framework, used by many of Mozilla's sites. Webdev
bro   check The Bro Network Security Monitor Michal Purzynski
BuildBot   BuildBot The base system currently in use for release automation (due to be replaced by Task Cluster) Chris AtLee
Bugzilla (upstream)   Bugzilla The base Bugzilla on that we customize for Mozilla's use Glob
Celery   Celery Distributed task queue. Used by Treeherder and others. Member of Jonathan Griffin's team
CKEditor   check WYSIWYG editor on MDN
Clang/LLVM   LLVM C/C++ compiler and infrastructure Ehsan Akhgari
CodeMirror   check Used in DevTools, Thimble, and other online code tools David Humphrey/Simon Wex
ConEmu   check Console emulator for Windows. Used by devs running Windows. Ed Morley
Debian   non-free Used on many developer boxes Unknown (maybe Sylvestre Ledru) or glandium
Discourse   Discourse Community, Webmaker, Advocacy, et al Community Ops (Yousef Alam or Tanner Filip)
Django   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, Treeherder Andy McKay and Jannis Leidel are (or have been) on the Django Software Foundation board, Jannis is core team member
Django REST framework   Django-rest API framework. Used by various Mozilla sites including MDN, Firefox marketplace, mozilla.org, support.mozilla.com. Andy McKay and Jannis Leidel
Docker   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
elasticsearch   Elasticsearch Search engine for various web sites and analytics Erik Rose
emacs   emacs Programmable editor used by many developers
Etherpad   check Used for meeting notes, etc JP Schneider
flake8   Flake8 Wrapper around Python linters. Used by Treeherder and others. Member of Jonathan Griffin's team
Flask   check Python web framework Erik Rose
Font Awesome   Awesome Font Awesome Font and CSS toolkit, used by many of Mozilla's sites. Webdev
GCC   Gcc C/C++ compiler and infrastructure Unknown
Git   Git Version control system - https://git.mozilla.org Unknown
gunicorn   check Python WSGI HTTP Server. Used by Treeherder, Socorro, Pontoon. Webdev
HarfBuzz   HarfBuzz International text shaping engine used in Firefox/Servo Platform team
Hunspell   check Spellchecking engine Unknown
Hyphen   check Hyphenation library Unknown
Intern   check 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   Jemalloc Memory allocation library We can ask glandium
Jenkins CI   Jenkins Continuous integration system used by WebQA and EE Unknown
jQuery   jQuery JavaScript library, used by many of Mozilla's sites. Webdev
Kombu   Kombu Messaging library for Python. Used by Treeherder and others. Member of Jonathan Griffin's team
libjpeg-turbo   Libjpeg-turbo JPEG decoding library Jeff Muizelaar
libpng   Libpng PNG decoding library Jeff Muizelaar
libvpx (Google)   check Library for support of Google’s VP* family of codecs Tim Terriberry
Linux   non-free OS kernel used in Firefox OS Unknown
lodash   Lodash JavaScript utility library, used by many of Mozilla's sites. Webdev
Mailman   Mailman Mailing lists Unknown
MediaWiki   MediaWiki You are reading this on a wiki Sheeri Cabral
Mercurial   Mercurial Version control system and source code management GPS
Mohawk   check Python library for Hawk HTTP authorization. Used by Treeherder and others. Member of Jonathan Griffin's team
mozdef   check Security event monitoring and incident response Jeff Bryner
msys   check Used to build Firefox on Windows. Note: It's likely best we support the newer MSYS2 project instead: https://github.com/msys2 Unknown
MySQL   MySQL Open source relational DB used by many developers, including AMO, SUMO, Input, bugzilla, releng, adminstered by IT Sheeri Cabral
Nagios   Nagios IT management system. Used for notifications of system failures Sheeri Cabral, Ashish V.
netsniff-ng   Netsniff-ng Linux networking toolkit Michal Purzynski
nICEr   check Library for traversing firewalls Unknown
NixOS   check Reproducible Linux distribution. Used by some developers and for running benchmarks on Firefox OS for AreWeFastYet Nicolas B. Pierron
Node.js   Node.js JavaScript runtime for server side applications, command line utilities Nick Desaulniers
nrappkit   check Toolkit for building standalone applications Unknown
OpenH264 (Cisco)   check H.264 video library Unknown
OpenResty   OpenResty a fast web app server by extending nginx, used by cloudops Benson Wong (mostlygeek)
OpenSSH   OpenSSH Remote server management, secure transport for Git and Mercurial Unknown
OpenLDAP   check User management used by Infra :jabba?
inspircd   Inspircd Irc server used by mozilla Unknown
OpenSSL   OpenSSL Cryptograpahy and TLS Toolkit Nick Desaulniers
OWASP ZAP   check Web security testing tool used by security and QA teams Simon Bennetts (psiinon)
Owncloud   Owncloud Open platform to host your cloud under your control Some communities have been using it to host files under their control (ask Nukeador)
Parsimonious   check Parsing lib used by DXR and a few other sites (I think) Erik Rose
PDF.js   PDF.js Used as the PDF Viewer in Firefox and Firefox OS Brendan Dahl, Yury Delendik
pep8   check Python linter. Used by Treeherder and others. Member of Jonathan Griffin's team
Perl   Perl Used by Bugzilla Member of Jonathan Griffin's team
Phalcon PHP Framework   check Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption. Andres Gutierrez is one of the core developers of Phalcon and its inspiration.
pip   Python-pip Python package tool. Used by all Python projects. Erik Rose and Jannis Leidel, Jannis is core team member (PyPA)
Piwik   Piwik Analytic software that gives you the control and respects privacy Some communities have been using it to avoid GA analytics (Ask Nukeador)
Pocketsphinx   check Speech recognition toolkit embedded into Firefox OS André Natal
PostgreSQL   PostgreSQL Open source relational DB used by many developers, adminstered by IT Selena Deckelmann
Prism.js   check Syntax highlighting on code samples on MDN
Puppet   Puppet System administration tool Member of Amy Rich's team
pyflakes   check Python linter. Used by Treeherder and others. Member of Jonathan Griffin's team
pytest   Pytest Python testing tool. Used by Treeherder and others. Member of Jonathan Griffin's team
Python   Python Scripting language Python Software Foundation, Selena Deckelmann is a former board member
pyelasticsearch   check Python client for elasticsearch Erik Rose
RabbitMQ   check 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
Read the Docs   check Hosted automatically-built documentation, used by Cloud Services and a wide variety of mozilla Github projects Ben Bangert, Jannis Leidel, Gervase Markham
Requests   check "Python HTTP Requests for Humans". Used by many many Mozilla Python projects. Member of Jonathan Griffin's team
Review Board   check The base of MozReview, the new review tool being developed to replace Splinter Steven MacLeod, Mike Conley
Selenium   Selenium Browser test driver stephend/AutomatedTester or jrgm/vladikoff
SlimerJS   check Scriptable browser, based on Gecko, used for functional tests in some few Mozilla projects ( PluotSorbet, some FxOS apps ? and others ?) Unknown
SQLite   SQLite File-based database khuey
Stylus   Stylus CSS Pre-processor on several sites webdev
Subversion   Subversion https://svn.mozilla.org (Planning to decommission in near future) Unknown
suricata   check IDS / IPS / NSM engine Michal Purzynski
Travis   Travis Continuous integration system used by several teams (eg Treeherder) Jonathan Griffin's team
Vagrant   check Build and distribute dev envs, used by Treeherder and others Member of Jonathan Griffin's team
Valgrind   Valgrind Memory error detection and profiling of C and C++ code jseward, njn
vim   Vim editor used by many developers
web-platform-tests   check Testcases and tooling for cross-browser testing of web-platform APIs jgraham
WebRTC.org   check Components to support real-time communication in browsers and mobile applications Randell Jesup
WordPress   WordPress Powers our blogs, blog.mozilla.org Craig Cook
Xiph.Org   Xiph Media codecs ship in Firefox, encoding tools Ralph Giles