Jump to content

Upstream projects: Difference between revisions

From mediawiki.org
Content deleted Content added
Remove outdated links
 
(45 intermediate revisions by 19 users not shown)
Line 1: Line 1:
MediaWiki developers and users<ref>For instance, whether volunteers or for work: [[Developers/Maintainers|maintainers]] and [https://www.openhub.net/orgs/wikimedia contributors] of MediaWiki core and extensions and other developers; [[m:Wikimedia projects|Wikimedia projects]] editors and sysadmins; sysadmins of [[wikiapiary:Websites|MediaWiki wikis]].</ref> rely on several [https://blog.verbum.org/2012/04/13/definition-of-upstream/ upstream] projects for their architecture or processes. At the same time, they develop software projects used by others, which are downstream to them. These links define our location in the free software map, our neighbor communities, and the flows of feedback, patches, and contributors.
MediaWiki developers and users<ref>For instance, whether volunteers or for work: [[Developers/Maintainers|maintainers]] and [https://www.openhub.net/orgs/wikimedia contributors] of MediaWiki core and extensions and other developers; [[m:Wikimedia projects|Wikimedia projects]] editors and sysadmins; sysadmins of [[wikiapiary:Websites|MediaWiki wikis]].</ref> rely on several upstream and/or 3rd party projects for their architecture or processes. At the same time, they develop software projects used by others, which are downstream to them. These links define our location in the free software map, our neighbor communities, and the flows of feedback, patches, and contributors.


Let's identify our upstream projects, our neighbor communities, and the contributors that connect us with them.
Let's identify our upstream projects, our neighbor communities, and the contributors that connect us with them.
Line 14: Line 14:


== Invented here ==
== Invented here ==
See [[Developers/Maintainers|Maintainers]] for all components, libraries, and extensions that we maintain and deploy with or around MediaWiki.
{{Rellink|See also: [https://doc.wikimedia.org/ Wikimedia Open Source]}}
Projects we maintain that we want others to use and contribute to.


For a larger list of software projects that we publish see [https://doc.wikimedia.org/ Wikimedia Open Source].
{| class="wikitable sortable" align="top"
|+Wikimedia-deployed services, extensions and libraries
! Name !! Repository !! Issue tracker !! Main contacts
|-
| [[MediaWiki]]
| {{git file |project=mediawiki/core |action=summary |text=Diffusion}}
| [[phab:|Phabricator]]
| [[MediaWiki Platform team]], [[User:Tim Starling (WMF)|Tim Starling]], [[User:Brion Vibber (WMF)|Brion Vibber]]
|-
| [[OOjs]]
|[[git:oojs/core|Gerrit]]
|[[phab:tag/oojs/|Phabricator]]
| [[User:Timo Tijhof (WMF)|Timo Tijhof]], [[User:Roan Kattouw (WMF)|Roan Kattouw]]
|-
| [[OOUI]]
|[[git:oojs/ui|Gerrit]]
|[[phab:tag/ooui/|Phabricator]]
| [[User:Jdforrester (WMF)|James Forrester]], [[User:Bartosz Dziewoński (WMF)|Bartosz Dziewoński]]
|-
|[[CSSJanus]]
|[https://github.com/cssjanus/php-cssjanus GitHub]
|[https://github.com/cssjanus/cssjanus/issues GitHub]
|[[Wikimedia Performance Team|Performance Team]], [[User:Timo Tijhof (WMF)|Timo Tijhof]], [[User:Roan Kattouw (WMF)|Roan Kattouw]]
|-
|[[CLDRPluralRuleParser]]
|[[git:CLDRPluralRuleParser/|Gerrit]]
|[[phab:tag/mediawiki-internationalization/|Phabricator]]
|[[User:Nikerabbit|Niklas Laxström]]
|-
|[[RemexHtml]]
|[[git:mediawiki/libs/RemexHtml/|Gerrit]]
|[[phab:tag/remexhtml/|Phabricator]]
|[[MediaWiki Platform team]], [[User:Tim Starling (WMF)|Tim Starling]]
|-
| [[CDB|wikimedia/cdb]]
|[[git:cdb/|Gerrit]]
| [[phab:tag/cdb/|Phabricator]]
| [[Wikimedia Performance Team|Performance Team]], [[User:Tim Starling|Tim Starling]], [[User:Krinkle|Timo Tijhof]]
|-
| [[at-ease|wikimedia/at-ease]]
|[[git:at-ease/|Gerrit]]
| [[phab:tag/at-ease/|Phabricator]]
| [[User:Tim Starling|Tim Starling]], [[User:Legoktm|Legoktm]]
|-
| [[utfnormal|wikimedia/utfnormal]]
|[[git:utfnormal|Gerrit]]
| [[phab:tag/utfnormal/|Phabricator]]
| [[User:Brion VIBBER|Brion VIBBER]]
|-
| [[IPSet|wikimedia/ip-set]]
|[[git:IPSet|Gerrit]]
| [[phab:tag/ipset/|Phabricator]]
| [[User:BBlack (WMF)|Brandon Black]]
|-
|[[RunningStat|wikimedia/running-stat]]
|[[git:RunningStat|Gerrit]]
|[[phab:tag/runningstat/|Phabricator]]
|[[Wikimedia Performance Team|Performance Team]]
|-
|[[Base convert|wikimedia/base-convert]]
|[[git:base-convert|Gerrit]]
|[[phab:project/view/3372/|Phabricator]]
|
|-
|[[ScopedCallback]]
|[[git:mediawiki/libs/ScopedCallback/|Gerrit]]
|[[phab:tag/scopedcallback/|Phabricator]]
|[[Wikimedia Performance Team|Performance Team]], [[User:Aaron Schulz|Aaron Schulz]]
|-
|[[WaitConditionLoop]]
|[[git:mediawiki/libs/WaitConditionLoop/|Gerrit]]
|[[phab:tag/waitconditionloop/|Phabricator]]
|[[Wikimedia Performance Team|Performance Team]], [[User:Aaron Schulz|Aaron Schulz]]
|-
|[[WrappedString]]
|[[git:WrappedString/|Gerrit]]
|[[phab:tag/wrappedstring/|Phrabricator]]
|[[Wikimedia Performance Team|Performance Team]], [[User:Timo Tijhof (WMF)|Timo Tijhof]]
|-
|composer-merge-plugin
|[https://github.com/wikimedia/composer-merge-plugin GitHub]
|[https://github.com/wikimedia/composer-merge-plugin/issues GitHub]
|[[User:BDavis (WMF)|Bryan Davis]]
|-
|[[testing-access-wrapper]]
|[[git:testing-access-wrapper/|Gerrit]]
|[[phab:project/view/135/|Phabricator]]
|
|-
|[[php-session-serializer]]
|[[git:php-session-serializer/|Gerrit]]
|[[phab:tag/php-session-serializer/|Phabricator]]
|[[User:Anomie|Brad Jorsch]]
|-
|[[purtle]]
|[[git:purtle|Gerrit]]
|
|[[WMDE Engineering|WMDE]], [[User:Smalyshev (WMF)|Stas Malyshev]]
|-
! Name !! Repository !! Issue tracker !! Main contacts
|-
| [[Parsoid]]
|[[git:mediawiki/services/parsoid/|Gerrit]]
| [[phab:project/query/active/|Phabricator]] (under "Parsoid")
|[[User:SSastry (WMF)|Subbu Sastry]],
[[User:CAnanian (WMF)|C. Scott Ananian]]
|-
| [[VisualEditor]]
| [[git:VisualEditor/VisualEditor/|Gerrit]]
| [[phab:project/profile/483/|Phabricator]]
| [[User:Jdforrester (WMF)|James Forrester]], [[User:ESanders (WMF)|Ed Sanders]]
|-
|[[UnicodeJS]]
|[[git:unicodejs|Gerrit]]
|[[phab:tag/utilities-unicodejs/|Phabricator]]
|[[User:DChan (WMF)|David Chan]], [[User:Jdforrester (WMF)|James Forrester]], [[User:ESanders (WMF)|Ed Sanders]]
|-
|[[Css-sanitizer|wikimedia/css-sanitizer]]
|[[git:css-sanitizer/|Gerrit]]
|[[phab:tag/css-sanitizer/|Phabricator]]
|
|-
|[[Equivset|wikimedia/equivset]]
|[[git:mediawiki/libs/Equivset/|Gerrit]]
|[[phab:tag/equivset/|Phabricator]]
|[[User:Brion VIBBER|Brion VIBBER]]
|-
| rowspan="4" | [[Milkshake]]
|[https://github.com/wikimedia/jquery.uls GitHub]
|[https://github.com/wikimedia/jquery.uls/issues GitHub]
|[[User:Santhosh.thottingal|Santhosh Thottingal]]
|-
|[https://github.com/wikimedia/jquery.ime GitHub]
|[https://github.com/wikimedia/jquery.ime/issues GitHub]
||[[User:Santhosh.thottingal|Santhosh Thottingal]]
|-
|[https://github.com/wikimedia/jquery.i18n GitHub]
|[https://github.com/wikimedia/jquery.i18n/issues GitHub]
||[[User:Santhosh.thottingal|Santhosh Thottingal]]
|-
|[https://github.com/wikimedia/jquery.webfonts GitHub]
|[https://github.com/wikimedia/jquery.webfonts/issues GitHub]
||[[User:Santhosh.thottingal|Santhosh Thottingal]]
|-
| rowspan="2" | Offline content tools
|[https://github.com/cscott/mw-ocg-bundler GitHub]
|[https://github.com/cscott/mw-ocg-bundler/issues GitHub]
||[[User:CAnanian (WMF)|C. Scott Ananian]]
|-
|[https://github.com/cscott/mw-ocg-latexer GitHub]
|[https://github.com/cscott/mw-ocg-latexer/issues GitHub]
||[[User:CAnanian (WMF)|C. Scott Ananian]]
|-
|[[TextCat|textcat]]
|[[git:wikimedia/textcat|Gerrit]]
|[[phab:|Phabricator]]
|[[User:TJones (WMF)|Trey Jones]]
|}
{| class="wikitable sortable" align="top" width="100%"
{| class="wikitable sortable" align="top" width="100%"
|+Other projects from the MediaWiki engineering community
|+Other projects from the MediaWiki engineering community
Line 192: Line 34:
|[[phab:project/query/active/|Phabricator]] (under "Pywikibot")
|[[phab:project/query/active/|Phabricator]] (under "Pywikibot")
|[[user:xqt|xqt]]
|[[user:xqt|xqt]]
|-
|[[Wikimedia tools/Org chart tool|Orgchart tool]]
|Generates organisational charts.
|[[JavaScript]], Node.js
|{{git file |project=wikimedia/orgchart |action=summary |text=Diffusion}}
|[[phab:project/query/active/|Phabricator]] (under "Utilities")
|[[User:MarkTraceur (WMF)|MarkTraceur]]
|-
|[[wikitech:Bingle|Bingle]]
|Pipes bugs form Bugzilla into tools like Mingle and Trello; obsolete after migration to [[Phabricator]]
|Python
|[https://github.com/wikimedia/bingle Github]
|[https://github.com/wikimedia/bingle/issues Github]
|[[User:Awjrichards]]
|}
|}


Line 215: Line 43:
* Others: https://www.openhub.net/orgs/wikimedia/projects
* Others: https://www.openhub.net/orgs/wikimedia/projects


== Components ==
== MediaWiki dependencies ==
Projects that we use server-side or client-side as part of MediaWiki core, or WMF-deployed extensions.
Projects that contribute to the [[architecture]] of MediaWiki, key extensions, and applications. They are included in the downloadable packages of [[wikitech:Key Wikimedia software projects|key Wikimedia projects]], or they are identified as required dependencies.


{| class="wikitable sortable" align="top"
{| class="wikitable sortable" align="top"
Line 241: Line 69:
| [https://github.com/jquery/jquery GitHub]
| [https://github.com/jquery/jquery GitHub]
|[https://github.com/jquery/jquery/issues GitHub]
|[https://github.com/jquery/jquery/issues GitHub]
| (jQuery Foundation), [[User:Krinkle|Timo Tijhof]]
| OpenJS Foundation, [[User:Krinkle|Timo Tijhof]]
|-
|-
| [[ResourceLoader/Core_modules#jquery.ui|jQuery UI]]
|Vue.js
| Simple widgets for client-side UIs. Deprecated within MediaWiki.
| JavaScript
| [https://github.com/jquery/jquery-ui GitHub]
|[https://bugs.jqueryui.com/ bugs.jqueryui.com]
|OpenJS Foundation, [[User:Krinkle|Timo Tijhof]]
|-
|[[Vue.js]]
|Vue is a progressive framework for building user interfaces.
|Vue is a progressive framework for building user interfaces.
|JavaScript
|JavaScript
Line 249: Line 84:
|[https://github.com/vuejs/vue/issues GitHub]
|[https://github.com/vuejs/vue/issues GitHub]
|
|
|-
| [[wikitech:Puppet|Puppet]]
| Configuration management system.
| Ruby
| [https://github.com/puppetlabs/puppet GitHub]
| [https://tickets.puppetlabs.com/ Jira]
| [[Wikimedia Site Reliability Engineering|Wikimedia SRE]]
|-
|-
| [[:en:Unihan Database|Unihan Database]]
| [[:en:Unihan Database|Unihan Database]]
Line 320: Line 148:
|
|
|-
|-
|[https://ffmpeg.org/ FFmpeg] / [https://libav.org/ libav]
|[https://codemirror.net CodeMirror]
|a browser based text editor (Used by the [[Extension:CodeMirror|CodeMirror extension]] to provide syntax highlighting in the [[Extension:WikiEditor|2010 wikitext editor]].)
|JavaScript
|[https://github.com/codemirror/codemirror GitHub]
|[https://github.com/codemirror/codemirror/issues GitHub]; [https://github.com/codemirror/codemirror.next/issues GitHub (for version 6)]
|
|-
|[https://ffmpeg.org/ FFmpeg]
|Video conversion and scaling
|Video conversion and scaling
| C
| C
| [git://source.ffmpeg.org/ffmpeg.git ffmpeg] / [https://git.libav.org/?p=libav.git libav]
| [git://source.ffmpeg.org/ffmpeg.git ffmpeg]
| [https://trac.ffmpeg.org/ ffmpeg]
| [https://trac.ffmpeg.org/ ffmpeg] / [https://bugzilla.libav.org/ libav]
|
|
|-
|-
Line 367: Line 202:
|[https://github.com/ceph GitHub]
|[https://github.com/ceph GitHub]
| [https://tracker.ceph.com/projects/ceph/issues Ceph]
| [https://tracker.ceph.com/projects/ceph/issues Ceph]
|
|-
| [https://www.theora.org/cortado/ Cortado]
| Media streaming Java applet
|Java
|[https://git.xiph.org/?p=cortado.git;a=summary xiph]
| [https://trac.xiph.org/report/24]
|
|
|-
|-
Line 381: Line 209:
|
|
| [https://bugzilla.redhat.com/enter_bug.cgi?product=GlusterFS]
| [https://bugzilla.redhat.com/enter_bug.cgi?product=GlusterFS]
|
|-
| [https://github.com/kaltura/mwEmbed Kaltura / mwEmbed]
| used by TimedMediaHandler
|
|
| [https://github.com/kaltura/mwEmbed/issues]
|
|
|-
|-
Line 432: Line 253:
|
|
|-
|-
| [https://secure.php.net/ PHP]
| [https://www.php.net/ PHP]
| Programming language that MediaWiki is written in
| Programming language that MediaWiki is written in
|
|
Line 443: Line 264:
|
|
|
|
| [https://code.google.com/p/rangy/issues/list]
| [https://github.com/timdown/rangy/issues/]
|
|
|-
|-
Line 474: Line 295:
|
|
|-
|-
|[https://github.com/zotero/translators Zotero translators]
|(what else?) <!--name of project (with link)-->
|Used by [[Citoid]] to generate citation data from a URL or other identifier
|<!--description of project-->
|JavaScript
|<!--languages project is written in-->
|[https://github.com/zotero/translators GitHub]
|<!--repository link-->
|[https://github.com/zotero/translators/issues GitHub]
|<!--bug tracker link-->
|
|<!--contacts (ideally user pages)-->
|-
|[https://www.doctrine-project.org/projects/dbal.html Doctrine DBAL]
|Used to generate engine-specific SQL DDL files from a single [[Manual:Schema changes#Automatically generated|abstract schema]]
|PHP
|[https://github.com/doctrine/dbal/ GitHub]
|[https://github.com/doctrine/dbal/issues GitHub]
|
|-
|[https://videojs.com Video.js]
|Used by [[Extension:TimedMediaHandler|TimedMediaHandler]] as an audio/video player interface
|JavaScript
|[https://github.com/videojs/video.js GitHub]
|[https://github.com/videojs/video.js/issues GitHub]
| [[User:Brooke Vibber|Brooke Vibber]] and [[User:TheDJ|TheDJ]]
|}
|}


== Development and operations ==
== MediaWiki development process ==
Projects that contribute to our development process. They are installed in Wikimedia servers and they are used in the release process of [[wikitech:Key Wikimedia software projects|key Wikimedia projects]].
Projects that make up part of our development process to operate the production cluster itself.


{| class="wikitable sortable" align="top"
{| class="wikitable sortable" align="top"
Line 536: Line 371:
|[https://github.com/nodejs/node GitHub]
|[https://github.com/nodejs/node GitHub]
|[https://github.com/nodejs/node/issues GitHub]
|[https://github.com/nodejs/node/issues GitHub]
|(Node.js Foundation), [[User:Krinkle|Timo Tijhof]]
|OpenJS Foundation, [[User:Krinkle|Timo Tijhof]]
|-
|-
|[https://qunitjs.com QUnit]
|[https://qunitjs.com QUnit]
Line 543: Line 378:
|[https://github.com/qunit/qunit GitHub]
|[https://github.com/qunit/qunit GitHub]
|[https://github.com/qunitjs/qunit/issues GitHub]
|[https://github.com/qunitjs/qunit/issues GitHub]
|(jQuery Foundation), [[User:Krinkle|Timo Tijhof]]
|OpenJS Foundation, [[User:Krinkle|Timo Tijhof]]
|-
|-
|[https://www.doxygen.nl/ Doxygen]
|[https://www.doxygen.nl/ Doxygen]
Line 550: Line 385:
|[https://github.com/doxygen/doxygen GitHub]
|[https://github.com/doxygen/doxygen GitHub]
|[https://github.com/doxygen/doxygen/issues GitHub]
|[https://github.com/doxygen/doxygen/issues GitHub]
|[[User:Krinkle|Timo Tijhof]]
|
|-
|-
|[https://karma-runner.github.io/ Karma]
|[https://karma-runner.github.io/ Karma]
Line 569: Line 404:
|<!--description of project-->
|<!--description of project-->
|
|
|[https://github.com/mitchellh/vagrant GitHub]
|[https://github.com/hashicorp/vagrant GitHub]
|[https://github.com/hashicorp/vagrant/issues GitHub]
|[https://github.com/hashicorp/vagrant/issues GitHub]
|(HashiCorp)
|(HashiCorp)
Line 578: Line 413:
| [https://github.com/elasticsearch/logstash GitHub]
| [https://github.com/elasticsearch/logstash GitHub]
| [https://logstash.jira.com/secure/Dashboard.jspa Jira]
| [https://logstash.jira.com/secure/Dashboard.jspa Jira]
| (Elastic), [[User:BDavis (WMF)|bd808]]
|-
| [https://www.elastic.co/products/logstash Logstash plugins]
| Additional plugins
|
| [https://github.com/logstash-plugins/ GitHub]
| [https://github.com/logstash-plugins/ GitHub]
| (Elastic), [[User:BDavis (WMF)|bd808]]
| (Elastic), [[User:BDavis (WMF)|bd808]]
|-
|-
Line 608: Line 450:
|
|
|-
|-
| [http://www.list.org/ Mailman]
| [http://www.list.org/ Mailman] suite
| Mailing list server / management (see also [[m:Mailing lists/Administration|Mailing lists administration]])
| Mailing list server / management (see also [[m:Mailing lists/Administration|Mailing lists administration]])
|Python
|Python
|[https://gitlab.com/mailman/mailman GitLab]
|[https://gitlab.com/mailman/ GitLab]
| [https://gitlab.com/mailman/mailman/issues GitLab]
| [https://gitlab.com/mailman/mailman/issues GitLab]
|[[User:Legoktm|Legoktm]], [[User:Ladsgroup|Ladsgroup]]
|
|-
|-
| [[Gerrit/git-review|git-review]]
| [[Gerrit/git-review|git-review]]
Line 625: Line 467:
| Task tracker and software development tool used by Wikimedia, see https://phabricator.wikimedia.org
| Task tracker and software development tool used by Wikimedia, see https://phabricator.wikimedia.org
| PHP
| PHP
| [https://github.com/phacility/ GitHub]
| [https://we.phorge.it/ Phorge.it]
| [[phab:tag/phabricator-upstream|#phabricator-upstream]] and [https://secure.phabricator.com/maniphest/ phabricator.com]
| [[phab:tag/phabricator-upstream|#phabricator-upstream]] and [https://we.phorge.it/maniphest/ we.phorge.it]
| [[User:AKlapper (WMF)|Andre Klapper]]
| [[User:AKlapper (WMF)|Andre Klapper]]
|-
|-
Line 634: Line 476:
| [https://github.com/squizlabs/PHP_CodeSniffer GitHub]
| [https://github.com/squizlabs/PHP_CodeSniffer GitHub]
| [https://github.com/squizlabs/PHP_CodeSniffer GitHub]
| [https://github.com/squizlabs/PHP_CodeSniffer GitHub]
| Legoktm (?)
| [[User:Legoktm|Legoktm]]
|-
|-
| [[Continuous integration/Phan|Phan]]
| [[Continuous integration/Phan|Phan]]
Line 643: Line 485:
|
|
|-
|-
|[https://www.seleniumhq.org/ Selenium]
|(what else?) <!--name of project (with link)-->
|Automated Browser Testing
|<!--description of project-->
|
|<!--languages project is written in-->
|
|<!--repository link-->
|[https://github.com/seleniumhq/selenium/issues]
|<!--bug tracker link-->
|
|<!--contacts (ideally user pages)-->
|}
|-
| [[wikitech:Netbox|Netbox]]

|
== Non-MediaWiki but still WMF-used stuff ==
|

| [https://github.com/netbox-community/netbox/ GitHub]
{| class="wikitable sortable" align="top" width="100%"
| [https://github.com/netbox-community/netbox/issues/ GitHub]
|+ Upstream tools
| [[Wikimedia Site Reliability Engineering#Infrastructure Foundations]]
! Name & URL !! style="min-width:300px;" | Description !! Language(s) !! Repository !! Bug tracker !! Main contacts
|-
|-
|[https://www.debian.org/ Debian]
|[https://www.debian.org/ Debian]
| Free Operating System used on all production servers and cloud VPS instances.
|Free Operating System used on all production servers and cloud VPS instances.
| various
|various
| [https://packages.debian.org]
|[https://packages.debian.org]
| [https://debian.org/Bugs]
|[https://debian.org/Bugs]
| multiple Debian devs in SRE
|multiple Debian devs in SRE, [[User:Legoktm|Legoktm]]
|-
|-
|[https://letsencrypt.org/ Let's Encrypt]
|[https://letsencrypt.org/ Let's Encrypt]
| non-profit certificate authority - used for TLS (SSL) certificates for many services
|non-profit certificate authority - used for TLS (SSL) certificates for many services
|
|
| [https://github.com/letsencrypt github/letsencrypt]
|[https://github.com/letsencrypt github/letsencrypt]
|
|
| SRE Traffic team
|[[Wikimedia Site Reliability Engineering#Traffic|SRE Traffic team]]
|-
|[https://trafficserver.apache.org/ Apache Trafficserver (ATS)]
|Reverse proxy and forward proxy server
|C++
|[https://github.com/apache/trafficserver/ GitHub]
|[https://github.com/apache/trafficserver/issues/ GitHub]
|[[Wikimedia Site Reliability Engineering#Traffic|SRE Traffic team]]
|-
|-
|[https://varnish-cache.org/ Varnish]
|[https://varnish-cache.org/ Varnish]
Line 685: Line 534:
|
|
|-
|-
|[[wikitech:Puppet|Puppet]]
| RT (Request Tracker)
|Configuration management system.
| Ticket system used by Wikimedia Operations team
|Ruby
|
|[https://github.com/puppetlabs/puppet GitHub]
|
| [https://issues.bestpractical.com/Dashboards/1408/RT?user=guest;pass=guest]
|[https://tickets.puppetlabs.com/ Jira]
|[[Wikimedia Site Reliability Engineering|Wikimedia SRE]]
|
|-
|-
|RT (Request Tracker)
| [https://www.seleniumhq.org/ Selenium]
|Ticket system used by Wikimedia Operations team
| Automated Browser Testing
|
|
|
|
| [https://code.google.com/p/selenium/issues]
|[https://issues.bestpractical.com/Dashboards/1408/RT?user=guest;pass=guest]
|
|
|-
|-
| [https://www.icinga.com/ Icinga]
|[https://www.icinga.com/ Icinga]
| Network system monitoring ([https://icinga.wikimedia.org/ icinga.wikimedia.org])
|Network system monitoring ([https://icinga.wikimedia.org/ icinga.wikimedia.org])
|
|
|
|
| [https://dev.icinga.org/projects/icinga-core/issues]
|[https://dev.icinga.org/projects/icinga-core/issues]
|
|
|-
|-
| [https://www.otrs.com/ OTRS]
|[https://www.znuny.org/ Znuny]
| Ticket system used for answering queries, see https://ticket.wikimedia.org/otrs
|Ticket system used for answering queries, see [https://ticket.wikimedia.org/otrs https://ticket.wikimedia.org/]
|
|
|
|
|Znuny: [https://github.com/znuny/znuny/issues]
| [https://bugs.otrs.org/] for bug reports; [https://otrsteam.ideascale.com/] for feature requests
|
|
|-
|-
| [https://civicrm.org/ CiviCRM]
|[https://civicrm.org/ CiviCRM]
| Used for WMF Fundraising ([[Fundraising_tech/Free_Software_Citizenship#CiviCRM|now upstreaming patches]])
|Used for WMF Fundraising ([[Fundraising_tech/Free_Software_Citizenship#CiviCRM|now upstreaming patches]])
|
|
|
|
| [https://issues.civicrm.org]
|[https://issues.civicrm.org]
|
|
|-
|-
| [https://wordpress.org/ WordPress]
|[https://wordpress.org/ WordPress]
| https://blog.wikimedia.org
|https://blog.wikimedia.org
| PHP
|PHP
|
|
| [https://core.trac.wordpress.org/ Trac]
|[https://core.trac.wordpress.org/ Trac]
| ([https://codex.wordpress.org/Mailing_Lists mailing lists])
|([https://codex.wordpress.org/Mailing_Lists mailing lists])
|-
|-
| [http://offog.org/code/rawdog/ Rawdog]
|[http://offog.org/code/rawdog/ Rawdog]
| https://en.planet.wikimedia.org/ etc
|https://en.planet.wikimedia.org/ etc
| Python
|Python
| http://offog.org/git/rawdog/
|http://offog.org/git/rawdog/
|
|
|
|
Line 741: Line 590:
|
|
|-
|-
| [[wikitech:Portal:Cloud_VPS|OpenStack Nova]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Nova]]
| OpenStack compute service.
|OpenStack compute service.
| Python
|Python
| [https://github.com/openstack/nova.git OpenStack Github]
|[https://github.com/openstack/nova.git OpenStack GitHub]
| [https://bugs.launchpad.net/nova Launchpad]
|[https://bugs.launchpad.net/nova Launchpad]
| [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|-
| [[wikitech:Portal:Cloud_VPS|OpenStack Neutron]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Neutron]]
| OpenStack software-defined-networking service.
|OpenStack software-defined-networking service.
| Python
|Python
| [https://github.com/openstack/neutron.git OpenStack Github]
|[https://github.com/openstack/neutron.git OpenStack GitHub]
| [https://bugs.launchpad.net/neutron Launchpad]
|[https://bugs.launchpad.net/neutron Launchpad]
| [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|-
| [[wikitech:Portal:Cloud_VPS|OpenStack Glance]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Glance]]
| OpenStack image service.
|OpenStack image service.
| Python
|Python
| [https://github.com/openstack/glance.git OpenStack Github]
|[https://github.com/openstack/glance.git OpenStack GitHub]
| [https://bugs.launchpad.net/glance Launchpad]
|[https://bugs.launchpad.net/glance Launchpad]
| [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|-
| [[wikitech:Portal:Cloud_VPS|OpenStack Keystone]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Cinder]]
| OpenStack identity service.
|OpenStack image service.
| Python
|Python
| [https://github.com/openstack/keystone.git OpenStack Github]
|[https://github.com/openstack/cinder.git OpenStack GitHub]
| [https://bugs.launchpad.net/keystone Launchpad]
|[https://bugs.launchpad.net/cinder Launchpad]
| [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|-
| [[wikitech:Swift|OpenStack Swift]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Trove]]
| OpenStack object storage service.
|OpenStack image service.
| Python
|Python
| [https://github.com/openstack/swift.git OpenStack Github]
|[https://github.com/openstack/trove.git OpenStack GitHub]
| [https://bugs.launchpad.net/swift Launchpad]
|[https://storyboard.openstack.org/#!/project/openstack/trove storyboard]
| [[Wikimedia Site Reliability Engineering|Wikimedia SRE]]
|[[ Wikimedia Cloud Services team]]
|-
|-
| [[wikitech:Help:Toolforge/Kubernetes|Kubernetes]]
|[[wikitech:Portal:Cloud_VPS|OpenStack Magnum]]
|OpenStack image service.
| Cloud platform for running containers
|Python
| Go
| [https://github.com/kubernetes/kubernetes Kubernetes Github]
|[https://github.com/openstack/magnum.git OpenStack GitHub]
|[https://bugs.launchpad.net/magnum Launchpad]
| [https://github.com/kubernetes/kubernetes/issues Kubernetes issues on Github]
| [[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|-
|[[wikitech:Portal:Cloud_VPS|OpenStack Heat]]
| [https://www.kernel.org/ Linux Kernel]
|OpenStack image service.
| The core that runs all of our servers
|Python
| C
| [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ Git source tree]
|[https://github.com/openstack/heat.git OpenStack GitHub]
|[https://storyboard.openstack.org/#!/project/openstack/heat storyboard]
| TBD, probably better to use the Debian BTS.
| [[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]] and others.
|[[ Wikimedia Cloud Services team]]
|-
|-
|[[wikitech:Portal:Cloud_VPS|OpenStack Horizon]]
| [https://www.netfilter.org/ Netfilter]
|OpenStack image service.
| Linux packet filtering framework
|Python
| C
|[https://github.com/openstack/horizon.git OpenStack GitHub]
| [https://git.netfilter.org/ Netfilter source repositories]
|[https://bugs.launchpad.net/horizon Launchpad]
| [http://bugzilla.netfilter.org/ Netfilter bugzilla]
| [[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]] and others.
|[[ Wikimedia Cloud Services team]]
|-
|-
|[[wikitech:Portal:Cloud_VPS|OpenStack Keystone]]
| [https://arc.liv.ac.uk/trac/SGE Son of Grid Engine]
|OpenStack identity service.
| Distributed and scheduled computing platform
|Python
| Several
| [https://arc.liv.ac.uk/trac/SGE/browser/ SGE source repositories]
|[https://github.com/openstack/keystone.git OpenStack GitHub]
|[https://bugs.launchpad.net/keystone Launchpad]
| [https://arc.liv.ac.uk/mailman/listinfo/sge-discuss SGE mailing list]
| [[Wikimedia_Cloud_Services_team | Wikimedia Cloud Services team]]
|[[ Wikimedia Cloud Services team]]
|-
|[[wikitech:Swift|OpenStack Swift]]
|OpenStack object storage service.
|Python
|[https://github.com/openstack/swift.git OpenStack GitHub]
|[https://bugs.launchpad.net/swift Launchpad]
|[[Wikimedia Site Reliability Engineering|Wikimedia SRE]]
|-
|[[wikitech:Help:Toolforge/Kubernetes|Kubernetes]]
|Cloud platform for running containers
|Go
|[https://github.com/kubernetes/kubernetes Kubernetes GitHub]
|[https://github.com/kubernetes/kubernetes/issues Kubernetes issues on GitHub]
|[[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[ Wikimedia Cloud Services team]]
|-
|[https://www.kernel.org/ Linux Kernel]
|The core that runs all of our servers
|C
|[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ Git source tree]
|TBD, probably better to use the Debian BTS.
|[[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[ Wikimedia Cloud Services team]] and others.
|-
|[https://www.netfilter.org/ Netfilter]
|Linux packet filtering framework
|C
|[https://git.netfilter.org/ Netfilter source repositories]
|[http://bugzilla.netfilter.org/ Netfilter bugzilla]
|[[Wikimedia Site Reliability Engineering|Wikimedia SRE]] and [[ Wikimedia Cloud Services team]] and others.
|-
|-
|[https://ajv.js.org/ AJV (Another JSON Schema Validator)]
|[https://ajv.js.org/ AJV (Another JSON Schema Validator)]
|JSONSchema Validator that powers WMF's streaming [[wikitech:Event_Platform|Event Platform]] components like [[wikitech:Event_Platform/EventGate|EventGate]] and [[wikitech:Event_Platform/Schemas|schema]] repositories.
|JSONSchema Validator that powers WMF's streaming [[wikitech:Event_Platform|Event Platform]] components like [[wikitech:Event_Platform/EventGate|EventGate]] and [[wikitech:Event_Platform/Schemas|schema]] repositories.
|NodeJS
|NodeJS
|[https://github.com/ajv-validator/ajv AJV Github]
|[https://github.com/ajv-validator/ajv AJV GitHub]
|[https://github.com/ajv-validator/ajv AJV issues on Github]
|[https://github.com/ajv-validator/ajv AJV issues on GitHub]
|Wikimedia Analytics Engineering and Core Platform teams
|[[wikitech:Data Engineering|Wikimedia Data Engineering]] and [[MediaWiki Platform Team]]
|-
|-
|[https://superset.incubator.apache.org/ Apache Superset]
|[https://superset.incubator.apache.org/ Apache Superset]
|Dashboarding and data exploration tool
|Dashboarding and data exploration tool
|Python
|Python
|[https://github.com/apache/incubator-superset Superset Github]
|[https://github.com/apache/incubator-superset Superset GitHub]
|
|
|Wikimedia Analytics Engineering
|[[wikitech:Data Engineering|Wikimedia Data Engineering]]
|-
|-
|[https://github.com/allegro/turnilo Turnilo]
|[https://github.com/allegro/turnilo Turnilo]
|Data exploration tool
|Data exploration tool
|JavaScript
|Javascript
|[https://github.com/allegro/turnilo Turnilo Github]
|[https://github.com/allegro/turnilo Turnilo GitHub]
|
|[[wikitech:Data Engineering|Wikimedia Data Engineering]]
|-
|[https://github.com/libtiff/libtiff libtiff]
|tiffinfo; see e.g. [[phab:T269908]]
|C
|[https://github.com/libtiff/libtiff libtiff GitHub]
|
|
|
|Wikimedia Analytics Engineering
|-
|-
|(what else?) <!--name of project (with link)-->
|(what else?)<!--name of project (with link)-->
|<!--description of project-->
|<!--description of project-->
|<!--languages project is written in-->
|<!--languages project is written in-->
Line 833: Line 717:
|}
|}


== Miscellaneous ==
==Client-side interaction==
Software heavily interacting or interconnected with MediaWiki functionality and work, but user side.


=== Integrated on Wikimedia projects ===
=== Integrated on Wikimedia projects ===
Projects that are used in some way (embedding, linking) on Wikimedia projects, often installed in Wikimedia servers like ToolLabs.
Projects that are used in some way (embedding, linking) with Wikimedia projects, but operated by volunteers e.g. in [[wikitech:Help:Cloud_Services_Introduction|Wikimedia Cloud]] or Toolforge.


{| class="wikitable sortable" align="top" width="100%"
{| class="wikitable sortable" align="top" width="100%"
|+ Upstream tools
|+ Upstream tools
! Name & URL !! style="min-width:300px;" | Description !! Language(s) !! Repository !! Bug tracker !! Main contacts
! Name & URL !! style="min-width:300px;" | Description !! Language(s) !! Repository !! Bug tracker !! Main contacts
|-
|[https://codemirror.net CodeMirror]
|a browser based text editor (Used by the [[Extension:CodeMirror|CodeMirror extension]] to provide syntax highlighting in the [[Extension:WikiEditor|2010 wikitext editor]].)
|Javascript
|[https://github.com/codemirror/codemirror GitHub]
|[https://github.com/codemirror/codemirror/issues Github]
|
|-
|-
| [http://iipimage.sourceforge.net/ IIPImage]
| [http://iipimage.sourceforge.net/ IIPImage]
Line 856: Line 732:
| [https://sourceforge.net/p/iipimage/_list/tickets SourceForge]
| [https://sourceforge.net/p/iipimage/_list/tickets SourceForge]
|<!--contacts (ideally user pages)-->
|<!--contacts (ideally user pages)-->
|-
| [https://tesseract-ocr.github.io/ Tesseract OCR]
| Automated text recognition (OCR)
| C++
| [https://github.com/tesseract-ocr/tesseract/ GitHub]
| [https://github.com/tesseract-ocr/tesseract/issues GitHub]
| [https://www.mediawiki.org/wiki/User:Stefan_Weil Stefan Weil]
|-
|-
| [[phab:diffusion/OPUP/browse/production/modules/toollabs/manifests/exec_environ.pp|Hundreds of other packages on Tools]] || || || || ||
| [[phab:diffusion/OPUP/browse/production/modules/toollabs/manifests/exec_environ.pp|Hundreds of other packages on Tools]] || || || || ||
Line 868: Line 751:


===Editing tools===
===Editing tools===
Applications commonly used by developers or editors. For a full listing, see the lists [[m:Open Source Toolset]], [[m:FLOSS-Exchange]], [[d:Q6584911]].

For a full listing, see the lists [[m:Open Source Toolset]], [[m:FLOSS-Exchange]], [[d:Q6584911]].

{| class="wikitable sortable" align="top" width="100%"
{| class="wikitable sortable" align="top" width="100%"
|+ Upstream tools
|+ Upstream tools
Line 922: Line 803:
|
|
|[https://bugs.chromium.org/p/chromium/issues/list chromium.org] ([https://bugs.chromium.org/p/chromium/issues/detail?id=463348 Wikimedia issues] are specifically tracked)
|[https://bugs.chromium.org/p/chromium/issues/list chromium.org] ([https://bugs.chromium.org/p/chromium/issues/detail?id=463348 Wikimedia issues] are specifically tracked)
|
|[[Performance Team]]
|-
|-
| Firefox
| Firefox
Line 929: Line 810:
|
|
|[https://bugzilla.mozilla.org/ mozilla.org]
|[https://bugzilla.mozilla.org/ mozilla.org]
|
|[[Performance Team]]
|-
|-
| Opera
| Opera
Line 967: Line 848:


* [[Developers/Maintainers]]
* [[Developers/Maintainers]]
* Wikimedia projects mirrored on GitHub: https://github.com/wikimedia
* [[wikitech:Key_Wikimedia_software_projects|Key Wikimedia software projects]] ({{as of|2015|August}} is out of date)
* [https://doc.wikimedia.org Wikimedia Open Source]
* Wikimedia projects mirrored on Github:
** https://github.com/wikimedia
** https://wikimedia.github.io/
* [[Library infrastructure for MediaWiki]]
* [[Library infrastructure for MediaWiki]]
* [[m:FLOSS-Exchange]]
* [[m:FLOSS-Exchange]]

Latest revision as of 02:10, 7 January 2025

MediaWiki developers and users[1] rely on several upstream and/or 3rd party projects for their architecture or processes. At the same time, they develop software projects used by others, which are downstream to them. These links define our location in the free software map, our neighbor communities, and the flows of feedback, patches, and contributors.

Let's identify our upstream projects, our neighbor communities, and the contributors that connect us with them.

Motivation

[edit]

This is a first step to improve our relations with other communities, to increase the contributions received, and our influence in the projects that matter to us.

Our mid-term goals include:

  • identify the projects where we want to see significant development, to the point of sending patches as well
  • identify the communities where Wikimedia should be regularly active and heard
  • identify the people in the Wikimedia and upstream communities that know each other and act as bridge
  • identify organizations and events we should get in touch and be part of
  • get involved in bigger development efforts regularly, become a regular FOSS player

Invented here

[edit]

See Maintainers for all components, libraries, and extensions that we maintain and deploy with or around MediaWiki.

For a larger list of software projects that we publish see Wikimedia Open Source.

Other projects from the MediaWiki engineering community
Name & URL Description Language(s) Repository Bug tracker Main contacts
translatewiki.net Where we organise localisation of MediaWiki. PHP, Puppet phab:diffusion/GTWN/ #translatewiki.net in Phabricator, translatewiki:Support Nikerabbit (founder), Abijeet Patro (co-maintainer), Siebrand (co-maintainer), Raymond (MediaWiki updates responsible)
Pywikibot Python Wiki Robot Framework to automatize tasks Python Diffusion Phabricator (under "Pywikibot") xqt

More stuff (hundreds of projects) by fellow MediaWiki developers and Wikimedians is also listed at:

MediaWiki dependencies

[edit]

Projects that we use server-side or client-side as part of MediaWiki core, or WMF-deployed extensions.

Upstream components
Name & URL Description Language(s) Repository Bug tracker Main contacts
GNU diff and diff3 Powers recent changes, history and undo button (i.e. most editing features).
Elasticsearch Distributed real-time search and analytics engine. Java GitHub GitHub
jQuery Lots of DOM traversing, and other DOM-related helpers, for JavaScript. JavaScript GitHub GitHub OpenJS Foundation, Timo Tijhof
jQuery UI Simple widgets for client-side UIs. Deprecated within MediaWiki. JavaScript GitHub bugs.jqueryui.com OpenJS Foundation, Timo Tijhof
Vue.js Vue is a progressive framework for building user interfaces. JavaScript GitHub GitHub
Unihan Database For Chinese language conversion Used as database
Smart Common Input Method For Chinese language conversion Used as database
libtabe For Chinese language conversion Used as database
ImageMagick general purpose image scaling C No repo ImageMagick.tar.gz Forum
Lua Scripting language C
ACE Web based code editor JavaScript, HTML GitHub GitHub User:TheDJ (has signed contributor license)
VIPS Image scaling of large images (VipsScaler) GitHub GitHub User:Bryan
libRsvg PNG renderer for SVG images C GNOME git GNOME Gitlab (Wikimedia tagged issues)
MathJax Math rendering in HTML/SVG/MathML; used by Math extension JavaScript GitHub GitHub
CodeMirror a browser based text editor (Used by the CodeMirror extension to provide syntax highlighting in the 2010 wikitext editor.) JavaScript GitHub GitHub; GitHub (for version 6)
FFmpeg Video conversion and scaling C ffmpeg ffmpeg
MWLib mediawiki parser and converter Python GitHub GitHub
Pygments.org Syntax highlighting Python Bitbucket Bitbucket
Unicode CLDR (Common Locale Data Repository) All we manage to take: language names, plural rules, language-territory information, ... [1] Nemo (CLDR Survey Tool manager)
CLDRPluralRuleParser Plural support based on CLDR JavaScript GitHub GitHub Santhosh Thottingal
Apertium Free software, rule-based machine translation; used by Translate, ContentTranslation and others. Soureforge [2] Francis Tyers, Firespeaker, Unhammer
Ceph Distributed storage system C++ GitHub Ceph
GlusterFS Distributed file system [3]
Leaflet Maps on Mobile JavaScript [4]
Lilypond used by the Score extension Gitlab.com
MariaDB Relational database. [5]
memcached GitHub [6]
multilightbox used by Extension:MultimediaViewer [7]
MySQL Relational database. [8]
PHP Programming language that MediaWiki is written in [9]
Rangy JavaScript range and selection library, used by VisualEditor [10]
Swift Distributed storage system [11]
lightncandy HTML templating (mustache and handlebars) in PHP PHP GitHub GitHub EBernhardson, Kaldari
Composer Dependency manager for PHP libraries - used for managing MediaWiki libraries and CI PHP getcomposer.org GitHub Legoktm, Bryan Davis, Reedy
Blazegraph RDF-graph database supporting RDF and SPARQL - used by WDQS Java Blazegraph.com Jira / GitHub
Zotero translators Used by Citoid to generate citation data from a URL or other identifier JavaScript GitHub GitHub
Doctrine DBAL Used to generate engine-specific SQL DDL files from a single abstract schema PHP GitHub GitHub
Video.js Used by TimedMediaHandler as an audio/video player interface JavaScript GitHub GitHub Brooke Vibber and TheDJ

Development and operations

[edit]

Projects that make up part of our development process to operate the production cluster itself.

Upstream tools
Name & URL Description Language(s) Repository Bug tracker Main contacts
Jenkins Continuous integration Java GitHub Jira (CD Foundation), Hashar, MarkTraceur
Jenkins Job Builder Job creation system Python Git Openstack Storyboard (OpenStack), Hashar, MarkTraceur
Zuul Gerrit/Jenkins bridge trigger Python Git Openstack Storyboard (OpenStack), Hashar, MarkTraceur
Gerrit Code review tool Java Gerrit Monorail (Google), QChris
Etherpad Lite Real-time collaborative document editing JavaScript (Node.js) GitHub GitHub MarkTraceur, Mutante
PHPUnit Unit testing framework for PHP PHP GitHub GitHub
Node.js Programming language, e.g. used by ESLint, and Karma. C++, JavaScript GitHub GitHub OpenJS Foundation, Timo Tijhof
QUnit Unit testing framework for JavaScript. JavaScript GitHub GitHub OpenJS Foundation, Timo Tijhof
Doxygen Documentation generation C++, PHP GitHub GitHub Timo Tijhof
Karma Automation for running unit tests in web browsers and capturing their results. JavaScript GitHub GitHub (Google), Timo Tijhof
Grunt Task runner for build and test scripts. JavaScript GitHub GitHub (jQuery Foundation)
Vagrant GitHub GitHub (HashiCorp)
Logstash A tool that can be used to collect, process and forward events and log messages JRuby GitHub Jira (Elastic), bd808
Logstash plugins Additional plugins GitHub GitHub (Elastic), bd808
Kibana A browser based analytics and search interface for Elasticsearch that was developed primarily to view Logstash event data JavaScript GitHub GitHub (Elastic), bd808
Graphite/Carbon Real-time graphing system and time series Python GitHub GitHub
Grafana Metrics visualisation Go, JavaScript GitHub GitHub
JSDuck Static site generator for documentation. Ruby GitHub GitHub
Mailman suite Mailing list server / management (see also Mailing lists administration) Python GitLab GitLab Legoktm, Ladsgroup
git-review Command line tool for using Gerrit Git [12] (OpenStack),
Phabricator Task tracker and software development tool used by Wikimedia, see https://phabricator.wikimedia.org PHP Phorge.it #phabricator-upstream and we.phorge.it Andre Klapper
PHP CodeSniffer Continuous integration PHP GitHub GitHub Legoktm
Phan Continuous integration PHP GitHub GitHub
Selenium Automated Browser Testing [13]
Netbox GitHub GitHub Wikimedia Site Reliability Engineering#Infrastructure Foundations
Debian Free Operating System used on all production servers and cloud VPS instances. various [14] [15] multiple Debian devs in SRE, Legoktm
Let's Encrypt non-profit certificate authority - used for TLS (SSL) certificates for many services github/letsencrypt SRE Traffic team
Apache Trafficserver (ATS) Reverse proxy and forward proxy server C++ GitHub GitHub SRE Traffic team
Varnish Reverse proxy server [16]
nginx Reverse proxy / web server [17]
Puppet Configuration management system. Ruby GitHub Jira Wikimedia SRE
RT (Request Tracker) Ticket system used by Wikimedia Operations team [18]
Icinga Network system monitoring (icinga.wikimedia.org) [19]
Znuny Ticket system used for answering queries, see https://ticket.wikimedia.org/ Znuny: [20]
CiviCRM Used for WMF Fundraising (now upstreaming patches) [21]
WordPress https://blog.wikimedia.org PHP Trac (mailing lists)
Rawdog https://en.planet.wikimedia.org/ etc Python http://offog.org/git/rawdog/
Django Python web framework Python https://github.com/django/django
OpenStack Nova OpenStack compute service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Neutron OpenStack software-defined-networking service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Glance OpenStack image service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Cinder OpenStack image service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Trove OpenStack image service. Python OpenStack GitHub storyboard Wikimedia Cloud Services team
OpenStack Magnum OpenStack image service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Heat OpenStack image service. Python OpenStack GitHub storyboard Wikimedia Cloud Services team
OpenStack Horizon OpenStack image service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Keystone OpenStack identity service. Python OpenStack GitHub Launchpad Wikimedia Cloud Services team
OpenStack Swift OpenStack object storage service. Python OpenStack GitHub Launchpad Wikimedia SRE
Kubernetes Cloud platform for running containers Go Kubernetes GitHub Kubernetes issues on GitHub Wikimedia SRE and Wikimedia Cloud Services team
Linux Kernel The core that runs all of our servers C Git source tree TBD, probably better to use the Debian BTS. Wikimedia SRE and Wikimedia Cloud Services team and others.
Netfilter Linux packet filtering framework C Netfilter source repositories Netfilter bugzilla Wikimedia SRE and Wikimedia Cloud Services team and others.
AJV (Another JSON Schema Validator) JSONSchema Validator that powers WMF's streaming Event Platform components like EventGate and schema repositories. NodeJS AJV GitHub AJV issues on GitHub Wikimedia Data Engineering and MediaWiki Platform Team
Apache Superset Dashboarding and data exploration tool Python Superset GitHub Wikimedia Data Engineering
Turnilo Data exploration tool JavaScript Turnilo GitHub Wikimedia Data Engineering
libtiff tiffinfo; see e.g. phab:T269908 C libtiff GitHub
(what else?)

Miscellaneous

[edit]

Integrated on Wikimedia projects

[edit]

Projects that are used in some way (embedding, linking) with Wikimedia projects, but operated by volunteers e.g. in Wikimedia Cloud or Toolforge.

Upstream tools
Name & URL Description Language(s) Repository Bug tracker Main contacts
IIPImage Viewing and zooming of ultra high-resolution images (linked by default on Wikimedia Commons) C++ SourceForge SourceForge
Tesseract OCR Automated text recognition (OCR) C++ GitHub GitHub Stefan Weil
Hundreds of other packages on Tools
(what else?)

Editing tools

[edit]

Applications commonly used by developers or editors. For a full listing, see the lists m:Open Source Toolset, m:FLOSS-Exchange, d:Q6584911.

Upstream tools
Name & URL Description Language(s) Repository Bug tracker Main contacts
Multimedia software and SVG tools Software used to contribute/work on multimedia in MediaWiki wikis, like Inkscape and GIMP. May play well with MediaWiki or not.
LibreOffice (formerly OpenOffice) Productivity suite, can e.g. produce charts and export/publish documents to wikitext (via libreoffice-wiki-publisher). [22]
Browser spellcheckers Aiding editors to prevent errors before they're saved. Over 120 in Firefox, see respective descriptions.
KIPI uploader and other third party upload tools Multimedia contribution software by third parties, usually made for integration in their software (e.g. digiKam, Gwenview).
(what else?)

Web browsers

[edit]
See also: Compatibility


Name & URL Description Language(s) Repository Bug tracker Main contacts
Chrome Browser by Google chromium.org (Wikimedia issues are specifically tracked)
Firefox Browser by Mozilla mozilla.org
Opera Browser by Opera Software opera.com
Internet Explorer Browser by Microsoft microsoft.com
Safari Browser by Apple webkit.org
(what else?)

Notes

[edit]
  1. For instance, whether volunteers or for work: maintainers and contributors of MediaWiki core and extensions and other developers; Wikimedia projects editors and sysadmins; sysadmins of MediaWiki wikis.

See also

[edit]