Google Summer of Code/2013

Join our meetup: GSoC and other open source internship programs 2013-04-12 00:00 UTC / 2013-04-11 17:00 PDT - San Francisco, CA, USA + video stream + IRC We are working in a proposal to participate again at Google Summer of Code. GSOC is the most popular among the open source mentorship programs where we get involved. You can find more information, FAQs and tutorials for students, mentors and org admins in the official website.

Now we are working on the project ideas in order to submit the application as Wikimedia Foundation. The deadline is March 29, but we want to submit it before. Help is welcome, especially from potential mentors!

Be part of something big
We believe that knowledge should be free for every human being. We prioritize efforts that empower disadvantaged and underrepresented communities, and that help overcome barriers to participation. We believe in mass collaboration, diversity and consensus building to achieve our goals.

Wikipedia has become the fifth most-visited site in the world, used by more than 400 million people every month in more than 270 languages. We have other content projects including Wikimedia Commons, Wikidata and the most recent one, Wikivoyage. We also maintain the MediaWiki engine and a wide collection of open source software projects around it.

But there is much more we can do: stabilize infrastructure, increase participation, improve quality, increase reach, encourage innovation.

You can help to these goals in many ways. Below you have some ideas with a good fit for GSOC.

Project ideas

 * We are working on them. Your feedback is welcome.

Below you can find a list of ideas that already have gone through a reality check and have mentors confirmed. You can find more suggestions in our raw list of possible projects.

Guidelines for project ideas:


 * Opportunity: YES to projects responding to generic or specific needs. YES to provocative ideas. NO to variations of existing features.
 * Community: YES to projects encouraging community involvement and maintenance. NO to projects done in a closet that won't survive without you.
 * Deployment: YES to projects that you can deploy. YES to projects where you are in sync with the maintainers. NO to projects relying on the maintainers' acceptance.
 * MediaWiki != Wikipedia: YES to generic MediaWiki projects. YES to projects already backed by a Wikimedia community. NO to projects relying on Wikipedia's acceptance.
 * Free content: YES to use, remix and contribute Wikimedia content. Yes to any content with free license. NO to proprietary content.
 * Free API: YES to the MediaWiki API. Yes to any APIs powered with free software. NO to proprietary APIs.

Reuse / Remix / Contribute to Wikimedia content
The Wikimedia community maintains millions of articles, media files and data that anybody (including your software) can download, share, modify, remix. We offer a MediaWiki API to interact with this content in the Wikimedia servers. An API that is also available in most MediaWiki based sites.

We welcome projects aiming to get this content to the people that need it most. Projects converting regular users in contributors to the Wikimedia pool of free knowlege. Projects categorizing, connecting or remixing this content and obtaining better or simply unexpected results. Surprise us!

We also welcome improvements to the API, enabling the enablers. Localized errors and warnings, RESTful style Content API and API versioning are some of the features waiting for a developer in our API roadmap.

Skills: depends on your project, but understanding PHP will be good in any case.

Mentors: Yurik Astrakhan as default. Others might be available depending on your project.

VisualEditor plugins
VisualEditor is a rich visual editor for all users of MediaWiki so they don't have to know wikitext or HTML to contribute well formatted content. It is our top priority and you can already test it at the English Wikipedia. While we focus on the core functionality, you could write a plugin to extend it, for instance with syntax higlighting, or insertion of video or Wikidata content. There are also many possibilities to increase the types of content supported, including sheet music, source code, poems, timelines…

Skills: HTML / JavaScript / jQuery development is required. A good grasp of UX / Web design will make a difference.

Mentors: James Forrester.

Wikidata features
Wikidata is a free knowledge base that can be read and edited by humans and machines alike. If you understand the difference between plain text and data you will understand that this project is Wikipedia's Game-changer. The conversion from text to Wikidata content fields has started in Wikipedia and sister projects and continues diving deeper, but there is still a lot to do!

The Wikidata team welcomes your suggestions and provides you with some ideas.

Entity Suggester
Wikidata, and specifically the Wikibase extension, could be a lot smarter than it is right now e.g. by suggesting fields to fill and probable values. For example: when an editor edits an item about a person that is still missing the date of birth, this should be suggested as a possible property. Or when the editor is entering the sex of the person, Wikidata should be smart and suggest the ones that are used most for these properties first. Think of it as something very similar to the famous "people who bought x also bought y" systems.

3rd party client
Currently the Wikidata client is only set up to directly serve data to the Wikimedia projects. The goal of this project is to also allow 3rd party clients to consume Wikidata data in the same way. For example, it is missing propagation of changes to clients out of the Wikimedia cluster, so they would show up in the watchlist and recent changes of the 3rd party MediaWiki sites.

Mentors: Wikidata team available. Lydia Pintscher is provisionally acting as proxy.

Mobilize Wikidata
Wikimedia sites use the MobileFrontend extension to render automatically a mobile UI on mobile devices. We haven't enabled a mobile view for Wikidata yet. While MobileFrontend focuses on rendering articles, Wikidata pages are quite special: they are basically made out of grids of  elements and tables containing text values. We need to agree on solution and implement it. Bonus point: can you implement an effective way to edit data fields from a mobile device?

Skills: PHP, Javascript, HTML. Experience developing mobile UIs will save you a lot of unsuspected headaches.

Automatic category redirects
This is one of the oldest and most voted MediaWiki feature requests. MediaWiki has a feature called redirects where one page can redirect to another. However they do not work for categories. In the ideal system, if Category A redirects to B, and someone puts page foo in category A, then the page should show up in category B. If Someone changes Category A to redirect to Category C, all the pages put in category C have to have their links moved from Category A to Category B.

This project would involve several of the "core" components of core MediaWiki including the, the database schema, and class. However it is quite self contained. This project would also be quite beneficial to several wiki projects, especially multilingual projects like Wikimedia Commons.

Skills: PHP. SQL would be helpful.

Mentors: Brian Wolff.

Incremental data dumps
We offer data dumps of Wikipedia and other Wikimedia projects, allowing people to access to this knowledge where Internet connection is impractical, very costly or non-existent. The dumps for the larger projects are only getting larger i.e. 40GB for English Wikipedia. What is more, the update a month later will be another 40GB or more. In fact, only a small subset of that information is actually changed in the form of new pages, new revisions, or deleted revisions. Imagine if users of these files could download just the changes, plus a script that applied the changes. Imagine if the dumps could be written out using the previous month's dumps with such a scheme. Imagine running the German language Wikipedia dumps in 3 days instead of the current 16. This could be achieved by designing the right output format for the XML files containing text for all revisions.

Skills: XML, a scripting language such as Python or Perl

Mentors: ArielGlenn.

Prototyping inline comments
Editor engagement is a top priority that we are addressing with several projects. You could help by prototyping one that we would like to see working in MediaWiki: inline comments. Imagine: a user lands in a Wikipedia article, selects one sentence and leaves an inline comment that others can optionally read and reply to. Check this historical example. It would help people make useful comments about specific parts of articles, as part of collaborative work. This feature could fit perfectly with the purpose of a wiki. Be the one trying out.

Skills: Javascript, PHP, MySQL. UI design skills are also useful although not required to build a technically solid prototype.

Mentor: Matt Flaschen.

Allowing 3rd party wiki editors to run more CSS features
The 3rd party CSS extension allows editors to style wiki pages just by editing them with CSS properties. It could be more powerful if we find a good balance between features and security. Currently this extension relies on basic blacklisting functionality in MediaWiki core to prevent cross-site scripting. It would be great if a proper CSS parser was integrated and a set of whitelists implemented.

Additionally, the current implementation uses data URIs and falls back to JavaScript when the browser doesn't support them. It would be a great improvement if the MediaWikiPerformAction (or similar) hook was used to serve the CSS content instead. This would allow the CSS to be more cleanly cached and reduce or eliminate the need for JavaScript and special CSS escaping.

Skills: PHP, CSS, JavaScript, web application security.

Mentors: Rusty Burchfield.

Mentors
Introduce yourself and your interests in one sentence. Your signature and updated user page are assumed. :) See also the DOs and DON’Ts - Mentor Edition.


 * I'm offering to mentor Wikimedia Commons related projects. I'm also available for a more generic project for a student who comes from another language and would like to learn PHP / improve PHP skills. --Dereckson (talk) 21:46, 20 January 2013 (UTC)
 * I would like to mentor browser test automation project. For more information please see Mentorship_programs/Possible_projects page. --Zeljko.filipin(WMF) (talk) 20:44, 11 February 2013 (UTC)
 * Raylton P. Sousa (talk) Interested in stuff relating to sister [non-wikipedia] projects (or maybe generic things like this and this)
 * Particularly interested in any project where the student is a member of the relevant community the project is targeting, and the student came up with the project him/her-self to fix a problem that they are actually encountering. Bawolff (talk) 19:29, 14 February 2013 (UTC)
 * I'm involved with both Semantic MediaWiki and Wikidata and willing to mentor interesting projects related to either. I prefer to mentor students who already have a decent background with doing development work --Jeroen De Dauw (talk) 17:57, 18 February 2013 (UTC)
 * 'Available for helping with the student selection process, available as a mentor if really needed. I'm not really a developer, but I have a little experience in working with them. --siebrand (talk) 02:07, 21 March 2013 (UTC)
 * Willing to mentor. --Yurik (talk) 13:10, 22 March 2013 (UTC)
 * I'm available to mentor the E:CSS, E:UploadWizard, the XML sitemaps extension, automatic category redirects, and/or E:OEmbed*. Which one I do I'll leave up to somebody who has a better idea of which projects WMF would prefer. Depending on the time commitment involved, I may be able to mentor more than one project. Parent5446 (talk) 18:27, 25 March 2013 (UTC)
 * Rusty Burchfield is willing to mentor.
 * I'd love to work with anyone on Parsoid, Extension:UploadWizard, Extension:EtherEditor, or any new extensions or modifications to existing ones. My favourite work is in JavaScript, but I'll also dabble in core modifications and PHP changes when necessary, and I've played with unit testing and our CI infrastructure at least a little. --MarkTraceur (talk) 22:00, 26 March 2013 (UTC)

Students
Introduce yourself and your interests in one sentence. Your chances increase if you do it as registered user, signing the entry with --~ and having a user page containing the relevant data and links. How to become a MediaWiki hacker is a good place to start learning your skills and becoming a better candidate. See also the GSOC DOs and DON’Ts - Student Edition.

--Hit goyal (talk) 12:56, 20 March 2013 (UTC)
 * The first one here :) though I'm not really sure what I'll do... Some ideas: an extension? proper language (script) conversion for Wikidata? 38486 + 43547? That category-redirect idea? Liangent (talk) 06:36, 18 January 2013 (UTC)
 * Harpreet Singh, 3rd year UG, Computer Science, IIT Kanpur: Have extensive programming and web development experience and am open to ideas on what to work on.--Harpreet (talk) 17:10, 24 January 2013 (UTC)
 * Aarti Dwivedi, 2nd year Integrated M.Tech, Geophysical Technology, IIT Roorkee: Have experience in programming, web development and Ubuntu application development. I would like to work on an extension. I will post my idea for a project soon. Any suggestions for ideas are welcome. -- Rtdwivedi (talk) 07:44, 31 January 2013 (UTC)
 * Rahul Maliakkal,3rd year UG ,Computer Science,U.V Patel College Of Engineering.Have programmed before C,Java and Python. Extension Development or Bug Fixing would be the place where i would want to put my foot in.Rahul21 (Rahul21)
 * Shekhar Kadyan, 4th year UG, Computer Science and Engineering, IIT Kanpur: Interested and highly experienced in web development/android development/data mining. Open to ideas. .--Shekharkadyan (talk) 11:34, February 3, 2013 (UTC)
 * Udit Saxena, 3rd year UG, Maths and Computer Science Engineering, BITS Pilani: Have programmed in Python, Go, Java, C/C++, LAMP; I am currently doing a course in Machine Learning. I have experience in Web Development. I am open to ideas on what to work on. Phaedrus24 (talk) 04:09, 13 February 2013 (UTC)
 * Vivek Rai, 1st year Undergraduate student at Indian Institute of Technology Kharagpur. I have a deep interest and some programming experience in PHP, Python, Javascript and C. I have been a continued Wikipedia editor and love writing and contributing. I'm open to work on any idea. Thanks! Vivek Rai (talk) 04:42, 15 February 2013 (UTC)
 * Richa Jain, 2nd year undergraduate Electrical Engineering ,IIT Roorkee: experienced in programming and quite interested in web development. I would like to work for an extension and i am open to work on any idea. --Rjain (talk) 12:17, 15 February 2013 (UTC) Rjain
 * Thiago Avelino, 5th year of Computer Engineering UTFPR, I have experience in web development using design patterns such as MVC and MVVM. You can find more information about me in my blog --Thiagoavelino (talk) 20:58, 15 February 2013 (UTC)
 * Anubhav Agarwal, 4rth year UG, Computer Science IIT Roorkee. Proficient in Web development using MVC Architecture. Skilled in C, Php and Python -- Anubhav iitr (talk) 21:55, 16 February 2013 (UTC)
 * Puneet Kala, 4th year B.tech, Computer Science DA-IICT Gandhinagar. I have a good knowledge and experience of web development. I am proficient in PHP, JS, JQuery, HTML, CSS apart from this I have also worked on C/C++. I have used CakePHP(Framework) for one of my projects. I am open to work on any idea. Thanks :) Please contact me through email: puneet.0191@gmail.com
 * Mayank Bhola, 3rd year undergraduate from JIIT Noida: Loves web programming and scripting , have fair coding experience in PHP,Python,JS,C++.I am open to work on any idea,and also have project idea for wiki inter-operatibilty with other formats (updated my user page for ideas ) .Psych0der (talk) 13:35, 18 February 2013 (UTC)
 * Saheb Motiani, A developer, who loves the concept of semantic web and open source development. I did my GSOC 2012 with ASCEND. I am currently working on Semantic Web Research and would like to contribute in Semantic-MediaWiki. I have clear understanding of web semantics concepts like ontologies, rdf, xml, structuring of data etc.I have good web programming experience which includes languages like JS, PHP, node.js etc. I have worked previously with open source organizations, and so have good experience with versioning tools like and standards.Saheb
 * Rihan Pereira, myself a 3rd year undergraduate student,i am interested in contributing and learning your codebase,i have experience in version control like git and mercurial,learning php on the way for better code reviews.I have done projects on python using its frameworks,javascript,php,nodejs.So,looking forward to be a part of mediawiki developer community.Rihnapstor(Rihnapstor)
 * Atul Agrawal,myself a 3rd year computer science student from BITS Pilani. I am interested in solving user related problems.I have good knowledge and experience of php,JS,Jquery,mysql,java and C . Moreover I have experience in git.I am observing the community via mailing list and irc and am looking forward to be part of MediaWiki.IRC Nick(Mr_Alpha) Atul (talk)
 * Avilash Kumar, myself a third year undergraduate from IIT Bombay. I have a good experience with web development (PHP , MYSQL , DJANGO , CSS , JAVASCRIPT , HTML ) and have also programmed on C++ and Java. Looking forward to building extensions as a part of MediaWiki Avilash (talk)
 * Ashen Gomez, Final year Computer Engineering undergraduate from Sri Lanka. Looking forward to work with MediaWiki as a contributor. I have experience in web development(PHP,MySQL,Zend,jQuery etc...), mobile development in Android, Java, C and Python. ashengmz (talk)
 * Nadeem Anjum, Third Year Computer Science and Engineering Student from IIT Kharagpur. Have extensive experience in development with HTML, PHP, CSS, JavaScript, JQuery, MySQL, AJAX, Java, C, C++, Python, Hadoop, Android. Have contributed to several open source projects. Open to ideas. My Webpage can be accessed here
 * Varun Singhal, 2nd year Electronics and Communication engineering, undergraduate from Delhi College of Engineering, Delhi. Looking forward to work with MediaWiki. I have experience in web development with php,MySQL,phpmyadmin,ajax,javascript,jQuery,html,css. --Varunsinghal (talk)
 * Moriel Schottlender, 1st year Computer Science Graduate student at NYIT. I have a B.S in Physics and I've been programming as a hobby since I was a little girl, but this will be my first big open source project. I have web development experience (PHP, Javascript/jQuery, HTML5, CSS) and also Perl and Java. I'm open to ideas for projects, and can't wait to expand my skills and contribute to the community! Mooeypoo (talk) 00:17, 4 March 2013 (UTC)
 * Tarun Bansal, 3rd year Computer Science undergraduate student at .Efficient in programming in Php, CSS, MySQL,javascript,jquery,c++. Looking forward to get involved in the community. Learning about the api and will soon start fixing any bugs i comme to know.Open to any ideas.Tarun365 10:13, 4 March 2013 (+5.30 GMT)
 * Arunwebber, Hi this is arunwebber and i am intrested in devoleping php apps as well as good with googles app engine and phython seccond year ug student in jyohty you can read more about me on the user page arunwebber and my website is www.eduladder.com
 * Shashi Kumar P, 3rd year Computer Science undergraduate student at SDMCET.good in C,PHP,Python,JAVA,C++, CSS,javascript. Interested Open Source projects & web devlopment .Open to any ideas.shashisp
 * Abhinav Koppula, 3rd year Computer Science undergraduate student at R.V.C.E Bangalore.Good in C/C++/PHP/JQuery/CSS. I Have worked on full fledged PHP projects using MVC framework. I have used Codeigniter immensely in my projects. I'm interested in open source projects and semantic web. I am open to all kinds of ideas.mancoolgunda(talk)
 * Ram Tripathi, I'm a 3rd year undergraduate student and a Web Developer. I'm an open source enthusiast enthusiast and my interests include Python, PHP, HTML, CSS, JavaScript and different libraries and tools built on these technologies. Open to all kinds of ideas.
 * Shuo Wang, 1st year graduate student in Computer Science, at University of Chinese Academy of Sciences. Have programming experience in C and Python. Dedicate myself to improve reading and editing experience of Wikipedia. A truly Wikipediholic. -KeepOpera (talk) 17:25, 12 March 2013 (UTC)
 * Victoria Zhong, first year undergraduate at Hunter College. I have experience in Web Development using HTML, CSS, Javascript, and PHP. I have worked with databases in the context of Web Development. Outside of Web Development I have also worked with Java and C++. I am open to work for any ideas presented. I really look forward to getting involved in this community! -- SemicolonExpected (talk) 22:51, 14 March 2013 (UTC)
 * Mayank Jha, second year undergraduate at NIT,Durgapur,India. I am skilled in C,C++,HTML,Qt, CSS, Javascript, and PHP. I have contributed to the world of FOSS since I was introduced to it is mentioned in my page. I am looking forward to be a part of MediaWiki project. --Mjnovice (talk) 08:10, 16 March 2013 (UTC)mjnovice
 * Yura Bobusky, 4th year Computer Science undergraduate student at Uzhgorod National University.  I have experience in Web Development using HTML, CSS, PHP. I also have programming skills in C, C++, C#. Open to any ideas. Bobusky  17:18, 16 March 2013 (UTC+2)
 * Shondhi Singhal, I am a 4th year student at DA-IICT, Gandhinagar, India . I have worked on two live web development projects till now. I have a thorough knowledge of PHP,HTML, CSS, JavaScript. My current project involves working on Dspace and Jhoomla platform. I also have an experience of C and C++. I would like to contribute to Wikipedia and reach out to its millions of users. If possible, I would like to start contributing right away. Looking forward to your response. Email address: shondhi.singhal@gmail.com
 * Harsh Choudhary, 2nd year student from NIT Kurukshetra, India and knows php, HTML, CSS, Javascript, MySQL, C, C++ and Java.--Shry.harsh (talk) 17:40, 18 March 2013 (UTC)
 * Hitesh Goyal, sophomore of NIT Kurukshetra, India. I know php, HTML, CSS, JavaScript, MySQL, C, C++ and basics of Qt.
 * Nasir Khan, final year student form United Internaional University, Dhaka, Bangladesh. experienced in frontend and backend web application development. involved with Wikipedia as well as some other opensource projects. -- Nasir Khan Saikat •  talk  • 09:44, 21 March 2013 (UTC)
 * Erick Frank, freshman at Donghua University. I have an experience of C/C++, Python, Qt. And a wikipedian since 2008. I wants to do some work to have the page load by AJAX. Visual Editor plugins would be great too. --Fantasticfears (talk) 15:13, 25 March 2013 (UTC)

Administrativia
The people in charge of applying to GSoC, running the program and assist mentors and students in anything beyond their projects.

Our plans take into consideration the lessons learned in 2012 and the DOs and DON’Ts - Org Admin Edition.


 * Quim Gil will be there but welcoming help. I can do the boring part dealing with Google and the submission process, but I'm happy delegating as much as possible during program.--Qgil (talk) 18:42, 17 January 2013 (UTC)
 * Yaron Koren (talk) 23:30, 19 February 2013 (UTC)
 * Lydia Pintscher (WMDE) (talk) 13:42, 26 March 2013 (UTC)