Abstract Wikipedia team

The Abstract Wikipedia team is part of the Product and Technology department at Wikimedia Foundation. Our purpose is to help the Wikimedia movement in its work to better support, include, and provide access to languages, communities, and cultures across the world.

Most content about the team's work is covered in the Abstract Wikipedia pages on meta.

Mission

edit

The ultimate objective of the Abstract Wikipedia effort is to make knowledge more accessible and usable for everyone, regardless of their language or background.

Vision

edit

To do this, we are building a platform and systems for creating articles generated through community-run tools from shared structured data that will spread more efficient and collaborative content creation and translation across Wikipedia languages.

Our first goal is to provide the multi-lingual, scalable, reliable platform on which all our other work will depend: Wikifunctions. Wikifunctions will be the core mechanism that lets the Wikimedia communities share a new form of knowledge, functions. These will empower each community to use tools like those previously mostly available to more resourced languages. Through building an inclusive, welcoming, sustainable focus for the movement's technical work, more communities will benefit both for now and in the long term. Wikifunctions is powered by the WikiLambda extension.

Our longer-term goal is Abstract Wikipedia, a project to use Wikifunctions combined with a common flexible, language-independent framework for representing the structured data and abstract concepts that are present in Wikipedia articles, which would enable easier cross-lingual collaboration and reduce the duplication of effort currently required to create and maintain separate language versions of Wikipedia. This will allow for the creation of new types of content, such as machine-generated articles, and enable easier integration with other platforms and tools.

Team

edit

The Abstract Wikipedia team is a collaborative group working together to build a system that enables language-independent knowledge creation. Our team encourages open discussions and shared decision-making.

Here you can find a list of our team members, their roles, and areas of expertise of our team:

Product

edit

Engineering

edit

Meeting Plan

edit

Regular team meetings help us stay aligned, collaborate effectively, and address challenges together. Meeting notes and agendas are documented in our Meetings plan for transparency and easy reference.

The Abstract Wikipedia team runs a 45-minute retrospective every two weeks to reflect on what went well, what needs improving, and give each other shoutouts and props. The goal is to maintain engagement and understanding, and to continuously improve our culture and product development processes.

Chores

edit

To maintain system stability and ensure a well-functioning development environment, our team shares responsibility for engineering chores—recurring tasks that keep our infrastructure, codebase, and workflows in good shape. These include monitoring and addressing technical debt, improving test coverage, reviewing and updating documentation, maintaining observability tools, and handling infrastructure upkeep. Engineers rotate through these tasks to ensure an even distribution of workload and to provide everyone with a deeper understanding of our system.

Product Development Process

edit

The Abstract Wikipedia team plans work on a quarterly basis. Our Product Development Process defines how we plan, make decisions, and manage projects. We strive for a robust development process so our team can be more resilient, and we can ship more predictably. We continuously iterate on these processes as we learn.

Our workflow begins with work estimation, where we assess the complexity and effort required for tasks. You can find details on our approach in the Work Estimation Guide.

Finally, to ensure that completed work meets our standards before it is considered finished we maintain a clear Definition of Done.

To measure our progress and impact, we align our work with Objectives and Key Results (OKRs) and track our achievements using our OKR Scoring Framework.

Roadmap

edit

Our planned deliverables for the year support the following strategic goals:

Technical Foundation Build Community Prepare for Scale
Wikifunctions powers a library of functions that will enable Abstract Wikipedia to generate language-independent articles into any language. Enable a new community to create, curate, and maintain functions that are widely useful, to unlock new capabilities critical to the development of Abstract Wikipedia. Integration with Wikipedia and Wikidata is key to achieving broad, real-life applications for filling knowledge gaps.

Workflow

edit

We track our work using Phabricator, following a structured approach for task creation, prioritization, and status updates. To ensure consistency, we adhere to our Phabricator Style Guide.

New to the team

edit

Engineering Onboarding

edit

This section will guide you through key technical aspects of our system, helping you get up to speed quickly.

Team Architecture

edit

Understanding the architecture of Abstract Wikipedia is essential for contributing effectively. We encourage new engineers to review our Architecture Overview to familiarize themselves with our core components, services, and dependencies.

Observability

edit

Maintaining a high level of observability is crucial for monitoring system health, debugging issues, and ensuring smooth operations. Our team relies on a combination of logging, metrics, and tracing tools to gain insights into system performance and behavior. New team members should explore our Observability Guide to understand how to access and interpret these insights.

Runbooks

edit

We maintain a collection of runbooks—structured guides that outline common operational tasks, troubleshooting steps, and incident response procedures. New team members should familiarize themselves with our Runbook Repository and contribute updates when needed to keep them relevant and up to date.

Testing Status

edit

Testing is an integral part of our development process to maintain code quality and system stability. New engineers are encouraged to review this and follow our Testing Guidelines when writing and reviewing code.

Git Workflow

edit

At the Abstract Wikipedia team we have implemented a code-review workflow called "Mode eyes on code review" to ensure that at least two team members get to review one patch before it's merged. The goal of this system is to help with knowledge sharing, help navigate delicate areas of the code, and resolve some conflicts between author and first reviewer by adding a third party. Detailed guidelines can be found in our Git Workflow Guide.

Versioning

edit

Wikifunctions follows a versioning approach that differs the versioning that Wikimedia uses.

Team Culture

edit

We are a team, distributed around the world, who mostly interact through online meetings, asynchronous communication channels, working alone or in pairs, reviewing each other’s work, and communicating externally with other teams, communities, and the media.

We share principles to guide our communication, such as avoiding assumptions, building a culture that encourages good behavior, and leading with empathy.

Our team values honesty, transparency, respect, and fairness in our communication, and will work to provide context, avoid making assumptions, and communicate clearly and empathetically while reviewing each other’s ideas, concerns, suggestions, and other work.

We also seek to recognise and respect our colleagues’ communication preferences and acknowledge their differences, such as culture and language.

Main page: Team Culture

Keep in touch

edit

Subscribe to our Abstract Wikipedia Public Mailing List to stay informed about the latest developments in Abstract Wikipedia and Wikifunctions. Join the discussion, get updates on new features, and connect with the community. Sign up here!