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 24/7 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 a widget or extension for pulling files from a git repository
This is a project suggested by the good folks at the W3C. We could use a widget (powered by Extension:Widgets) to accomplish most of the features offered by large pastebin websites, with the added bonus of being able to add code to a 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 extension for MediaWiki that allowed creating and hosting git repositories, but that might be more complicated, or perhaps a different project altogether. But the widget itself would be plenty. It might also be necessary to add an extension to allow the functionality we need, but that's a different question altogether. We can always explore possibilities as we go.

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)

[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 requests&product=MediaWiki 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.

Other
If there are projects that don't fall into a real 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