doens't wiki link
|Deletions are marked like this.||Additions are marked like this.|
|Line 8:||Line 8:|
|1. '''Choose an organization to work with.''' Python had over 20 to choose from in 2014, so this can be hard. See "[[https://wiki.python.org/moin/SummerOfCode/FAQ#How_do_I_choose_a_project_or_a_sub-org.3F|How do I choose a project or a sub-org?]]" below if you need help.||1. '''Choose an organization to work with.''' Python has a lot of sub-projects (over 20 in 2014!), so this can be hard. See "[[https://wiki.python.org/moin/SummerOfCode/FAQ#How_do_I_choose_a_project_or_a_sub-org.3F|How do I choose a project or a sub-org?]]" if you need help.|
This page collects some frequently asked questions related to Summer of Code with the Python Software Foundation.
Where do I start?
Choose an organization to work with. Python has a lot of sub-projects (over 20 in 2014!), so this can be hard. See "How do I choose a project or a sub-org?" if you need help.
Start communicating with the developers. Join the mailing list, IRC channel, or any other communication channels the developers use. Listen, get to know the people involved, and ask questions.
- If you want to make the best first impression, DO NOT start emails with "Dear Sir." Python has many mentors who are female and/or prefer other forms of address. Try "Dear developers" or "Dear mentors" if you're sending a general email, or use whatever name they use on their email if you're addressing a specific person. Culturally speaking, first names or chosen nicknames are fine for most open source projects.
Set up your own development environment.
Find some beginner-friendly bugs and try to fix them. Many projects have these tagged as "easy" "bite-size" or "beginner-friendly"
- Note that if you apply as a student with the PSF you will be asked to submit a code sample, generally code related to your project. A few fixed bugs with code accepted upstream will make your application look great!
- Having trouble figuring out which bugs are beginner-friendly? Send an email to the project mailing list saying something like "Hi, I'm a student developer interested in getting some open source experience and I was wondering if anyone could suggest some bugs that are suitable for a beginner in this project?"
Find bugs and report them. Hopefully you won't encounter too many, but it's always a good idea to get familiar with your project's bug reporting process.
Help with documentation. As a beginner in your project, you're going to see things that are confusing that more experienced developers may not notice. Take advantage of your beginner mindset and make sure to document anything you think is missing!
Help others. This is a great idea for a lot of reasons: explaining things can help you learn them better, demonstrating your skills as a good community member can make you more memorable when your mentors have to choose candidates, and being helpful makes your community a better place!
How do I choose a project or a sub-org?
Choosing a project is a pretty personal choice. You should choose something you want to work on, and none of us can tell you exactly what that would be! But here's a few questions you might want to ask yourself to help figure that out:
What software do you already use? If you use the software, you know a lot more about it and probably have stronger opinions about what would make it better!
What would you like to learn? GSoC is meant to be a bit of a learning opportunity. Have you always wanted to be more involved with biology? Astronomy? Mathematics? Education? See which projects might help you improve your skills.
Who do you like working with? Hang out where the developers do and get to know some of your potential mentors. Which developers inspire you?
How do you want to change the world? Do you want to help people learn more? Communicate better? Understand our world better? Lots of python projects can help you do social good!
How do you like to communicate? Do you like realtime communication on IRC? Perhaps you should choose a project with mentors close to you in time zone. Do you like asynchronous communication on mailing lists? Find a group with active lists. Communication is a big part of summer of code (or really any open source development in a team) to finding a team that works the way you want to work can make your summer more awesome.
If you're chosen as a GSoC student, you're going to be expected to make at least a few decisions on your own, so you can make a better first impression on mentors by showing that you're able to narrow down your field of choices!
What does "don't ask to ask" mean?
You'll hear this phrase sometimes on IRC, and it means "please just ask your question, don't say something like 'can I ask a question?' first."
Why? Developers are often pretty busy, and if you just ask the question, someone can jump in the minute they see your message with the answer or direct you to folk who can answer it better.
If you ask "can I ask a question?" you're basically just waiting for someone to say "yes" before any real work can do. Many folk consider this slow, annoying, and perhaps even rude. Save everyone (including yourself!) some time and just ask the question right from the start. Culturally speaking, in open source projects it's generally ok launch right in to a question on IRC; you don't even have to say hi first!
What should I do if no one answers my question?
Be patient. If you're on IRC, stick around for an hour or so (you can do something else, just leave the IRC window open and check back occasionally) and see if someone gets back to you. If they don't, try posting to the mailing list (it's possible all the developers are asleep!) If you're on a mailing list, you should give people around 24-48h to answer before worrying too much about it.
Make sure you're asking in the best place. One common mistake students make is to contact individual developers rather than asking on a public mailing list or a public IRC channel. You want as many people as possible to see your questions, so try not to be shy! (and don't worry about looking too much like a newbie -- all of us were new once!) Sometimes projects have different lists/irc channels/forums/bug queues for different types of questions. If you're not sure, do feel free to follow up your question with something like "hey, I haven't gotten an answer on this... is there somewhere better I could post it or more information you need to help?"
Try giving more information. If you've hit a bug, try to give the error message and information about your setup and information about what you've already tried. If you're trying to find a bit of documentation, indicate where you've already looked. And again "hey, I haven't got an answer... what other information could I provide to help debug this problem?" is a reasonable follow-up if you're not sure what people might need.
If you're really having trouble getting in touch with your mentors, talk to the Python org admins, particularly TerriOda. The Python org admins should have contact info for mentors with each project and can help connect you. (Note: please don't complain that you can't get in touch with us on the general google lists or #gsoc. They're just going to redirect you to TerriOda anyhow!)