Outreachy/Round 6

Wikimedia is participating in the Free and Open Source Outreach Program for Women 2013. Several paid internship positions for 3 months projects are available for women willing to develop open source projects related to Wikimedia or other participant organizations.

Below you have more details specific to the Wikimedia projects and mentors. You can find general information about the program (like deadlines!) in the official site.

About Wikimedia
Wikimedia is a global movement whose mission is to bring free educational content to the world. Through various projects, chapters, and the support structure of the non-profit Wikimedia Foundation, Wikimedia strives to bring about a world in which every single human being can freely share in the sum of all knowledge.

If you are a technical woman then we probably have an activity interesting for you. All our software projects are open and free. You probably know Wikipedia, and there is more. MediaWiki is a powerful wiki engine used by Wikimedia websites and hundreds of projects out there. We also run projects related with server infrastructure, automated testing, mobile, internationalization, user experience... The main programming languages used are PHP, Javascript and HTML/CSS.

Get in touch
If you're interested in participating you can reach to us with questions and suggestions. We are happy to help finding a good project for you!
 * Join the wikitech-l technical mailing list.
 * Drop in on our #mediawiki chat channel.
 * If you prefer, you can contact directly qgil AT wikimedia DOT org (qgil on IRC).

Intro tasks
As part of your application, you'll be making a small contribution to our project. This might be fixing one of our annoying little bugs, writing a summary of a few days on the developers' mailing list, checking whether a bug reported in the bugtracker is reproducible, or something like that. More details coming soon!

Possible projects
These are some drafts for possible projects, split into categories.

Programming
If you're a programmer, we have lots of things for you to do. (To do: copy some relevant ideas from http://socialcoding4good.org/organizations/wikimedia )

Write an extension for pulling files from a git repository
This is a project suggested by the good folks at the W3C. We'd like to write an extension that would accomplish most of the features offered by large pastebin websites, with the added bonus of being able to add code to a wiki page without copying and pasting! This would be really great, especially for MediaWiki.org (this website), where a lot of code examples are copied from existing git repositories. It might also be useful to include an (optional) feature that allowed creating and hosting git repositories on the wiki, but that might be more complicated, or perhaps a different project altogether. But the extension itself would be plenty.

Things you might need to know (but of course aren't required to): Git, PHP, JavaScript, HTML, wiki syntax.

This project idea contributed by MarkTraceur (talk) 22:29, 13 November 2012 (UTC) (a mentor)

Add and polish features in Extension:EtherEditor
This is a project to enable real-time collaborative editing in MediaWiki. It's actually pretty mature now, but it could use some fixing up, especially since it's lain dormant for a few months while User:MarkTraceur was working on other projects! In particular, hunting bugs on the bug tracker and polishing the UI would be very useful, and a great way to learn how to work with MediaWiki extensions.

Things you might need to know (but of course aren't required to): PHP, JavaScript, jQuery, node.js, Etherpad, wiki syntax.

This project idea contributed by MarkTraceur (talk) 22:29, 13 November 2012 (UTC) (a mentor)

Work on backlogged bugs in Extension:UploadWizard
The UploadWizard project is an extension to MediaWiki that focuses on enabling users to more easily upload between 3 and 50 photos at a time. The project is primarily deployed on Commons, and is written mostly in JavaScript.

Things we could work on: Making the interface (even) more friendly, fixing bugs, adding integration with other media-sharing platforms (Flickr was just added, but MediaGoblin or raw URL might be useful), and much much more.

Things you might need to know (but of course aren't required to): JavaScript, jQuery

This project idea contributed by MarkTraceur (talk) 22:29, 13 November 2012 (UTC) (a mentor)

Create a VisualEditor module
VisualEditor is a key part of Wikimedia Engineering's work in 2012/13, creating a rich visual editor for all users of MediaWiki so they don't have to know wikitext or HTML. Your creation of a module to bring additional functions to the in-progress would help more potential users make better or richer content. If you have a favourite editor feature that you want VisualEditor to have - video insertion, syntax highlighting for wikitext fly-outs, pulling in arbitrary Wikidata content, whatever! - you could help make it even more useful for everyone.

Things you might need to know (but of course aren't required to): JavaScript, jQuery, HTML5.

This project idea contributed by Jdforrester (WMF) (talk) 23:59, 13 November 2012 (UTC) (a mentor).

[generic] Create an extension
Creating extensions to MediaWiki is a great way to make it better. It contributes something new and cool to the community, and the Wikimedia sites (including Wikipedia!) might even decide to deploy your software, if it's really neat.

If you have some great idea for a feature that MediaWiki doesn't have, an extension is almost surely the way to work on it. This is a very open-ended project idea. There are also many extensions requests for extensions in the bugtracker, but first get an opinion of MediaWiki developers to make sure that the request makes sense.

Things you might need to know, depending on the extension you want to write: PHP, JavaScript, jQuery, wiki syntax.

This project idea contributed by MarkTraceur (talk) 22:29, 13 November 2012 (UTC) (a mentor)

Communications

 * Writing a weekly summary of the important patchsets that have been committed or merged into our source control system, possibly for use in the weekly Signpost
 * Writing an overview of our Operations (systems administration) infrastructure
 * Interviewing developers about important and hard-to-understand components and making videos about them

System administration
You're amazing if you want to help run our huge infrastructure. We have some ideas.

Debianize, puppetize, and deploy Etherpad Lite
Etherpad Lite is a complete overhaul of the old Etherpad system of yore. While great, and free software, Etherpad "Classic" is about 10 times as heavy as Etherpad Lite. We would really love to use the new version as our primary way of collaborating in real-time, but there are a bunch of things that need to be done first. We need to make sure a Debian package is available, so we can run it on our servers. We also need to make sure that we can do proper load balancing on it, which can be complicated with Etherpad Lite. Then, we need to write a Puppet manifest and actually do some deploys of it, to make sure everything goes all right.

Things you might need to know: Puppet, Debian packaging, command line.

This project was suggested by MarkTraceur (talk) 01:42, 14 November 2012 (UTC) (a mentor)

Other
If there are projects that don't fall into any category, this is where they should go. Feel free to add new categories, but if you can't think of a name for a category that would fit your project proposal, put it here!

Mentors
Signed-up mentors
 * 1) Andre Klapper for bug report triaging
 * 2) MarkTraceur (talk) (via personal communication)
 * 3) Dereckson
 * 4) Jdforrester (WMF) (talk)
 * 5) Amir E. Aharoni (talk)
 * 6) Sharihareswara (WMF) (talk) 19:05, 13 November 2012 (UTC)

Org admin
 * 1) Quim Gil

Motivation
This initiative is suitable for the Wikimedia community because:


 * We'll make strong connections with a few talented people who will stick around
 * We can encourage people to work on testing, design, documentation, marketing, and other areas as well as code
 * It's a proven method for increasing the number and proportion of women in an open source community
 * Interns don't need to be students, so we're more accepting of age diversity
 * Instead of making newbies write fixed proposals with schedules, internships can follow broader charters and flex to accommodate students' interests and abilities