an introduction to google summer of code 2015

46
Summer of Code Summer of Code 2015 2015 Pradeeban Pradeeban Kathiravelu Kathiravelu INESC-ID Lisboa INESC-ID Lisboa

Upload: kathiravelu-pradeeban

Post on 12-Jul-2015

931 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: An Introduction to Google Summer of Code 2015

Summer of Code Summer of Code 20152015

Pradeeban Pradeeban KathiraveluKathiravelu

INESC-ID LisboaINESC-ID Lisboa

Page 2: An Introduction to Google Summer of Code 2015

2

Google Summer of Code (GSoC)

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

Page 3: An Introduction to Google Summer of Code 2015

3

I CAN HAZ CHEEZBURGER?

18+18+Students only!

Page 4: An Introduction to Google Summer of Code 2015

4

Why should I bother?

Code for your preferredpreferred open

source projectproject for 3 months.

Page 5: An Introduction to Google Summer of Code 2015

5

Your interest..

Not everyone gets a chance to live..

.. a second life ..

Page 6: An Introduction to Google Summer of Code 2015

6

3 Milestones3 Milestones

➢ Getting Accepted.Getting Accepted.➢ Mid-Evaluations.Mid-Evaluations.➢ Final Evaluations.Final Evaluations.

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

Background Image: http://blog.echoenduring.com/2010/11/23/learning-about-design-from-angry-birds/

Page 7: An Introduction to Google Summer of Code 2015

7

Some statistics of 2014

190 Organizations. Accepted

Around 30% acceptance. 1173 students/projects

73 countries. Age: 18 – 57.

Success Rate Pretty High! Around 85 – 90%.

Page 8: An Introduction to Google Summer of Code 2015

8

What do you need?

Page 9: An Introduction to Google Summer of Code 2015

9

Timeline (2015)

Oct 6th (2014): Program Announced. Feb 9th – March 20th: Organizations apply. March 2nd: List of Accepted Organizations. March 2nd – 16th: Students

discussing project ideas. March 16th – March 27th: Students

application period.

Page 10: An Introduction to Google Summer of Code 2015

10

Timeline.. After getting accepted

April 27th: Accepted Students announced.

– Community Bonding Period Begins.

May 25th: Coding Begins. June 26th – July 3rd: Mid Evaluations. Aug 17th: Suggested Pencils Down.

– Tests, Documentation improvements, etc.

Page 11: An Introduction to Google Summer of Code 2015

11

Timeline.. Concluding

Aug 22nd: Firm Pencils Down.

– Stop Work!

Aug 28th: Final Evaluation Deadline. Begin code submission to Google.

Aug 31st: Final Results

Page 12: An Introduction to Google Summer of Code 2015

12

Got some idea..

Page 13: An Introduction to Google Summer of Code 2015

13

Before you begin..

Google Summer of Code is all about contributing to Open Source.

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

Page 14: An Introduction to Google Summer of Code 2015

14

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 15: An Introduction to Google Summer of Code 2015

15

Mailing Lists

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

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

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

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

Page 16: An Introduction to Google Summer of Code 2015

16

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 17: An Introduction to Google Summer of Code 2015

17

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 18: An Introduction to Google Summer of Code 2015

18

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 19: An Introduction to Google Summer of Code 2015

19

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 20: An Introduction to Google Summer of Code 2015

20

Find a mentoring organization..

Have a look at the list of organizations of 2014 (and 2013, 2012, ..).

New Organizations. Google (Google Open Source Programs

Office) as the mentoring organization.

Page 21: An Introduction to Google Summer of Code 2015

21

Find THE right project..

Go through the organizations' projects list. 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 22: An Introduction to Google Summer of Code 2015

22

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 23: An Introduction to Google Summer of Code 2015

23

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 24: An Introduction to Google Summer of Code 2015

24

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 25: An Introduction to Google Summer of Code 2015

25

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 (5!) Preferences!

Page 26: An Introduction to Google Summer of Code 2015

26

Shout!

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

Answer others' questions!

Mentor is your friend!

(respect)

Page 27: An Introduction to Google Summer of Code 2015

27

Be Known..

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

Page 28: An Introduction to Google Summer of Code 2015

28

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 29: An Introduction to Google Summer of Code 2015

29

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 30: An Introduction to Google Summer of Code 2015

30

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 31: An Introduction to Google Summer of Code 2015

31

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 32: An Introduction to Google Summer of Code 2015

32

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 33: An Introduction to Google Summer of Code 2015

33

• 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 34: An Introduction to Google Summer of Code 2015

34

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 35: An Introduction to Google Summer of Code 2015

35

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 36: An Introduction to Google Summer of Code 2015

36

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 37: An Introduction to Google Summer of Code 2015

37

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 38: An Introduction to Google Summer of Code 2015

38

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 39: An Introduction to Google Summer of Code 2015

39

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 40: An Introduction to Google Summer of Code 2015

40

What else?

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

Page 41: An Introduction to Google Summer of Code 2015

41

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 43: An Introduction to Google Summer of Code 2015

43

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.

– For Example, Apache CXF -

http://cxf.apache.org/mailing-lists.html

Page 44: An Introduction to Google Summer of Code 2015

44

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 45: An Introduction to Google Summer of Code 2015

45

Questions?..Questions?..

Page 46: An Introduction to Google Summer of Code 2015

46

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