Skip to content

GSoC2017 Applications

probonopd edited this page Jan 19, 2017 · 2 revisions

How to increase your chances of being selected

If you put yourself in the shoes of the mentor that should select the student, you'll immediately realize that there are some behaviors that are usually rewarded. Here's some examples.

Be proactive

  • Mentors are more likely to select students that openly discuss the existing ideas and/or propose their own. It is a '''bad idea''' to just submit your idea only in the Google web site without discussing it, because it won't be noticed. Join us on #appimage on irc.freenode.net.
  • It is a '''bad idea''' just listing your programming skills and waiting for the mentors to guide you towards next steps. Mentors reward students that show genuine interest in the projects they are willing to develop, propose improvements on their own and make pertinent questions. Remember that it is up to you, and not to the mentor, decide the software you want to work on and the idea to develop. It is not the mentor's job to do that for you.
  • It is a '''good idea''' to engage on http://discourse.appimage.org and start building a relationship with our community. It is the community that decides which of the candidates they want to back, based on the value of the project, and whether or not they think the student will be successful.

Demonstrate your skills

Consider that mentors are being contacted by several students that apply for the same project. A way to show that you are the best candidate, is to demonstrate that you are familiar with the software and you can code. How? Browse GitHub Issues, fix some bugs and propose your ideas in our Discourse community, and/or ask mentors to challenge you! Moreover, bug fixes are a great way to get familiar with the code.

Demonstrate your intention to stay

Students that are likely to disappear after GSoC are less likely to be selected. This is because there is no point in developing something that won't be maintained. And moreover, one scope of GSoC is to bring new developers to the community.

rtfm

Read the relevant information about GSoC in the wiki before asking. Most FAQs have been answered already!

Application instructions

We welcome students to contact probono@puredarwin.org before submitting their application into GSoC official website.

Template

==== 1. Contact details ==== 
* Name and surname: 
* Nickname: 
* Country: 
* Email: 
* Phone (we will not call you, unless you will become unreachable by email/IM for more than a week without warning): 
* Public repository/ies: 
* Personal blog (optional): 
* Twitter/Identica/LinkedIn/others: 

==== 2. Your idea ==== 
* Title: (please include the name of the member project as part of the title, for example: "Gee Whiz Foobar 2001 for AppImage")
* Brief description of the idea. e.g. "My project will focus on xxx".
* The state of the software BEFORE your GSoC. For example: "With AppImage, one has to do xxx on the command line using tool yyy, and I want to make a GUI to do zzz"
* The addition that your project will bring to the software. In the same example: "With the GUI that I intend to create, it will be possible to use the tool xxx via graphical user interface".

==== 3. Timeline ==== 
* Now split your project idea in smaller tasks. Quantify the time you think each task needs. Finally, draw a detailed project plan (timeline) including the dates covering all period of GSoC. Don't forget to include also the days in which you don't plan to code, because of exams, holidays etc. 
* Do you understand this is a serious commitment, equivalent to a full-time paid summer internship or summer job? 
* Do you have any known time conflicts during the official coding period? 

==== 4. Studies ==== 
* What is your School and degree? 
* Would your application contribute to your ongoing studies/degree? If so, how?

==== 5. Programming and AppImage ==== 
* Computing experience: operating systems you use on a daily basis, known programming languages, hardware, etc.
* AppImage experience as a user:
* AppImage programming and other software programming:

==== 6. GSoC participation ==== 
* Have you participated to GSoC before? 
* How many times, which year, which project?
* Have you applied but were not selected? When?
* Have you submitted/will you submit another proposal for GSoC 2017 to a different org?

What to expect after application

Now that you have submitted your application, it's time for you to set up your development environment (e.g., KDevelop AppImage) and get familiar with the code of the software you want to develop for. Ask the developers to test you with a small coding task, or browse the bug tracker and submit a patch for a bug.

Bonding period

Bonding period does not mean relax. During bonding period, you are supposed to do all preparation in order to be able to start coding immediately the first week of actual coding period. These activities entail:

  • set up your dev environment: compile the source code, etc;
  • getting familiar with the source code, the dev documentation, programming manual and all the material that your mentors suggest;
  • scratching and pseudocoding your project;
  • familiarize with GitHub
  • get in touch with the community: introduce yourself in #appimage on irc.freenode.net and on http://discourse.appimage.org, introduce your project and receive feedback.

What to expect during the summer

Be prepared to be in constant communication with your mentors and project

You and your mentors will decide on the specifics, but we will expect you and your mentor to communicate a lot. Part of the idea of SoC is to integrate you into the developer community, so you should get involved with them from the start. The more you communicate the easier it will be. Don't be afraid that the mentors will request your phone number. It is only to make sure that we can reach you in case of problems, like making sure you get paid.

University exams and semester terms vary widely, if we know in advance that you need a week off to study, or that you've already scheduled a short vacation to somewhere off the grid, that's fine and won't count against you. But you need to communicate this up front so we can make a plan to work around it.

Weekly reports

Every week, by Sunday, we expect to see a report posted to the http://discourse.appimage.org of your project, that at least answers the following questions:

  • What did you get done this week?
  • What do you plan on doing next week?
  • Are you blocked on anything?

These questions BTW are the same as are used in real-work, when developing with the [http://en.wikipedia.org/wiki/Scrum_(development) Scrum] [http://en.wikipedia.org/wiki/Agile_software_development development process].

If you want, feel free to write more. But three sentences is the bare minimum.

IT IS VERY IMPORTANT THAT YOU SEND YOUR PROGRESS REPORTS ON TIME, if you don't send this email your mentors will start to get twitchy, and especially if they don't get any responses to their emails / don't see you on IRC. Twitchy mentors is not what we want. If you are blocked by finals, that's OK. Just tell us about it up front, be honest, and we'll work around it. If you don't know how to proceed and your mentor isn't answering, definitely tell about it. The SoC project admins will always be available. Basically the point is that you open up the communication channels, and keep them open. That way you will have a super summer, and get paid ;)

During past years this weekly report proved to be very popular among the students and mentors alike, so we will keep it up.

Code repository and documentation

Publishing your progress online is a GSoC requirement. Therefore, all students have to decide, before GSoC coding period starts, where to publish the code they will write. You are expected to fork our repositories on GitHub and send pull requests.

Documentation of your code is important! Don't leave all documentation writing to the last weeks of GSoC. It makes sense to outline it at the beginning of coding period, then refine it while you code. It is an important support to coding, as it is a mirror of the overall plan for the summer, and an essential source of information for who will use your code.

How to get in contact via IRC

See the Chat page in this wiki (hint: on the right-hand side there is a menu).

Acknowledgments

This page is largely based on https://wiki.osgeo.org/index.php?title=Google_Summer_of_Code_Recommendations_for_Students

Clone this wiki locally