揭秘维基百科:维基媒体的技术与基础设施
维基媒体基金会管理着维基百科、维基共享资源和维基数据等巨型项目,它是一个独特的范例,展示了如何基于开源原则和活跃社区构建大规模分布式系统。深入了解其技术基础,包括复杂的Wikitech基础设施、灵活的MediaWiki引擎以及广泛的云服务,是理解这个全球最大的免费知识来源如何得以维护和发展的关键。本文旨在为寻求深入了解这一全球信息平台运作方式的技术专家,详细阐述维基媒体项目背后的技术层面和组织流程。
Wikitech:维基媒体技术基础设施的基石
在维基媒体基金会的技术版图中,Wikitech居于核心地位——它是一个记录和描述其整个庞大基础设施的资源库。它不仅仅是服务器的集合,而是一个复杂的生态系统,旨在确保数百个网站的稳定运行。尽管某些文档可能面向内部专家,但其核心原则和工具都是可供探索的。
Wikitech的关键组成部分包括:
- Grafana: 用于监控和可视化整个基础设施的各项指标。数百个图表提供了系统状态的详细视图,尽管理解其中一些图表需要对内部架构有深入的了解。
- 开源(FOSS)与协作: 维基媒体积极使用并开发自由及开源软件。大部分代码托管在Gerrit等内部平台,以及GitLab和GitHub上。这使得任何人都可以通过开发者账户和维基媒体开发者门户等专用平台为项目开发做出贡献。
- Phabricator: 作为项目管理、错误跟踪和新功能请求的集中式系统。它确保了开发的透明度和协调性,其功能类似于大型IT项目中使用的任务跟踪系统。
面向开发者和社区的云服务
维基媒体提供了一套云平台,使内部团队和外部开发者都能够创建和托管工具、进行研究和分析数据。这些服务在支持项目动态生态系统方面发挥着至关重要的作用。
- Toolforge: 一个基于平台即服务(PaaS)模式运行的云平台。它允许开发者创建和托管自己的工具和机器人,这些工具和机器人可以与维基媒体的API进行交互。
- PAWS: 提供Jupyter Notebook环境,这对于处理维基项目数据的研究人员和分析师来说尤其有价值。
- Cloud VPS: 提供基础设施即服务(IaaS),为部署定制解决方案提供了更大的灵活性。
- Quarry和Superset: 提供Web界面,用于对各种维基项目数据库执行SQL查询,其中Superset还增加了数据可视化功能。
数据可用性受到了特别关注:基金会定期创建所有项目的数据转储(dumps)。这些完整的数据副本,包括编辑历史和访问统计,每两周提供一次下载。这不仅作为一种安全措施和数据恢复方法,还为离线访问、研究项目以及创建像Kiwix这样的替代查看工具开辟了广阔的可能性,这对于互联网接入受限的地区尤其重要。
MediaWiki:引擎架构与运行原理
所有维基媒体维基项目的核心是MediaWiki引擎——一个功能强大、自由分发的、专为协作工作设计的内容管理系统。MediaWiki于2002年创建,旨在取代维基百科早期的引擎,此后不断发展,提供了丰富的功能,这些功能往往与其表面上的简洁性形成对比。
MediaWiki的关键特性包括:
- 维基文本(Wikitext): 一种标记语言,允许在不直接使用HTML的情况下创建和编辑页面。它简化了添加链接、格式化文本和嵌入多媒体的过程,使其对广泛的用户群体都易于访问。所有更改都经过精心记录,确保能够回溯到任何以前的版本。
- 扩展(Extensions): MediaWiki拥有灵活的架构,允许通过扩展系统添加新功能。从装饰性的界面元素到复杂的数据处理工具,扩展显著增强了引擎的功能。
- 模板(Templates): 一种重用内容或格式的机制。模板可以标准化页面外观、自动化信息输入,并简化大量数据的编辑工作。
- 命名空间(Namespaces): 通过根据功能目的(例如,文章的主命名空间、讨论空间、用户页面、模板页面)对页面进行分组来系统化内容。这有助于在海量信息中保持秩序。
MediaWiki中的权限管理与角色
MediaWiki实现了一个详细的访问控制系统,允许为用户组分配不同的权限级别,这对于维护全球项目的秩序和安全至关重要。
- 用户权限: 一个详细的访问控制系统,允许为用户组分配不同的权限级别。
* 管理员(Administrators) 负责维护秩序、打击垃圾信息,并为网站提供技术支持,包括修改CSS样式表和限制恶意用户的访问。
* 行政员(Bureaucrats) 拥有更广泛的权力,包括更改用户组成员身份的能力,这其中也包括任命管理员。
- 监管员(Stewards): 这代表了维基媒体生态系统中最高级别的管理权限,本质上是“管理员之上的管理员”。监管员可以访问基金会的所有维基站点,可以修改任何用户的权限,并可以在没有本地管理员或本地管理员无法应对的项目中担任管理员。监管员选举每年举行一次,对候选人有严格的要求(管理经验、项目活跃度——例如,在一个站点有600次编辑,在过去一个月有50次编辑),并且投票过程要求很高(高支持率门槛——80%的票数,且至少30票)。
维基媒体的社区发展与创新
除了技术基础之外,维基媒体的优势还在于其活跃的全球社区以及支持其成长和发展的流程,确保其能够适应新的挑战和需求。
- 元维基(Metawiki): 该站点是讨论维基媒体运动一般性问题、策略、计划和文档的中心枢纽。它是思想形成、项目协调和运动历史记录的地方。元维基积极招募志愿者翻译其页面,并招募技术专家来支持团体和社区。
- 维基媒体孵化器(Wikimedia Incubator): 一个用于维基项目新语言版本原型开发的平台。在这里,社区可以在新语言项目正式作为独立项目启动之前,展示其可行性和活跃度。这确保了来自母语使用者的实质性支持。
- 提案程序(Proposal Procedure): 一个正式化的流程,允许社区发起创建新项目或提议关闭不活跃项目。这确保了生态系统对不断变化的需求的灵活性和适应性,从讨论到演示草案,再到寻求支持者。
- 维基孢子(Wikispore): 一个实验性平台,允许创建关于特定主题(例如艺术或传记)的小型专业维基。它是一种新想法和社区的孵化器,这些想法和社区可以发展成为成熟的项目,并提供无广告环境,这与同类平台不同。
- 研究: 维基媒体数据的规模和开放性使其成为社会学、语言学、数据科学和心理学等学术研究的理想平台。基金会积极支持这项研究,利用其发现来改进其平台并了解未来的发展方向,并发布论文和月度通讯。
- 外展计划(Outreach Programs): 旨在扩展代表性不足领域的内容、培训新参与者以及吸引专家创建和编辑文章的倡议,这有助于纠正项目中的主题不平衡。
核心要点:
- 维基媒体基金会依赖于一个复杂且文档齐全的自由及开源软件(FOSS)基础设施,通过Wikitech、Phabricator和Gerrit进行管理,确保了透明度并为外部贡献提供了机会。
- Toolforge(PaaS)、PAWS(Jupyter Notebook)和Cloud VPS(IaaS)等云平台为开发者提供了灵活的工具,用于创建实用程序、分析数据和部署定制解决方案。
- MediaWiki引擎及其扩展、模板、命名空间和详细的用户权限系统架构,构成了协作内容创建和有效管理的基础。
- 监管员系统确保了对数百个维基项目的全球行政监督和协调,维护了整个生态系统的稳定性和安全性。
- 维基媒体的活跃社区利用元维基、孵化器和正式化流程来开发新项目、进行研究并扩展知识覆盖范围,不断适应新的挑战。
— Editorial Team
暂无评论。