google summer of code

45
Summer of Code Summer of Code 2012 2012 Kathiravelu Pradeeban Kathiravelu Pradeeban AbiWord AbiWord

Upload: kathiravelu-pradeeban

Post on 04-Nov-2014

6 views

Category:

Technology


0 download

DESCRIPTION

The latest presentation on the Google Summer of Code, based on my experience as a Google Summer of Code student and mentor with the open source communities AbiWord and OGSA-DAI.

TRANSCRIPT

Page 1: Google summer of code

Summer of Code Summer of Code 20122012

Kathiravelu PradeebanKathiravelu Pradeeban

AbiWordAbiWord

Page 2: Google summer of code

2

Contents

➢ Why GSoC? ➢ Before you begin..➢ Right Project?➢ Shout!➢ Apply.➢ Code.➢ Conclude/Continue.➢ What Else?

Page 3: Google summer of code

3

Google Summer of Code (GSoC)

Code for your preferred open source organization for 3 months.

University students of age 18 and more. Google coordinates and rewards you!

– 3 milestones.• Getting Accepted.• Mid-Evaluations.• Final Evaluations.

– A certificate, an awesome t-shirt, and gifts!– {500, 2250, 2250} USD.

Page 4: Google summer of code

4

Some statistics of 2011

175 Organizations– 2096 mentors and co-mentors.

Submitted– 3,731 students, from 97 countries.

– 5,651 proposals.

Accepted– 1115 students/projects

• 68 countries.• 595 universities.

Page 5: Google summer of code

5

Success Rate..is pretty high!

Passed the mid evaluations– Success rate up to mid – 90%+

Passed the final evaluations– Success rate – 88%

Page 6: Google summer of code

6

Why Google Summer of Code?

Page 7: Google summer of code

7

What do you need?

Page 8: Google summer of code

8

Timeline (2012)

Feb 4th : Program Announced. Feb 27th – March 9th : Organizations apply. March 16th : List of Accepted Organizations. March 17th – 25th : Students discussing project

ideas. March 26th – April 6th : Students application

period.

Page 9: Google summer of code

9

Timeline.. After getting accepted

April 23rd : Accepted Students announced.– Community Bonding Period Begins.

May 21st : Coding Begins. July 9th – July 13rd : Mid Evaluations. Aug 13rd : Suggested Pencils Down.

– Tests, Documentation improvements, etc.

Page 10: Google summer of code

10

Timeline.. Concluding

Aug 20th : Firm Pencils Down.– Stop Work!

Aug 24th : Final Evaluation Deadline. Aug 29th : Final Results. Aug 31st : Begin Code Submission to Google.

Page 11: Google summer of code

11

Before you begin..

Google Summer of Code is all about being Open Source.

Get your basics and motives right. Netiquettes. Sign up to the lists. Join the relevant channel.

Page 12: Google summer of code

12

Technologies..

Version Control Systems– SVN, CVS, GIT, Mercurial, ..

Build Tools– Ant, Maven, ..

IDEs (Integrated Development Environments)– IntelliJ IDEA, Eclipse, ..

– Microsoft Visual Studio, Anjuta, ..

Issue Tracker– Bugzilla, Jira, Trac, ..

Page 13: Google summer of code

13

Mailing Lists– Dev, User, Commit lists, sub-groups, ..

Internet Relay Chat (IRC) Issue Tracker Forums and wiki Blogs Skype, Personal Mails, gtalk, conference

calls, .. [with the mentors, if that is preferred.]

Communicating with the team.. and the mentor, over the Internet

Page 14: Google summer of code

14

Network Etiquettes

Be Specific and clear. Research (google.. ;)) before asking. Be helpful to others. Be ethical; respect. NO CAPS! (UNLESS YOU ARE SHOUTING!) Don't take messages personally. Dn't snd ur sms msgs to thrds or lsts. Language/English

Page 15: Google summer of code

15

Proper Addressing..over the lists/irc/..

Address the devs and users properly.– First Name or Preferred calling name.

– NO Sir, Madam, bro, sis, pal..• Even if you know them, personally.

– No Mr., Dr., or Prof. either.

– Be gender neutral.• “Folks” over “Guys and Girls”.

– Not too personal.• Use “Hi”, instead of “Dear”.

Page 16: Google summer of code

16

Mailing lists

Post only to the relevant list. Check the mail archives first. Avoid HTML mails. No [URGENT]/[IMPORTANT] tags. No unnecessary attachments. No Cross Posting. Don't hijack threads. Don't post off-topic.

Page 17: Google summer of code

17

IRC Etiquettes

Be an observer first. Refer to others using their irc nick. Don't expect immediate replies; wait. Don't post bulk of text into irc.

– Post error logs to http://pastebin.com/ or http://paste.ubuntu.com/ and share the url instead.

Page 18: Google summer of code

18

Find a mentoring organization..

Have a look at the list of GSoC2011. 175 Last year! New Organizations. Google as the mentoring organization. Introduce GSoC to an organization (Sounds

Smart!).

Page 19: Google summer of code

19

Find THE right project..

Go through the organizations' projects list.– Some organizations publish pretty soon.

– Refer to the projects list of 2011 of the organizations till the GSoC 2012 is announced.

• AbiWord• PhpMyAdmin• Kubuntu• DocBook Wiki

Page 20: Google summer of code

20

Get to know more..about the projects

Talk to the mentor(s)– Assigned by the organization

– for each project idea.

Mailing lists and archives. Issue Tracker

– Open issues or tickets• New features/enhancements (RFE)• Bugs (easy/difficult and normal/critical)

Page 21: Google summer of code

21

What makes you special?

Experience– Being a great user doesn't mean that you can be a

good developer.

Your interests and motivation– Pick something you really enjoy doing.

– Being a great developer doesn't mean that you can be a good contributor.

Opportunities– What makes you the right person?

Page 22: Google summer of code

22

Are you willing to contribute further?

Willingness– To contribute to the community

– Beyond the time frame of GsoC.

We want committers and long time volunteers!– Not just students!

Page 23: Google summer of code

23

Experience

Language– Java, C++, C, ..

– Not much time to learn a new language (?)

Prove It!– Patches.

– Assist other students!!!

– Project expertise• Bug reports and fixes.• Go through the archives, wikis, and web sites.

Page 24: Google summer of code

24

Opportunities..

Project that matches your previous work experience.

Choose the right project. Timezone Difference

– Use it effectively

– e.g., For Sri Lanka,GMT + 0530.

Multiple Applications (20!) Preferences!

Page 25: Google summer of code

25

Shout!

Communicate early. Communicate often. Ask questions. Most importantly,

Answer others' questions!

Mentor is your friend!(respect)

Page 26: Google summer of code

26

Be Known..

Be heard! Be visible! Be responsive! Be quick!

Page 27: Google summer of code

27

Apply

Register as a student for GSoC. Use the project's wiki for draft proposal

– if applicable.

Apply on Google's melange.– Can edit later, till the last minute!

– Get the mentors' opinions and improve.

Check often for the mentors' comments– attend to them.

Page 28: Google summer of code

28

Propose.. ♡

How to impress.. – the mentor/developers?

Stick to the organization's template. Abstract. Introduce yourself properly.

– Focus on the relevant facts.

– Why do you fit? Your skill sets.

– List of the patches (if any) you have submitted.

Page 29: Google summer of code

29

Propose..

Project Goals– Proves you got them correct.

Deliverables– Code, Documentation, test cases, ..

Description– Benefits to the organization and other projects.

– Can also be given along with the timeline.

Page 30: Google summer of code

30

Propose..

Timeline– Finer details.

– Break upto periods of 3 - 4 days.

– Testing takes time.

– Don't be over-optimistic.

– Some organizations require considerable work hrs/week (40 ?).

Links– References and additional details.

Page 31: Google summer of code

31

Application Template Name: Email: Project Title: Synopsis:

– A short description of your project.

Benefits to the organization/project – and/or other project(s):

Deliverables:– Quantifiable results.

Page 32: Google summer of code

32

• e.g.: “At the end of my project, AbiWord’s piece table will be 50 times faster.”

Project Details:– A more detailed description of your project:

Project Schedule:– How long will the project take?

– When can you begin work?

– Do you know of any planned absences or other major conflicts

• summer classes, vacations, etc.

Page 33: Google summer of code

33

Bio:– Who are you?

– What makes you the best person to work on this project?

Additional Requirements:– Patches / Specific requirements for the project.

Further Related Information:

Page 34: Google summer of code

34

After the submission..

Don't go invisible!– Evaluation is still going on.. ;)

You may be asked to provide– additional information.

• Patches.• Screenshots.

Start coding on your project.– only if you didn't apply for multiple projects.

Be motivated.

Page 35: Google summer of code

35

Got Selected? \yay/

Don't Panic. You have one more month

– just to mingle with the developers and the code base.

Mentors are there to help you! Keep touch with the developers. Users.

Page 36: Google summer of code

36

Community Bonding Period

Learn the project– Go through the code base

– Documentation.• Coding styles and coding guide lines.

Communicate often Understand the project idea more.

– Come up with a design.

– Start with simple hacks.

Page 37: Google summer of code

37

Coding.. Easiest task of all.. ;)

Commit often, if given committership.– Send daily patches otherwise.

– Meaningful Commit messages.

Get feedback from the mentor(s). Keep the community updated

– Daily (?).

Plan for the mid and final evaluations early, with the mentor.

Page 38: Google summer of code

38

Conclude/Continue..

Pencils Down Date Firm Pencils Down Date

– GSoC Coding ends here.

Get a tarball of all the diff files to submit to Google.

Focus on becoming a committer– if not already given committership.

Keep contributing.

Page 39: Google summer of code

39

What else?

More FOSS? Annual? Stipend? Student? Country/Location?

Page 40: Google summer of code

40

More Open Source programs/contests..

OpenOffice.org Internship

Ubiquiti RouterStation UI/Firmware

Wesnoth Summer Art Scholarship

Umit Summer of Code (USoC)

Season of KDE (SoK)

The OpenMRS Internship Program (OIP)

Joomla! Student Outreach Program

Ruby Summer of Code

Fedora Summer Coding

– http://fedoraproject.org/wiki/Summer_Coding_2010

– https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011

Page 42: Google summer of code

42

Are you ready?

Have a look at the successful projects.– Proposals available online - Wikis, blogs, ..

Apache Software Foundation– More slots and more choices.

• Tomcat, Derby, Axis2, and more ..

Join the projects' mailing lists and IRC.– AbiWord

[email protected]

[email protected]

• #abiword at irc.gnome.org

Page 43: Google summer of code

43

For more Information ..

Join your local GSoC Google Group – For e.g., Group for Sri Lankan students:

http://groups.google.com/group/gsoc-srilanka

Local GSoC IRC channel– For e.g., Sri Lanka - #gsoc-lk at irc.freenode.net.

Drop me a line. ;)– [email protected] | kkpradeeban.blogspot.com

Logos used in the presentation are owned by the respective open source organizations or the individuals, and used for the particular non - commercial informative purpose only.

Page 44: Google summer of code

44

Questions?..Questions?..

Page 45: Google summer of code

45

Wish you all the best..Wish you all the best..