User:Aashaka/Outreachy-GSoC-Proposal

GSoC 2016 and Outreachy Round 12 Proposal:

Information about me
Name: Aashaka Shah

Email: aashaka96@gmail.com

IRC nick: aashaka

Web Page / Blog / Microblog / Portfolio:

Location: Roorkee, Uttarakhand, India

Typical Working Hours:

Till July 15: 10-1, 3-6, 10-12midnight

After July 15: 6-9, 6-11pm

Time Zone: IST (Indian Standard Time) (UTC +05:30)

Synopsis
The aim of the project is to make Mediawiki development easier and improve the quality of development. PHP Code Sniffer is used by Mediawiki to sniff out coding convention malpractices and errors. Code Sniffs more related to Mediawiki code can be added. They will give error on using deprecated code structure, and also provide a fix to change the code where coding convention was breached into convention conforming code.

Possible mentors: Ebernhardson, Legoktm

Deliverables
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):

Features: Timeline:
 * 1) Proper Documentation
 * 2) Weekly Reports
 * 3) Involvement of Community in identifying Sniffs
 * 4) Thorough testing

Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding, deploying, testing and documentation.

Participation

I will be in contact with my mentors daily via IRC. I will also be in touch with my mentors weekly or biweekly by mail or video call, when we can discuss work already done, and to be done that week. To keep a record, I will also keep < > updated with weekly progress reports. I plan to push my code for review to gerrit on a regular basis. In case I come across a roadblock, my first step would be to Google it. In case I still remain stuck after some efforts, I will ask questions on IRC to my mentors and other community members. If that doesn't work out, I will float a mail to wikimedia-tech and my mentors.

I have found the Wikimedia Community to be a helpful group of people, willing to answer questions. I pushed my first patch on gerrit after asking a few questions on IRC. Once I submitted it for review, I could feel people on IRC who had helped me, join the celebration of me having submitted my first patch. Since then, I have tried to be online on IRC in channels #mediawiki and #wikimedia-dev whenever circumstances permitted.

About you
If I were to describe myself in just a few sentences, I would say that I believe in giving the best to whatever I do. I don't believe in giving up or backing out of anything. As a Naruto fan, I like to say that I have a Will of Fire. I am excited by how code makes things work. I have experience in working with PHP, C++, and Java. I have worked on projects having an MVC architecture.

The first Phabricator task which I resolved, T105648, involved passing an IContextSource as a parameter to a function to prevent the use of a global variable. I had thought that something which warns a developer that they are using a global variable, when something else could be used, would be really nice. T89682: Improving static analysis of Mediawiki aims to do that and more! A project like this will make the process of contribution and reviewing them easier for developers and reviewers, respectively. This project will also remove a chunk of old phabricator bugs. This is something I will take demonic pleasure in doing. Also, it will help new contributors get over the feeling of getting it wrong because of strict code conventions. And help in following good conventions.

Education:

I am currently a Sophomore student at Indian Institute of Technology, Roorkee.

How did you hear about this program?

I heard about this program from a senior, who was previously an Outreachy intern in Mediawiki.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

I do not plan on having any other commitment apart from working on this project till July 15. I will be able to work more than 42 hours a week. After that, I will have academic commitments due to opening of college. I will still be able to give a lower limit of 42 hours, as the intern will only overlap with the initial one month of college, during which I would have completed a major part of the project, and the academic load would also be light.

'''We advise all candidates eligible to Google Summer of Code and Outreachy (previously known as FOSS Outreach Program for Women) to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?'''

Yes. I will be applying for both GSoC and Outreachy. I plan to focus only on this particular project (Improving static analysis of Mediawiki) of Wikimedia.

Past experience
Please describe your experience with any other FOSS projects as a user and as a contributor:

I am pretty new to the Open Source Community. Wikimedia is the first FOSS project that I have contributed to. I also participated in a Mediawiki hackathon which was organized at Indian Institute of Technology, Roorkee on March 12. Apart from this, I am a frequent user of Wikipedia. I like the idea of open source, hackable software and feel that I will continue to enjoy contributing to FOSS like I am now. I use the GNU Compiler Collection for compiling C, C++ and Java code, GNU/Linux as my primary OS (current distributon: Ubuntu with Gnome as the Desktop Environment) and Mozilla Firefox as my primary web browser.

Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):

I have worked on quite a few developmental projects:
 * 1) Backdoor: I was involved in the development of Backdoor I implemented Ajax pagination on the
 * 2) Declutter: Code.Fun.Do WInners.

What project(s) are you interested in (these can be in the same or different organizations)?

'''Do you have any past experience working in open source projects (MediaWiki or otherwise)? If so, tell us about it! If you have already written a feature or bugfix in a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so.'''

Any other info
Please add any other relevant information -- UI mockups, references to related projects, a link to your proof of concept code, whatever. There are no specific requirements, but we love to see people who love what they're doing. Show us you're excited about this project and have an interest in the background and are considering how best to make your idea work.