It’s important to grow and nurture your open source community. Find out how Wikimedia does it.
In a previous article, I wrote about Wikipedia’s rich history as a repository of open knowledge. Supporting Wikipedia as a platform ensures that the information it contains is available to everyone, but it’s a big job. In this article, I’m going to introduce you to the vastness of Wikipedia’s technology landscape and the technical community behind it. I’ll examine the role of developer advocacy in supporting the technical community through dedicated open source software mentoring programs and events, awards and ceremonies, grants and partnerships, a developer portal, and more. This helps us engage with volunteer developers using the technology behind Wikipedia and its sister projects. Through this article, you’ll understand what developer advocacy can look like for a nonprofit organization, and gather new ideas for building stronger developer communities.
Advocacy for Wikimedia Developers
Broadly, advocacy for developers means “being the voice of developers”. It’s about advocating for their needs and offering them the necessary support to be successful. This could be in the form of resources, helping build essential technical skills, and sharing ideas for projects and tasks where they can best contribute. Overall, it means enabling a healthy environment where they can be their best productive selves.
It is essentially taking them through the open source contributor funnel (users > contributors > maintainers), and supporting them in every phase. In the case of Wikimedia, developer advocacy is also about liaising between developers and the broader movement (staff and non-staff) and helping build relationships between the two.
A good return on investment (ROI) for developer advocacy in open source organizations like Wikimedia is based on a thriving technical community. We don’t sell or market to our developers. Many “developer-first” for-profit organizations rely on developers consuming their products or services as a primary market. At Wikipedia and in much of open source, a happy new contributor is one who makes contributions that bring significant impact to the technical ecosystem, feels a sense of identity and belonging within the community, and also ends up staying in the community. This is a paramount requirement for open source software projects like Wikipedia, and the project’s life depends on Developers and Developer Advocates working synchronously.
This impact feeds into an improved experience for the Wikimedia editors using the software, which ultimately helps them contribute to the organization’s mission of developing free educational content for the world with increased activity and ease of use. Developer advocacy plays a crucial role in Wikimedia, so now I’ll address how that’s expressed through action. These approaches may be an inspiration for your own open source projects, and they may help sustain your project and your community.
Initiatives around developer advocacy
Wikimedia has a dedicated Technical Engagement team of 16 people. It’s heavily focused on advocacy work for developers and supporting the technical community. In addition, several initiatives are ongoing in the community around the world to help local developers and connect them with the global community. Though there are countless initiatives to engage volunteer developers in Wikimedia software projects, primarily in the last decade, this section looks at the ten most popular or currently active initiatives.
Open source outreach and mentoring programs
In the open source world, the Google Summer of Code (run by Google) and Outreachy (run by Software Freedom Conservancy) are two widely known outreach and mentoring programs that introduce open source software development to new contributors. Outreachy in particular encourages participation from individuals belonging to marginalized groups underrepresented in the global tech space, and aims to foster diversity in tech. Both programs have been operating for over fifteen years, in which many open source organizations participate.
Wikimedia participates in both programs every year and has onboarded hundreds of contributors to their projects through these internships. The majority of them are now part of software projects used by the broader community. There are also successful examples of participants turning into long-term contributors, maintainers of projects, and those who continue to make meaningful contributions to not just Wikimedia, but the broader open source communities, as well as playing leading roles in them.
Wikimedia’s community thrives on numerous partnerships with the outside world to unlock free knowledge. While resources and bandwidth of the technical contributors are limited, Wikimedia’s tech community welcomes new partnerships and has collaborated with several initiatives and projects that align with the organization’s mission. Over the years, such collaborations have been instrumental in expanding the contributor base, fostering innovation for a better world, and encouraging and promoting the use of its open source ecosystem.
An ongoing initiative is a partnership with Google.org’s fellowship for their Abstract Wikipedia project. Abstract Wikipedia makes it possible for people to share more knowledge in more languages by helping create language-independent articles with a new platform and a supportive community at a new top level Wikimedia project, Wikifunctions. Through this fellowship, nine Google employees are offering their pro-bono technical services to the project to speed up its development and growth.
In the past, there have also been efforts to foster collaborations with academia through organizations like POSSE. This provides universities and professors with professional development resources to encourage teaching with open source projects and engaging students in contributing to them.
Historically Wikimedia has funded several grants to its community members to support their work in amplifying the movement’s vision with their communities and mission-aligned organizations worldwide to promote knowledge equity and foster collaboration and cross-cultural exchange. There are different types and sizes of funding available. Typically in the technical landscape, grants are available for people to enhance the existing technology or develop new tools to support the Wikimedia projects, organize and participate in local technology meetups or Hackathons in their communities, and so on. A dedicated accelerator program called Unlock Accelerator also promotes open innovation for technology solutions and provides training throughout the program to help participants achieve their goals.
In open source organizations and projects, community members play a crucial role in shaping them. Volunteers join these communities for intrinsic motivation factors, and there aren’t any tangible benefits that are driving them. Despite this, recognition helps build a culture of appreciation, contributes to the community members’ well-being, gives them a sense of belonging, and can strengthen their commitment to the community’s mission. There are several initiatives in Wikimedia’s broader community, particularly in the technical community. A popular initiative called the Coolest Tool Award selects the top ten tools yearly, developed by volunteers. Nominations come from the community in various categories (newcomer, editor, developer, and so on). The award is unique, and is given in a typical wiki-style: The tool’s wiki page that has received an award is edited live and updated with an award template during the ceremony!
Other forms of recognition are giving swag, posting badges on talk pages, and sending thank you for edits made to a technical article using a wiki feature that community members often use to appreciate one another’s work.
Community capacity building
Wikimedia software developers come from all walks of life with diverse skill sets. Some are working professionals, some are university students, and some are working full-time with different chapters and user groups part of Wikimedia. They have varying learning needs and motivation to grow their skills. The capacity-building programs in the technical spaces focus primarily on volunteer developers at a beginner or intermediate level, regarding skills needed to contribute to specialized areas. They’re interested in contributing to Wikimedia’s core technical projects or improving existing technical workflows on their local wikis to meet specific use cases of the community. For instance, a contributor might be suited for help in administering the site, or dealing with vandalism, or configuring bots or user scripts, or something else.
Small wiki toolkits is a global initiative that focuses on building capacity among community members of smaller language wikis by running technical workshops on various topics, developing toolkits, and building a network of individuals from these communities so they can help each other. These efforts are aimed at enabling learners to gain essential skills and potential trainers to benefit from the resources and ultimately help grow content on their wikis. Several local initiatives operate with the same intention in communities worldwide. For example, developers in India run IndicTechCom, an initiative to address the local needs of editors in their communities by implementing technical solutions.
Wikimedia’s technical ecosystem is massive. Every project follows its own set of contribution guidelines, norms, and channels for communication. As many Wikimedia technical projects and communities are decentralized, it can sometimes be overwhelming for people to look for ways to start, to approach fellow community members, and to even ask for technical support. Despite this, there are a few centralized systems that most projects rely on for various forms of collaboration, including:
- Phabricator for issue tracking
- Gerrit for code collaboration
- IRC channels
- Mailing lists and talk pages for project-related discussions
- Wikis for project documentation
These are the venues where staff and community members offer technical support and have co-established communication norms to interact with others and the broader community. For example, we suggest everyone communicate in the open whenever possible, to do prior research before asking a question, to use inclusive language, and to be patient while waiting for code reviews, and so on.
Platform and services
Platforms and services within the technical ecosystem act as a fuel for innovation and productivity for the work of thousands of developers. Wikimedia provides cloud services infrastructure at no cost to its developers to host, run, and maintain their tools with dedicated technical support through help of technical teams. This cloud infrastructure is built upon OpenStack and Kubernetes. We’ve had, as of this writing, about 1500 users leveraging these services.
The cloud engineers supporting this essential infrastructure keep the services running, ensure they are up to date with the latest technologies, and provide their best efforts to support the community.
Wikimedia makes its API and datasets available for public use for research and development. Developers can leverage the Wikimedia API to interact with the Wikimedia sites and obtain essential access to features to search, create and modify content. APIs have enabled Wikimedia and its third-party developers to build tools with compelling use cases, such as real-time visualization of edits made to Wikipedia and dashboards exploring gender diversity in Wikimedia projects. Big tech organizations rely heavily on these APIs. Amazon’s Alexa pulls information from Wikipedia. Facebook uses it to fight misinformation. Google uses it to improve search results.
A new project, “Wikimedia Enterprise,” makes commercial-grade APIs available to bigger commercial content users for consuming data at a large scale as a paid service.
Community metrics and health
Community metrics are crucial to understand and communicate developer contributions, the impact of the projects and programs targeted toward community, and its overall health. Wikimedia uses CHAOSS’s GrimoireLab analytics tool to track contributions and activities in various collaboration and communication venues. This gives insights such as how many issues are filed and resolved, how many changesets are submitted and reviewed, which project receives most contributions, which individuals and organizations contribute, and so on.
Often quantitative data gives birth to qualitative information gathering. It’s inspired research studies such as low retention rates of developers to understand their motivations for joining the project, why they choose to stay, what challenges they face, and why they leave. The tool allows writing custom queries to fetch various kinds of data. It is available to anyone in the community to obtain specific project metrics and analyze them as per their needs.
Hackathons and events
Though most of the work happens online, Wikimedia’s local and global communities meet through Hackathons and technical events for in-person collaboration, knowledge exchange, and getting to know each other. Global annual Hackathons take place twice a year and several local events throughout the year. During these events, people get together to hack on projects under a specific focus area and get feedback on their work in the form of code reviews from others and brainstorm on new ideas. Newcomers in the geographic area join in to understand how they can get involved. There are sessions and workshops oriented to teaching a specific skill and a final showcase in which they present what they have accomplished during the Hackathon.
For us, Hackathons have been some of the most successful developer advocacy-assisted activities for open source projects.
For a new developer trying to join a Wikimedia project, navigating through this giant and complex technical environment to understand where they might fit best can be quite challenging initially. Wikimedia’s recent developer portal ensures a smooth first interaction and experience with the community and brings all the resources under one roof. New and existing developers can use the portal to understand various technical areas and processes to contribute to numerous projects, browse them by programming languages and explore demo apps, discover and share tools, learn how to develop them, learn about the community, and so on.
Developer advocacy has emerged as a key field in tech in the last decade and evolved significantly, despite there being fewer resources around it and more so for open source projects than for-profit tech companies. I hope this article gives you a window into how one of the largest open source communities welcomes and supports its technical volunteers through various initiatives and new ideas to implement in your developer communities.
Are you interested in joining Wikimedia’s technical community? Explore the resources here and learn how to get involved: developer.wikimedia.org.
By: Srishti Sethi
Originally published at Opensource