Are you a student? Do you think working for Google is a great way to spend your summer? Want to get paid to code in popular open source projects? Google's Summer of Code (GSoC) program could be for you.
4. What is Google Summer of
Code?
A way to contribute to Free Software:
● Free Software Projects apply to participate
● Free Software Projects provide mentors
● GSOC Students are 'hired' by the Projects
● Code for the Summer
5. What types of projects?
Desktop Operating Systems
Web Applications
Content Management Systems
Foundations (e.g. Connexions, Sunlight
Foundation)
6. How many participants?
last year 175 organizations participated
(some organizations will hire multiple
students)
1115 Students* participated.
*1 Student from the Caribbean Participated
8. Not all projects are Equal
TIPS:
● Look for Newbie Friendly projects
● If it requires a skill that less persons know
(and you know it) It might be a good idea
● If you have been contributing to a project
already see if they will be participating
● Find ways to contribute to open source
projects
9. GSOC 2012 Timeline
Feb 7 - Mar 9 - Organizations Apply
Mar 16 - Accepted Organizations
Announced
Mar 17 - Would be students begin
discussions with Organizations
Mar 26 - Apr 6 - Students submit
applications
April 20 - Mentors and Students Matched
April 25 - Students Announced
May 21 - Begin Code!
July 13 - Midterm Evaluation
Aug 20 - 'Pencils Down'
view GSOC2012 calendar
10. What did I do?
I worked on the Rhaptos Project
Rhaptos is the project that powers cnx.org
○ a place to view and share user contributed
educational material.
○ collaborative edu development
■ modules
■ courses
■ books
11. What did I do?
I worked on the Rhaptos Project
Psychic Currency: Tricking out Author Profiles, Content
Widget for showing off content, Enhanced Impact Metrics
12. What did I do?
I worked on the Rhaptos Project
Author Profile Widget
(see screencast: http://screencast.
com/t/ZdTOOxNJqGqG
)
13. What I did ... cont'd
Here are some of my notes: https://trac.
rhaptos.
org/trac/rhaptos/wiki/GoogleSummerOfCodeA
uthorProfiles
Spent at least 2 weeks just figuring things out
Spent another 2 weeks 'barking up the wrong
tree'
17. Checklist
● Prerequisites
● Skill and Interest Inventory
● Keep a Blog
● Open Source Contribution
● Identify a project (or two)
● Speak to project persons early
● Apply early
18. Prerequisites
What you need to sign up
You need to be a student (BSc., Masters, PHd
(not sure about diploma))
18 years or older
You don't need to be a computer science
student
read all the prerequisites at the GSOC site
19. Skill and inventory list
List of what you like
and are good at.
eg. Javascript, Jquery,
CSS, Python, Plone
You can use this when
trying to match yourself
to a project.
21. Open Source Contribution
Participation in the Open Source Community
● Bug reports
● Documentation
● Sample Code (from anywhere, if it's useful
open source it, share a snippet on your blog)
● Code Contributions
○ bug fixes
○ enhancements
22. Open Source Contribution:
How to get involved with
Plone
1. Join the Plone.org website (get a user
account)
2. Chat in IRC (http://plone.org/support/chat)
3. Use Plone, Learn Plone (try it out, ask
questions)
4. Submit Bugs via http://dev.plone.org
5. Write some code (join Plone Tune-up Days)*
6. Read Planet Plone and the Mailing lists.
23. Identify a Project (or two)
● Browse the projects (filter based on your skill
and interest)
● Select a few and begin to discuss with
persons from the project
● If you have an idea, also speak to persons in
the project
● You will need to write a separate application
for each project that captures your interest.
24. Identify a Project (or two):
GSOC 2012 Plone Ideas
You can get lots more by chatting in IRC
● Collective Theme manager
● Improve Zopeskel/Dexterity (code
generation and development)
● Roundtrip style development for Dexterity
Personal Ideas:
● A Drag and Drop form builder for YAFOWIL
● Placeholder Theming System
http://www.slideshare.net/davisagli/dexterity-in-the-wild-10113312 (end of
presentation has a list of ways Plone could be improved)
25. Speak to Project Persons
Early
● If possible, speak to your potential mentor(s)
● Speak to users of the software about your
idea
26. Apply Early
each project may have variations to the
application proces... KEEP IN TOUCH with
them
● Start filling out the application online (even
before you have all your info, the form stays
open until the deadline)
● Read and re-read the project's specific
requirements
● Take time to prepare for interviews