MediaWiki history/zh

MediaWiki是最初（自2001到2002年以来）由自己的社区为维基百科（后来的维基媒体项目）编写的自由软件.

第一阶段：UseModWiki
维基百科于2001年1月推出. 当时，它主要是一项试验，试图推动Nupedia的内容制作，这是由吉米·威尔士创建的免费内容但同行评审的百科全书. 因为这是一个实验，维基百科最初由UseModWiki提供支持，这是一个用Perl编写的现有GPL wiki引擎，使用CamelCase并将所有页面存储在单个文本文件中，没有任何更改历史记录.

很快就出现了驼峰并不适合命名百科全书文章. 2001年1月下旬，UseModWiki开发人员和维基百科参与者Clifford Adams为UseModWiki添加了一项新功能：自由链接，例如能够使用特殊语法（双方括号）链接到页面，而不是自动驼峰链接. 几周后，维基百科升级到支持自由链接的新版UseModWiki，并启用了它们.

虽然这个初始阶段不是关于MediaWiki的“本身”，但它提供了一些上下文并表明，即使在MediaWiki创建之前，维基百科也开始塑造支持它的软件的功能. UseModWiki也影响了一些MediaWiki的功能，例如它的标记语言. Nostalgia Wikipedia包含2001年12月维基百科数据库的完整副本，当时维基百科仍在使用UseModWiki.

第二阶段：使用PHP脚本
2001年，维基百科还不是十大网站，这是一个模糊的项目，坐落在Interwebs的黑暗角落，大多数搜索引擎都不知道，并且托管在一台服务器上. 尽管如此，性能已经成为一个问题，特别是因为UseModWiki将其内容存储在平面文件数据库中. 当时，维基百科在纽约时报、Slashdot或连线的文章后担心“被交通淹没”.

因此，在2001年夏天，维基百科的参与者Magnus Manske（当时的大学生）在空闲时间开始使用专用的维基百科wiki引擎. 他的目标是使用数据库驱动的应用程序改善维基百科的性能，并能够开发“通用”维基引擎无法提供的维基百科特有的功能. 用PHP和MySQL支持编写的新引擎简称为PHP脚本、PHP维基、维基百科软件或第二阶段.

PHP脚本于2001年8月上市，9月在SourceForge上共享，并测试到2001年末. 由于维基百科由于流量增加而遭遇重复出现的性能问题，英语维基百科最终在1月从UseModWiki切换到PHP脚本2002年创建的其他语言版本也慢慢升级，尽管其中一些版本将由UseModWiki保留，直到2004年. 一个名为“User:Conversion script”的自动程序将现有文章的最后版本转换为阶段2格式，Brion Vibber于2002年9月在英语维基百科上部分恢复了之前对UseModWiki历史的修订.

作为使用MySQL数据库的PHP软件，PHP脚本是后来成为MediaWiki的第一次迭代. 它还介绍了当今仍在使用的许多关键功能，例如命名空间来组织内容（包括讨论页），皮肤和特殊页面（包括维护报告，贡献列表和用户监视列表）.

第二阶段分支的最后一个版本在SVN中提供.

第三阶段：MediaWiki
尽管PHP脚本和数据库后端有所改进，但增加的流量、昂贵的功能和有限的硬件的组合继续导致维基百科上的性能问题. 2002年，Lee Daniel Crocker重新编写代码，称新软件为Phase III. 由于该网站经常遇到困难，他认为没有多少时间坐下来正确设计和开发解决方案，所以他只是重新组织了现有的架构以获得更好的性能并且破解了所有代码. 添加了性能分析功能以跟踪慢速功能.

Phase III软件保持相同的基本界面，其设计外观和行为尽可能与Phase II软件相同. 还添加了一些新功能，例如新文件上传系统，内容更改的并排差异以及跨维基链接.

它于2002年7月部署到英语维基百科，同时硬件转移到新的（但仍然是单一的）服务器. 其他功能是在2002年添加的，如新的维护特殊页面，或“双击编辑”选项. 但性能问题很快就会重新出现. 例如，在2002年11月，管理员必须暂时禁用“查看计数”和“站点”统计信息，这会导致在每个页面视图上进行两次数据库写入. 他们偶尔也会将站点切换到只读模式以维护读者的服务，并在高访问时间期间因桌面锁定问题而禁用昂贵的维护页面.

2003年初，开发人员讨论了他们是否应该在消防无法管理之前从头开始重新设计和重新构建软件，或者继续调整和改进现有的代码库. 他们选择后一种解决方案，主要是因为大多数开发人员对代码库非常满意，并且充分相信进一步的迭代改进足以跟上网站的增长.

大约在同一时间，Brion Vibber有效地接任了该软件的首席开发人员和发布经理. 该代码现在由一个庞大且活跃的开发者组维护.

2003年6月，管理员添加了第二服务器，这是与Web服务器分开的第一个数据库服务器（新机器也是非英语维基百科站点的Web服务器）. 两个服务器之间的负载平衡将在那一年晚些时候建立. 管理员还启用了一个新的页面缓存系统，该系统使用该文件系统为匿名用户缓存呈现的，可随时输出的页面.

2003年6月，吉米威尔士创建了维基媒体基金会，这是一个支持维基百科并管理其基础设施和日常运营的非营利组织. 7月，维基百科软件被正式命名为MediaWiki，维基媒体基金会名称为由Daniel Mayer撰写的文字. 当时认为聪明的双关语会让几代用户和开发者感到困惑.

7月份添加了新功能，例如自动生成的目录，以及编辑页面部分的功能，两者目前仍在使用. 名为MediaWiki的第一个版本发生在2003年8月，结束了一个应用程序的长期起源，其整体结构从那时起将保持相当稳定.

目前没有关于软件第四阶段的计划. 相反，MediaWiki开发现在采用较小的步骤：参见路线图.

一旦达到第三阶段，由于许多志愿者开发人员，MediaWiki的成长爆发，这是MediaWiki存在的原因. 志愿者开发者所做的一些值得注意的例子如下（包括那些志愿者工作非常有帮助，以后他们被聘请专业从事MediaWiki工作的开发者）.

MediaWiki软件

 * 原始MediaWiki软件：Magnus Manske和Lee Daniel Crocker
 * 维基表：Magnus Manske
 * 名字空间：？
 * 模板：Tim Starling（MW 1.2）
 * 模板和MediaWiki名称空间：Erik Möller和Tim Starling（MW 1.3）
 * MonoBook皮肤：Gabriel Wicke，带设计文档和质量用户评论（MW 1.3）
 * 分类：？ （MW 1.4）

阅读

 * 目录：Erik Möller

编辑

 * 章节编辑：Erik Möller
 * 监视列表：？

參考資料

 * Cite：Ævar Arnfjörð Bjarmason


 * translatewiki.net上的日常更新：Nikerabbit、Siebrand和Raymond（2007年起），包括LocalisationUpdate扩展
 * 承诺或启用各种l10n：Nikerabbit、Brion Vibber、Rob Church、Ævar Arnfjörð Bjarmason、Rotem Liss和Hashar
 * 其他l10n/i18n：Huji、Collinj、JeLuF、Reedy、Simetrical和IAlex

多媒體

 * MediaWiki核心上传基础设施：Bryan
 * VipsScaler：Bryan


 * 原作者2005-2006：Yurik
 * 2008？到2013？年维护：Catrope
 * 其他：Bryan、IAlex和Reedy
 * 当前维护者：Anomie

维基文库工具

 * Wikisource:WSexport：Tpt
 * ProofreadPage：ThomasV（创建者）和Tpt（当前维护者）

其他扩展
维基媒体基金会wiki上使用的MediaWiki扩展最初由志愿者创建和/或维护：
 * 分类树
 * 用户查核
 * 全域使用
 * 跨维基
 * 大量消息发送
 * 大量删除
 * 用户重命名
 * 站点矩阵
 * 翻译
 * 巴别
 * 插入字符
 * 简易时间线
 * 输入框
 * 标记部分转换
 * 诗歌
 * RSS源
 * WikiHiero
 * 标题黑名单
 * API沙盒
 * CLDR
 * 乐谱：User:GrafZahl实现了乐谱支持

And many widely used extensions for non-Wikimedia wikis, like:
 * Most of Semantic MediaWiki – many contributors
 * ConfirmEdit's most used and useful module, QuestyCaptcha – Emufarmers
 * ConfirmAccount

参见

 * Release notes and MediaWiki version history
 * Extremely short highlights of recent releases: Manual:Upgrading
 * History of MediaWiki version control
 * Principles and MediaWiki for context
 * Wikimedia history and MediaWiki timeline
 * Wikimedia Product/2016 Product Summary