Motivation
The ONAP Internship is for University or College students who are interested in contributing to the ONAP project. These are managed as part of the LF Networking Internship Program Each intern will be working with a mentor in the ONAP community to complete a project either in 3 months (full time 40 hours a week) or 6 months (part time 20 hours a week). This is a paid internship program and the internship project can start throughout the year. As an open source project, each intern will work remotely from his or her location of choice. And, we welcome interns from anywhere in the world.
In order to kick off the ONAP intern program, we need first to settle down the program structure and several practical issues.
This page is to host the TSC discussion for this purpose. The bulk of the content here has been leveraged from the OPNFV and ODL intern programs
Timeline
TSC to decide many cycles do we want to execute once a year and when we should target to start selection cycle in 2019.
Budget
There are 2 interns funded for ONAP in 2019
People
A selection group should be formed before starting the cycle.Tools
Wiki pages for internship program (introduction, proposal submision/status tracking, candidate recruiting, executing tracking) need to be in place before starting the cycle.
Discussion
Selection Cycle
The following is the proposed ONAP internship proposal selection cycle, which consists of three processes, including : schedule of selection cycles; internship project proposal collection, review and selection; candidate recruiting.
Steps | Items | Notes |
T0 | Start of cycle | LF kicks off the cycle per TSC request/decision (with input of the budget). |
T1=T0+3m | Submission deadline | Intended Intern Mentors Submit the project proposals. |
T2=T1+1w | Rank list for TSC review | Review group provided rank list of the received proposals for TSC to review. |
T3=T2+1w | Proposal selection | Proposals are selected as ranked according to the allowed TSC budgeting for this cycle. |
T4 = T3 + 6w | Candidate Selection | The intended mentor selects the intern candidate(s) for each approved project. |
T5 = T4 + 1w | Project Execution | The intern starts to work with mentor's supervision. |
Mentor Guide
If you're a developer and you wish to participate as a Mentor please assess what your project needs or what you feel ONAP should have. Feel free to submit ideas even if you cannot elaborate too much on them. However, the more detail you can provide, the more likely your potential interns will understand what you are looking for.
Your idea proposal should be a brief description of what the project is, what the desired goals would be, what the student should know and your email address for contact. Please note, though, that the students are not required to follow your idea to the letter, so regard your proposal as just a suggestion.
if you would like to get an idea of what is involved in being a good mentor, here are some excellent resources:
Finally, know that we will never assign you to a project you do not want to work on. We will not assign you more projects than you can/want to take on either. And you will have a backup mentor, just in case something unforeseen takes place.
Expectations For Being A Mentor
- Provide ample documentation for your proposed project, including a getting started guide.
- Prepare and test any packages or VMs prior to your Interns start date
- Verify all patches submitted by your Intern
- Ensure that you have sufficient bandwidth to meet with your Intern a minimum of once per week and respond to any questions that may arise.
- Share contact information with community members who may be able to help your Interns in case you are not available.
- Set expectations and milestones for your Intern each week and discuss outcome of expectations during evaluations.
- Keep track of milestone progress to share with the Linux Foundation as midterm and final evaluations.
- Notify Internship Program Leadership of any Intern issues (Lack of participation, communication or vacations).
- Provide Midterm and Final evaluation reports within 1 week the perspective dates.
Interns
General information regarding the application process, payment schedule and eligibility can be found at Linux Foundation Networking Wiki Internship Page. Technical questions about specific Internship projects should be addressed by the Project Mentor. General questions about the Internship Program can be addressed by .
Students wishing to participate in any of the internships must realize this is more than a mere formality. You will be required to finish your work in the allotted time for your Internship program (3 or 6 months). You will also take some resources from active project developers, who will dedicate a portion of their time to mentoring you. Therefore, we'd like to have candidates who are committed to helping the Project.
You don't have to be a proven developer -- in fact, this whole program is meant to facilitate joining an Open Source community. However, experience in coding, Java, and/or experience with networking concepts is welcome.
You should start familiarizing yourself with the components that you plan on working on before the start date. Project developers are available on mailing lists for help. Note that the timeline for the intern program reserves a lot of time for bonding periods: use those periods wisely.
Intern Proposal Guidelines
A project proposal is what you will be judged upon. So, as a general recommendation, write a clear proposal on what you plan to do, what your project is and what it is not, etc. Several websites now contain hints and other useful information on writing up such proposals.
Your submission does not require a specific format or specific list of information, but here are some specific points that you should address in your application:
- The project you are proposing.
- Note that you should name the Project (OpenDaylight, OPNFV, FD.io, ONAP, etc) and Project Proposal that you are applying for. Internship applications are sent to a mailing list for all Linux Foundation Networking Projects*.
- Why you’d like to execute on this particular project and the reason you’re the best individual to do so.
- Details of your academic, industry and/or open source development experience, as well as other details as you see fit.
- Provide links to the Gerrit URL(s) of your submitted patches to any project, at least one patch must be provided
- An explanation of your development methodology.
- Your contact information.
- One or two references.
- Timeline. You should submit what you believe to be your schedule for your internship.
- Regardless of what you include in your proposal, we recommend you speak to the project and/or mentor you are applying to about what they are looking for in a proposal to give you the best chance of success in your proposal.
- Interns can submit their own project proposals if desired. If you as an Intern submit your own proposal (here).
- Finally, please also include proof of current academic attendance (transcript, copy of student ID).
After you have written your proposal, you should get it reviewed. Do not rely on the OpenDaylight mentors to do it for you: they will only send back a proposal if they find it lacking. Instead, ask a colleague or a developer to do it for you. Once your proposal is ready send it here! A Linux Foundation staff member will get back to you shortly.
Basic Template
You can make a copy of and use this doc as a basic template to submit your Project Proposals. This can act as a living document to help track the progress of your internship. You are welcome to use other tools or services though. If you are having trouble reaching the document, please let your mentor know.
Hints
Submit your proposal early: early submissions get more attention from developers for the simple fact that they have more time to dedicate to reading them. The more people see it, the more it'll get known.
Do not leave it all to the last minute: Make sure you send your application before the final rush. Also, note that the applications submitted very late will get the least attention from mentors, so you may get a low vote because of that.
Keep it simple: we don't need a 10-page essay on the project and on you. You just need to be concise and precise.
Know what you are talking about: the last thing we need is for students to submit ideas that cannot be accomplished realistically or ideas that aren't even remotely related to the project. If your idea is unusual, be sure to explain why you have chosen thisprojectas the best place to do your internship.
Aim wide: submit more than one proposal, to different areas of the project. You may also submit your proposal through more than one intern program.
Expectations
- Please be prepared to work 40 hours per week for 3 month Internships and 20 hours per week for 6 month Internships.
- If you are not able to keep this schedule, please communicate a suggested alternative plan with your project proposal.
- Interns must show that they have at least 1 commit to any open source project before your internship starts.
- You can work with your mentor during the application period to accomplish this goal.
- Attend at least 1 meeting per week with your assigned Mentor.
- Attend at least 1 meeting per week with your fellow Interns
- At least 1 commit to the appropriate project repository by the end of your Internship.
- Provide a weekly project status update to the Interns group.
Project Template/Sample
- Title: Provide a short but descriptive title of what the intern project is
- Description: Provide at least two or three paragraphs describing the task. Include the problem/opportunity in need of effort, as well as a description of the task to fix the problem or realize the opportunity. If there is a probable implementation path... "this will need steps X, Y, and Z to be completed" please describe it. If part of the task is evaluating one or more potential implementation paths and selecting/executing on one of them, please describe the options and the potential paths to be explored.
- Additional Information: Provide links to Jira entries, release-plan notes, and/or other web-references that would be helpful information to potential interns.
- Desirable Skills: List both the skills needed and the tools to be used. EXAMPLE:
- Java programming with working knowledge of OpenStack and the principals behind NFV.
- Experience fighting evil galactic overloads and time travel will also be very helpful.
- Expected Outcome: List the deliverable(s) (features/application(s)/report(s) etc.) expected
- Difficultly: Easy/Medium/Hard
- Mentors: (use @ macro ) Hosty McHostface
- Additional Contacts: Identify the IRC channel(s) and mailing list(s) where potential interns can ask questions and further interact with members of OpenDaylight project they would be working with.