Page MenuHomePhabricator

GSoD 2024 Proposal: Complete the Transition and Organization of the Meta-Wiki Documentation
Closed, DeclinedPublic

Description

Personal Details

Name: Joannah Nanjekye
IRC Name: joannah
GitHub name: nanjekyejoannah
Email: jnanjekye@python.org
Blog: https://medium.com/@Captain_Joannah
CV Link: https://shorturl.at/vwyNT

Abstract

MediaWiki.org is the open source platform for Wikipedia, wikimedia projects and documentation and other projects. The project is open source and has attracted many users and contributors over time due its popularity as it is used by thousands of websites, companies, and organizations for collecting and organizing knowledge for convenient access by its users. MediaWiki documentation has evolved from the Meta-Wiki platform originally to the now official MediaWiki.org. However, the transition at the time of writing this document remains incomplete. The MediaWiki community is using this opportunity to complete the transition by consolidating any incomplete and duplicated documentation from Meta-Wiki, as well as reorganizing and updating any documentation that needs to remain on Meta-Wiki, to allow users to have a smooth experience when using MediaWiki to find the information they need.

Motivation

I have been an open source contributor since 2015, started as a Rails Girls Summer of Code intern, then got into outreachy in 2017 to work on Ceph, after which I started the process of becoming a Python core developer, which ended in a promotion in 2019. I am passionate about writing documentation and use the summer months to contribute to open source documentation projects. The MediaWiki project fits my description of useful open source software and being a technical writer for the project, will allow me to make a significant contribution to a diverse set of users, which includes thousands of websites, companies, and organizations. The big picture is for my work to be part of an effort that in the end helps with collecting and organizing knowledge to make it available to people that MediaWiki powers.

Project Details
Current Status of Documentation
Documentation on both Platforms is not up-to date because; 1) several pages that were supposed to be moved from the Meta-Wiki to MediaWiki.org need prior modifications due to licensing restrictions and remain unmoved as a result; 2) other pages are duplicated across the two platforms and; 3) genuine Meta-Wiki documentation on how MediaWiki is used on Wikimedia projects exists without good structure, hindering convenient access and maintainability.

Analysis and Verdict

I have taken about two weeks to assess the current state of documentation on the two platforms, and as mostly discussed in the project proposal, most of the work during the documentation period should focus on rewriting licensed Meta-Wiki pages, updating duplicated pages between the platforms and improving the structure of the remaining Meta-Wiki pages.

Licensed content from the Meta-Wiki needs rewriting after thorough analysis of the licenses. There is room for some restructure especially things like m:Help:Special*, and any other regrouping, subject to approval by other contributors and maintainers.

Towards consolidating duplicate content, for better maintainability, the focus should be to make referencing as self contained as it can be, while adding any missing information to the MediaWiki versions of the pages. This means this should happen after moving the licensed pages as well, to limit references to the Mata-Wiki as much as we can.

The pages like m:Help:How to start a new Wikipedia that have to remain on the Meta-Wiki, can be restructured, breaking them down to subsection links for easy access on first glance. Restructuring can also group topics like those related to users together.

These are preliminary ideas but I believe if hired, I will perform a full audit of the documentation, within the scope of the project concretely come up with a new structure for the documentation under Project:MediaWiki_documentation_on_Meta-Wiki/List#Actually_WMF-specific, as well as a transition approach for licensed documentation.

Timeline and Schedule of Deliverables

There are three major documentation tasks required for the consolidation and organization of the MediaWiki documentation:

  • Rewrite and move licensed pages
  • Update duplicate pages
  • Restructure Meta Pages

After carefully studying the provided timeline in the proposal, I decided that it matches my planning, so I will adopt it with a few modifications. Should any changes come up, they can be incorporated if communicated by the mentors. The table below details a tentative schedule of tasks on the project.

Key DatesTasks
Community Bonding
2 weeks (May 20 - June 1)Set up accounts, and orient to tools
Review project plan and determine the final scope of activities
Decide on communication channels and frequency
Install tooling and project setup
Documentation Development
Rewrite and move licensed pages
4 weeks (June 2 - June 29)Audit duplicated content on the Meta page
Write missing content needed for MediaWiki.org, and get feedback
Publish
Update duplicate pages
9 weeks (June 30 - August 31)Review pages and group into subject topics
Audit pages in each subject topic
Rewrite content following licensing policies, and get feedback
Publish
Restructure Meta Pages
5 weeks (September 1 - October 5)Review Wikimedia-specific content on Meta, including content in this category identified during phases 1 and 2 topics
Design an information architecture for this content
Get feedback
Implement changes to meta:Help
Project Finalization
3 weeks (October 6 - October 26)Identify and complete cleanup tasks
Identify follow-up work
Write a project report describing outcomes, learnings, best practices, and recommendations for future projects

Budget

The following is a breakdown of tasks and respective budget.

TaskBudget (USD)
Rewrite and move licensed pages4000
Update duplicate pages4000
Restructure Meta Pages4000
Total12000

Communication

I will be available by email and the project communication forum. I am also always available for a call on google meet, zoom, jitsi or any other tool of choice.

Specifications

  • I will be located in New Brunswick, Canada in the Atlantic time zone however, I am flexible as it is a matter of scheduling
  • I will keep track of the project status on GitHub and will write a bi-weekly blog on my progress. If there are any other platforms recommended by the mentors, I am flexible to adapt
  • I will discuss tasks and have meetings with mentors on the community forum and calls if required
  • I am eligible to work in Canada . I hold a student permit with a work allowance
  • I am eligible to work off campus too and have had a work term with my PHD funding company, IBM

Obligations

I am a PHD student waiting to defend my thesis, so I do not have pressing obligations. On September 23 - 27, I will travel to attend the Python core developer sprints.

Writing Experience

I have writing experience from authoring a book titled “Python 2 and 3 compatibility with Apress”. Authoring technical papers as a Computer Science Ph.D. candidate has also significantly improved my writing skills.

I am familiar with the open source workflow having been an avid contributor since 2016. I currently maintain upstream Python as a core developer.

Specific to the MediaWiki project, I have tried to acquaint myself with the contributor workflow, through observation.. I believe it involves steps like, before a page is improved, a contributor would have to make the changes on his or her sandbox page first, ask for reviews from maintainers of the community, get reviewed and then merged to the main namespace.

I have also participated in the following three previous rounds of Google Season of Docs, 2020, 2021, and 2022:

MicroPython Internals: https://developers.google.com/season-of-docs/docs/2020/participants/project-micropython-joannahnanjekye
SymPy: https://github.com/sympy/sympy/wiki/GSoD-2021-Case-Study
Geomstats: https://geomstats.github.io/gsod.html

The following is a selected summary of my other technical writing experience.

KindTitlePublisherURL
BookPython 2 and 3 Compatibility: With Six and Python-Future LibrariesApresshttps://www.amazon.ca/Python-Compatibility-Six-Python-Future-Libraries/dp/148422954
BookDeploying and Managing Python with KubernetesApressTo be released this year
PaperEclipse OMR garbage collection for tracing JIT-based virtual machinesACM
PaperThe Garbage Collection Cost For Meta-Tracing JIT-Based Dynamic LanguagesACM
PaperTowards Reliable Memory Management for Python Native ExtensionsACM
Defensive PatentType-Based Stores for Data Structure PolymorphismIP.COMhttps://priorart.ip.com/IPCOM/00274036D
Blog PostRunning a Python application on Kubernetesopensource.comhttps://opensource.com/article/18/1/running-pythonapplication-kubernetes
Blog PostRunning a Python application on KubernetesApresshttps://www.apress.com/gp/blog/all-blog-posts/running-a-python-application-on-kubernetes/15338678
Blog PostRuby in ContainersThe New Stackhttps://thenewstack.io/ruby-in-containers/

Other FoSS contributions

The following are relevant contributions I have made in open source. They are mostly code contributions with relevant documentation.

CPython
My area of expertise on Python is interpreters and the CAPI. I recently implemented PEP 554 for use in the test suite. I have authored several pull requests on the interpreter and runtime core.
https://github.com/python/cpython

Ceph
I contributed to Ceph during my summer internship with outreachy and worked on multi language testing for the rados gateway. I wrote tests to test the s3 interface for the gateway. I implemented test suites in golang and Java that have been forked by ceph and still being maintained.
https://github.com/nanjekyejoannah-zz/go_s3tests
https://github.com/nanjekyejoannah-zz/java_s3tests

PyPy
Pypy is an alternate implementation of the python language and features a GIT making programs using it to run faster. I have been adding missing posix attributes for pypy on its python 3.5 branch.
https://bitbucket.org/pypy/pypy/pull-requests/?state=MERGED&author=nanjekye
https://bitbucket.org/pypy/pypy/pull-requests/?state=OPEN&author=nanjekye

Also, my PHD thesis is mainly on PyPy.

Qutebrowser
I started contributing to open source on qutebrowser during Rails girls summer code and was able to make the contributions below for three months.
https://github.com/qutebrowser/qutebrowser/pulls?q=is%3Apr+is%3Aclosed+author%3Ananjekyejoannah-zz

Event Timeline

Hi @Jnanjekye, Thanks for your interest in Season of Docs! I don't have access to that document.

Thanks! I appreciate the research you've done into the documentation and the details you've provided about your experience. Can you move the content of your proposal out of the Google Doc and into the task description?

I can but it may take some time, please review as is if you can. I am traveling, but I can get the new version in tommorow morning when I arrive.

Jnanjekye updated the task description. (Show Details)

Thank you! I'm moving your proposal to the Reviewed column. We'll let you know on May 10 if we've selected your proposal.

Hi @Jnanjekye, Unfortunately, we haven’t selected your proposal for this year’s Season of Docs. We had so many great applications; it was a tough decision. We hope you’ll consider applying next year. If you’re interested in contributing to Wikimedia documentation as a volunteer, check out Documentation/Contribute. If you’d like more specific feedback on your proposal, feel free to send me an email at apaskulin@wikimedia.org. Thanks again for your interest!