Boost logo

Boost :

From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2020-02-24 22:54:54


Dear Student,

You are planning to participate in GSoC and develop
some new features for the Boost libraries. Awesome!
So, you want to introduce yourself to the community
as soon as possible. Awesome!

However, before posting your first question to the Boost mailing list,
please, do read the official GSoC student guides [0]. All of it.

[0] https://google.github.io/gsocguides/student/

I also recommend to read through other resources dedicated for students,
especially this one from Google [1], one from a former student [2]
as well as advice from Boost GSoC former student Louis Dionne [3].

[1] https://opensource.googleblog.com/2011/03/dos-and-donts-of-google-summer-of-code.html
[2] https://medium.com/@akshikawijesundara/google-summer-of-code-dos-and-do-not-s-896f05e29ac0
[3] https://github.com/boostorg/wiki/wiki/Google-Summer-of-Code%3A-Advice-From-Former-Student-Louis-Dionne

Once you get through the general GSoC materials, it's a good idea to start
browsing Boost resources, from intro [3] through netiquette [4] to wiki [5].
On [3] and [5] you will find links to past and current project ideas
for Boost libraries. Browse it, read it, and learn what kind of projects
Boost community develops during GSoC. Start thinking about what interests
you, which Boost library, which project, what you'd like to develop as
GSoC student.

[4] https://www.boost.org/community/gsoc.html
[5] https://www.boost.org/community/policy.html
[6] https://github.com/boostorg/wiki/wiki

Meanwhile, it's a good idea to "Make First Contact" [0].
Subscribe to the boost (developers) and boost-user or
library-specific mailing list at https://lists.boost.org
join Boost channels on Slack at https://cppalliance.org/slack/
and start discussing your participation, project ideas, etc.

Although the student guides [0] use the phrase about
"communicating directly with potential mentors",
it does NOT mean exchanging private e-mails with mentors asking
"Are you interested to mentor me?". GSoC does not work this way.
In my opinion, the word "directly" means to interact directly with
the community where, obviously, potential mentors are members too.

The Boost organization and mentors will have chance to select students
and projects they wish to mentor during the selection process
- a secret, you can learn about it from GSoC guides for mentors [8].
Yes, the selection is a competitive process.

[8] https://google.github.io/gsocguides/mentor/selecting-a-student

Next, start discussing project of your interest, start asking questions,
investigate ways to contribute to Boost, start working on competency tests
Mind you, competency test is Boost way to verify minimum necessary skills.

I personally think Boost should also ask for a bug fix [2] explains:

    "Some organizations make it a must for you to fix a bug in their
    code base before submitting a proposal but some do not.
    Your chances are always high if you can fix a bug in the code."

Submitting a pull request with a small feature is also a good idea,
something to discuss with mentors/maintainers of library of your interest
Pull requests will allow you to gain hands-on experience with workflow of
peer reviews, continuous communication, addressing problems, testing your
solution, using the infrastructure, being exposed to stress of 'annoying'
requests from maintainers to fix this, tweak that... :-)
For example, it worked well for Boost.GIL (you can PRs at
https://github.com/boostorg/gil).

    "you have to go early even if you go to hell" [2]

GSoC IS hard work!
Make sure to start early, to take a proactive stance, to do your homework
before you start asking questions, to expect no babysitting.

Imagine the GSoC runs back in times when there is no StackOverflow,
no web archives, no web search,...
There really is no excuse for not searching the web first nowadays.
Even compilers can do that! https://arxiv.org/abs/1906.11456

"To grow in life, be willing to suffer" ~David Goggins

Have a great time during GSoC and good luck!

Best regards,

-- 
Mateusz Loskot, http://mateusz.loskot.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk