[llvm-dev] [GSoC] General Information
Tobias Grosser via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 25 22:30:35 PDT 2016
Dear LLVM summer of code students,
let me congratulate you to your successful application!
After your participation has been announced, its now time to start with
community bounding as preparation of the actual project start on 23 May.
To ensure your GSoC becomes a large success, I wrote down some general
information that has proven important in previous years.
# GSoC and the LLVM community
Besides your individual project goals, the primary objective of your
GSoC project is to establish yourself as a full and active member of the
LLVM community. It is your job to get in touch with the LLVM community
and to develop your project as part of the LLVM community. This means
you are invited to discuss your ideas with the LLVM community, to submit
your patches for public code review, and also to participate as
code-reviewer for patches that fall in your area of expertise and match
your level of knowledge. To ensure maximal community involvement, LLVM
has a well established tradition of incremental development and you
should follow this practice in your
# The role of the mentor
You have been paired with one (or two) personal mentors, who will
support you throughout your summer of code project. Your mentor is
your first point of contact in case of any questions regarding your GSoC
project. His primary role is to ensure you are successfully integrated
with the LLVM community by ensuring you understand how to discuss
project ideas, how to obtain code reviews, and generally to help you to
understand the informal best practices in the LLVM community. In many
cases he will also provide reviews for your patches, but please keep in
mind that he is not your proxy to the LLVM community, but you are
expected to directly interact with the whole community. In the optimal
case, you learn quickly how to obtain patch reviews yourself and how to
discuss your ideas with the full LLVM community. Your mentor will likely
also give feedback, but he is just one out of the many people in the
community you will be working with.
Your mentor also evaluates your project and can change project milestone
if this should become necessary. However, we again suggest
to discuss changes to your agenda in public.
# Media of communication
This email is on-purpose sent to you through the LLVM/cfe/safecode/Polly
mailing lists. Mailing lists are the primary medium of communication for
LLVM. Other means such as IRC, phone or personal meetings can complement
email, but please ensure that all important discussions either take part
via the mailing lists or are mirrored to the mailing lists by posting
meeting reports or updates.
# Reporting / Status updates
To keep people informed about your work, we suggest each student to
implement regular reporting habits. As email is our primary medium of
communication, brief weekly status emails can be a nice way to get your
information out. If you send them before the week-end, chances are
that some of your news show up in LLVM weekly.
Previous students also often set up a GSoC blog to irregularly post
larger status updates, performance results, architecture diagrams, ...
# GSoC administrative issues
Please use the public mailing lists for all (non-sensitive)
administrative issues. You are likely not the only one who has similar
questions/concerns. Having your questions (and the solutions) being
archived and available in search engines will save us time and be of
great help for all other students.
# Introducing yourself
To kick off your personal GSoC of code, we suggest to introduce yourself
and your project on the relevant mailing list, invite people
to provide feedback to your project, and communicate your planned
timeline as well as the media/location and interval you will use to
report your status.
# Project description on llvm.org
We will establish a website on llvm.org that lists all accepted LLVM
projects. Please add yourself all relevant information about your GSoC
project. This includes a link to your original project draft, reporting
interval, blog, personal website, ...
# Community bounding period
Even though the community bounding period is not yet the actual project,
it is of high importance to make your actual project a success. Within
the next four weeks, you should make sure you get a good feeling how the
LLVM community works and you should make your first steps towards
becoming a member of the community. This means now is the time to start
discussions about your work, but also to get a good feeling of the LLVM
development practices. Some of you already contributed patches to LLVM.
Whoever has not should make sure to contribute a (smaller) patch as soon
as possible. We previously had some students who mostly skipped the
community bounding period and they often had to spend time on
administrative/infrastructure issues after the actual project phase
started, which caused stress and delays throughout their GSoC. On day
one of the project phase, you should be able to focus on writing code
and pushing first patches through code reviews. Your coding environment
should already be set up, you should have a solid understanding of all
tools you are planning to use, you should know how patches need to be
prepared for smooth review, and you should understand the patch
submission and review habits of LLVM. Similarly, your development plan
should have been discussed with the community, your reporting should be
set up and announced, and the only thing missing is you going full in on
your project. The community bounding period is the time where you get up
to speed on these administrative/community issues.
# LLVM developer meeting
The LLVM Community has a large developer meeting on November 3-4 in San
Jose, CA. We encourage you to present your work at the LLVM Developers’
Meeting. Presenting your work is a great way to get exposure and gives
you the opportunity to meet many LLVM developers’ in person. There are
many different ways to present your work: technical talk, poster, or
lightning talk. Funding to attend the LLVM Developers’ Meeting may be
available through the LLVM Foundation and more details on this will be
available in the coming months. Travel to the meeting may require a
passport or VISA, and we recommend investigating your travel document
requirements well in advance.
Tobias (on behalf of the LLVM GSoC Mentors)
More information about the llvm-dev