This proposal consists of two parts: Abstract Wikipedia and Wikilambda.
The goal of Abstract Wikipedia is to let more people share in more knowledge in more languages. Abstract Wikipedia is an extension of Wikidata. In Abstract Wikipedia, people can create and maintain Wikipedia articles in a language-independent way. A Wikipedia in a language can translate this language-independent article into its language. Code does the translation.
Wikilambda is a new Wikimedia project that allows to create and maintain code. This is useful in many different ways. It provides a catalog of all kind of functions that anyone can call, write, maintain, and use. It also provides code that translates the language-independent article from Abstract Wikipedia into the language of a Wikipedia. This allows everyone to read the article in their language. Wikilambda will use knowledge about words and entities from Wikidata.
This will get us closer to a world where everyone can share in the sum of all knowledge.
Support and discussion
We don't really have an effective process for starting new projects, so I am trying to follow a similar path that we took for Wikidata back then. And back then it all started with Markus Krötzsch, me and others talking about the idea to anyone who would listen until everyone was bored of hearing it, trying out prototypes, and then talking about it even more, and improving all of it constantly based on your feedback. And then making increasingly concrete proposals until we managed to show some kind of consensus from the communities, you, and the Foundation to actually do it. And then, well, do it.
The goal is to show interest in making this goal a reality, and then go to the Board of Trustees and ask them to commit to this project (in rough strokes - the details of the proposal will be further adjusted with you). But in order for the Board to confidently agree, we need to show support for the project.
If you support the goals of this proposal, please express your support on the talk page.
Also discussions and reservations regarding the goal of the proposal or the project plan should be raised there.
Just as with Wikipedia and Wikidata and our other projects, this is a crazy idea at first. Maybe even more crazy than our other projects. And the only way there is a chance of us being successful is, if, eventually, thousands of us work together on it. The only way this worked in the past is by being open, start out collaboratively, discuss the path forward, and work towards creating the project together.
|Abstract Wikipedia and Wikilambda (working titles, to be decided by the community)|
|Status of the proposal|
|Status||submitted to WMF Board of Trustees|
|Details of the proposal|
|Project description||Many Wikipedia language editions have large gaps in knowledge. We want to close these gaps by allowing to create and maintain content in one place and allow the Wikipedias to use this content if they choose so. This will allow more people to create, maintain, and read more knowledge in more languages. In order to do this, we need to represent the content in a way that can be translated to many different natural languages. We do this by introducing a new project, Wikilambda, that allows to create, maintain, catalogue and evaluate functions as a new form of knowledge the communities work on. This will allow completely new use cases, and allow more people to share in more forms of knowledge.|
|Is it a multilingual wiki?||one multilingual wiki|
|Potential number of languages||multilingual, in the same way as Wikidata|
|Proposed tagline||Multilingual content for Wikipedia and a wiki for functions|
|Proposed URL||depends on the name the community chooses|
|New features to require||see technical plan|
|Development wiki||see technical plan|
|see talk page|
Background / supporting material / existing discussion
An article in the Signpost provides a more detailed introduction to the idea. The material below - research papers, videos of talks, prototype software - offers a lot of detail. A detailed draft plan for the development of Wikilambda is also available.
Wikimedia community discussions
- Discussion on Meta
- Signpost article on English Wikipedia - with discussion
- Kurier article on German Wikipedia - with a (mostly preceding!) discussion
- Discussion on wikimedia-l about the paper proposing Wikilambda and Abstract Wikipedia
- Discussion on wikidata mailing list
- Blog post on Wikimedia Space
- 2013 proposal on Meta and discussion
- Capturing meaning: Toward an abstract Wikipedia (short intro)
- CCC Blue Sky award for the paper (it won both the Jury and Audience awards)
- Architecture for a multilingual Wikipedia (technical aspects)
- Collaborating on the sum of all knowledge across languages (social aspects)
Videos and podcasts
Note that the two long videos are rather redundant to each other, and the short video is a short version of the long one.
- Short intro to Wikidata and Abstract Wikipedia idea (New York, 2019) (18 min)
- Keynote at SWAT4HCLS (Edinburgh, 2019) (56 min)
- Keynote at EMWCon (Daly City, 2019) (1:02h)
- "Between the Brackets" interview with Amir Aharoni, discussing Wikilambda and other topics, many related
- Summary: overview of the project plan
- Name: discussion on the name of the project
- Goals: what are we trying to achieve? Primary and secondary goals
- Organization: how the development team would be set up
- Requirements: overall conditions that the project needs to fulfill
- Architecture: an overview of how the project components would work together
- Components: individual software components the project needs to deliver
- Tasks: individual tasks that need to be done by the projects
Denny Vrandečić is founder of Wikidata, co-founder of Semantic MediaWiki, first administrator and bureaucrat of the Croatian Wikipedia, community-elected member of the Board of Trustees of the Wikimedia Foundation 2015–2016, and currently works as a researcher at Google.
Wikilambda is just a project name. One of the first tasks of the projects will be to come up with the communities with a name for the project and that is available as a domain name. Some options include Wikifunction, Wikicode, Wikialgorithm, but I am sure the community will have even better ideas.
Related projects / proposals
The following existing projects would be most affected by Wikilambda, but all Wikimedia Projects will be able to call functions in Wikilambda.
- Wikidata - suggested to store abstract Content in Wikidata next to the item pages
- Wikipedia - suggested to allow to display Content from Wikidata for missing articles
There are numerous proposals that cover aspects of Wikilambda and that have been made over the years (going back to 2001). The large number of related proposals is another indicator of the wish to get this done. In this proposal we aim to extract the common goals and learn from the other proposals:
Proposals for repositories of modules, templates, and other code
- Global templates - a proposal with some overlapping goals
- Wikitemplates - similar to the Global templates proposal above
- Global-Wiki - the parts regarding global templates and modules
- WikiApps - provide access to functions and algorithms
- WikiAI - a repository for ML models
Proposals for linguistic projects
- Wikilanguage - linguist knowledge needs to be recorded in Wikilambda beyond Wiktionary
- Girgit - may be developed in Wikilambda
- Wikilinguistica - information about syntax and grammar etc.
- Wikidioma - information about agreement and declinations etc.
- Wikipedia Virtual Mind - could be implemented with Wikilambda
Proposals for structured data access projects
- WikiSandy - index Wikipedia content semantically
- Konsciajxo - seems almost the same idea, but goes well beyond that
- WikiCode - pretty much the same idea
- Wikibot - give access to content in Wikipedia
Proposals for collections of knowledge about math and other sciences
- WikiDerivations - capture scientific models and their relations
- Wikimath - a wiki that can do math
- DRMF - capture mathematical formulas
- Wikimedia Pi Abacus - calculation
- WikiProves - capture theorems, lemmas, and relate them to each other
- WikiTeched - providing an IDE for developing etc.
- EncycloPDia - computational knowledge engine
- WikiCalculator - implementable in Wikilambda
Depends on the name.