Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Mentoring people might sound interesting, however, quality mentoring requires commitment, willingness, and ability to take leadership responsibility. Before you apply to be a mentor, consider the following questions:
Are you a member of the developer community? To mentor aspiring developers for a particular project, you must have sufficient knowledge about project development. If you are already a member of the developer community, then yes, you can be a mentor. If you are not, then it might be difficult for you to introduce mentees to the project culture, and best practices. But if you are new, and still want to engage in the mentoring channel, you can be an assistance mentor, and this will help you to become a successful full-fledged mentor in future.
Will you be able to dedicate sufficient time? Quality mentoring needs your quality time with sufficient attention towards this mentorship program. So, please consider your availablity before committing to be a mentor.
Are you really interested in mentoring mentees? The primary purpose of mentoring is to help aspiring developers learn open source software development, our projects, and culture. This requires your passion, time, and patience to help the community grow. As a mentor, you will engage with mentees from the very beginning to the end of the program.\
Before you participate in the Mentorship program, and start mentoring mentees, we strongly recommend you to read this guide. You will gain valuable insight on how to become a successful mentor, and making mentees an integral part of the community. You will also get tips on how to choose mentees for your projects, why/how this mentorship program can be beneficial for you, and many more.
So, let's get started.
Note: To know about user interface related usages of Mentorship website, navigate to mentors section of this document.
As a mentor, you not only provide technical guidance to mentees, you also understand their enthusiasm to learn and work for open source development based on which you can select them for the program, and refer their profile to potential employers. You are the person who helps mentees learn and enhance their technical skills, and whose guidance brightens their career. Sounds cool, doesn’t it? Good mentees can also become great mentors in future, and contribute effectively to communities.\
Here are some reasons to consider putting yourself forward as a mentor and formally participate in the mentorship program:
You believe in the value of mentorship by helping new and active developers learn open source development, culture, the tooling and infrastructure to be a productive member of the community.
You are passionate about teaching and guiding aspiring developers, many of whom may be first time open-source contributors.
You are eager to bring in new perspectives, ideas, new talent into open-source community and projects.
You believe that the potential contributions of the mentees, by completing this mentorship program, could add value to the larger project community of which you're an active developer or a maintainer.
It’s not just us telling good about our mentorship program, listen to what our mentors say about this program:
“It is really satisfying as a mentor to see someone soak up all the new knowledge and put it to good use.”
– Hans Verkuil, mentor for Linux Kernel Mentorship Program
“The first thing I would like to emphasize is that this is not just a summer job for the interns. During the internship, they had a chance to get to know the intricacies of different Hyperledger projects. They also worked closely with mentors who guided them throughout their work. But above all else, they became part of an open source community.”
– Attila Klenik, mentor for Hyperledger
“I have always enjoyed sharing knowledge, and this program gave me the opportunity to do that. My proudest moment easily was when my intern spoke about how the things we taught her during the internship directly applied to her current classes. As I mentioned above, our first goal was to make sure our intern learned enough that she could apply it to the rest of her career.”
– Swetha Repakula, mentor for Running Web Assembly Smart Contracts in Fabric
“I had the satisfaction of supervising a hardworking intern who was able to create running code for the seemingly difficult idea of running Solidity contracts on Fabric. My hope is that the project does not end with the culmination of the internship and sparks interest among other members of the community.”
– Salman A. Baset, mentor for Running Solidity Smart Contracts on Hyperledger Fabric
“Mentoring has been a great experience for me. I got a wide selection of candidates and could choose people well suited by giving practice tasks. During the mentorship, my mentees were very excited and had a lot of energy, -- something only seen in people starting out. They were hardworking and were able to make good contributions and bring fresh ideas to the table. It improved my knowledge in the area as well (when you teach you learn again) while also getting some work done (which otherwise I would have to make time to do myself). My menees are now planning to continue to work in Linux kernel space and I'm glad that I got an opportunity to add more contributors to the kernel. I have also networked the me mentees with other engineers in the area I'm working on and further given them more opportunities to contribute in the future. I hope they continue even after the mentorship program.”
– Joel Fernandes, mentor for Linux Kernel Mentorship Program\
Following are various types of roles for the mentorship program:
This is You— community members who guide mentees. Mentors help mentees learn open source development by providing thorough guidance. In addition to that, mentors also help contributors to integrate into project communities, and refer mentees to potential employers.
Program maintainers are the individuals who enroll the mentorship programs. They can be employees of Linux Foundation, and manage the entire program, and take a wide range of responsibilities, such as creating and analyzing the program evaluations, ensuring that mentees are paid on time, ensuring that mentors and mentees are in sync throughout the program, responding to inquiries, and so on.
Mentee is a college or university student, or an active developer who wants to learn open source software development. Mentees must be at least 18 years of age to enroll into this mentorship program. Mentees come from diverse academic, geographical, and social backgrounds.So, keeping in mind that mentees come from diverse backgrounds, set a universal tone while communicating with mentees throughout the learning process.\
Apart from adding new developers to the open source community, the Linux Foundation Mentorship program is about adding value to open source projects, by sustaining the health of open source communities. The mentorship program can achieve great success by providing high quality learning experiences to mentees. So, mentors and participating organizations play an important role in delivering quality experience to mentees by providing timely proper guidance, and discussing project milestones, deliverables, and taks with mentees.
The Linux Foundation Mentorship program, developed by Linux Foundation, serves an important role in creating a structured hands-on learning opportunity for mentees—students, new and active programmers who want to learn open source software development— to gain exposure to open source development. The program matches mentees, based on their skills and interests, with mentors to learn and contribute code to open source projects, and get paid for it. This program serves an important role in keeping open source communities strong, healthy, and sustainable.
The Mentorship program brings in the accepted mentees and mentors from participating projects to a single platform. Accepted mentees get opportunities to learn open-source software development, and get hired by the potential employers participating in the program. A structured and well-defined mentoring program is crucial to attract and develop new talent. In a nutshell, it is all about making connections between new developers and experts in communities, and prospective employers, and get more open source code written for the benefit of all.
The Mentorship program is designed to help people with necessary skills, many of whom are first-time open source contributors, to experiment, learn, and contribute effectively to open source communities, which can initially seem overwhelmingly vast.
Following are the core goals of the Mentorship program:
Help mentees learn and enhance their technical skills, and inspire them to become long-term active contributors.
Teach aspiring developers the open source culture and collaboration norms, and guide them to participate in open source community more effectively by using collaboration tools and infrastructure.
Strengthen projects and the communities that are crucial to the Linux ecosystem by improving security and quality of releases.
Provide a skilled and diverse talented pool of prospective employees trained by experts to companies in the ecosystem of related technology.
Add well-trained and educated diverse talent to projects, and inspire them to write code for open-source software products for the benefit of the entire community and users.
The Linux Foundation Mentorship program lasts three months 12-weeks for full-time terms, or six months, 24-weeks for part-time terms. As a mentor, you will be engaged with the mentees throughout the program, starting with the application process.
Please see Program Schedule & Timeline for term schedule and activity timeline.
Mentoring is not just transferring knowledge and advice, it’s more about investing time in nurturing another profesional. Moreover, it gives a personal satisfaction when you help somebody grow and gets absorbed by the open source community. Following are some key benefits:
Opportunity to teach and share expertise
Helps to expand professional development record
Opportunity to develop leadership and coaching style
Exposure to be recognized as a Subject Matter Expert
Get help with work in your respective technical areas
Opportunity to train and bring new talent into the project
It gives an immense satisfaction, and showcases your leadership quality when your mentees write high about you in their blogs at the end of the program. Following are excerpts from blogs written by mentees:
“I am writing this post to share my experiences about working with Hyperledger and to report on the project itself and the impact it can have on the Hyperledger community as well as on my personal development. My mentor was Salman Baset, an active member of the Hyperledger community. I must emphasize what a great mentor he was, always available, communicative and helpful. He gave me a lot of hints and helped me out when I got stuck, but, still, I had the freedom to make technical and strategic decisions. I have learned a lot from him, and he (and this project) provided a huge boost for my personal improvement.”
– Balazs Prehoda, Hyperledger Fabric, Hyperledger Summer Mentorship Program
“I am very grateful for the support from my mentors, Baohua Yang, Haitao Yue, Tong Li and Jiahao Chen, as well as Hyperledger and for the opportunity to learn and contribute to open source Hyperledger projects.”
– Manank Patni, Hyperledger Summer Mentorship Program\
The very first responsibility that makes you a good mentor is selecting the right fit (mentee) for your project. This way it helps both you and the organization in getting the right candidate who eventually becomes a key player for the project.
A helpful starting point to select the right candidate is to identify why a mentee is interested in applying to the mentorship program, and what do they expect after successfully graduating from the program. Thankfully, has a well defined application process for mentees which will help you to decide. Also, as a mentor, you are expected to work with mentees during the application process so that you get enough time to choose the right candidate for this program.
Apart from this, there are some techniques that you should consider while selecting a mentee:
Mentee Profile: Have a look at Mentee profiles. Mentees should have required technical and communication skills to be accepted.
Past Performance: Check if the candidate has already been a mentee for other projects. Inquire for their past performance. Past performance will help you evaluate mentee’s interest and caliber.
Eagerness to Learn: Mentees should have an enthusiasm to learn open source software development and culture. Try to understand their motivation behind applying to this program. Is this just to complete a summer course or getting famous, or do they have a keen interest to learn and contribute to open source projects?
Enough Time in a Day: Ask mentees for their other summer plans, if they have a full-time job or number of projects they have applied or are willing to apply. This gives a better picture if the mentee is really interested in this particular mentorship program, and the number of projects helps you decide if the mentee can really dedicate sufficient time to your project. Even if people show confidence that they will be able to focus on your project along with other plans or full-time jobs, you shouldn’t make a decision based on their confidence. It’s your call, because their availability is going to impact the smoothness of this project. Encourage them to cut down on other plans if they really want to learn and grow in open source software development.
Successful mentorship starts with proper planning at the start of the project. As a mentor, set expectations at the beginning of the program. Even if mentors take a call in setting expectations, it’s always advisable to collaborate with mentees while documenting project planning and expectations as mentees need to agree on what is expected from them to do.
Following are some points to consider while setting expectations:
Expect Leaves: Ensure that you have considered planned and occasional leaves, such as holiday times, health issues, etc. Discuss with mentees and finalize how many hours mentees can dedicate per week, and talk about reachable goals as well.
Consider Mentee Inputs: Ensure that you have Mentee inputs before finalizing on the project expectations in terms of weekly hours and deliverables. At times, mentees, especially those who are new to open source development, might agree initially for everything, but might not be able to stick to the agenda afterwards which will impact the learning program. So, it is your responsibility to encourage them, make them comfortable, and ask questions related to planned leaves, if mentees are using any cyber cafe for the internet (depending on mentee’s geographical locations), and some more so that things can be planned better.
Be Prepared for Unusual Happenings: Even if everything is planned mutually, there might be times when mentee can’t show up in the scheduled meetings or fail to submit a deliverable because of some unavoidable environmental or natural problems, for example natural calamities, or sudden health issues, and so on. Keep in mind these situations while setting expectations, but do not express them to mentees. Break Goals: Break the bigger goals into chunks for easy tracking and for making this easier for mentees to achieve mageable goals. This way it also boosts mentees’ confidence when they reach a milestone.
You will be engaged with mentees right from the application process. During this period, you will work with mentees in creating a project plan, deciding on scheduled meeting times, and so on. As a mentor, it is your responsibility to prepare mentees before they start contributing to the project. It might take some extra effort for you to prepare the mentees who are new to the open source community. Following are some goals to keep in mind:
Make Mentees familiarize with the development environment, such as the version control system, communication channels, bug trackers, and necessary documents to read.
As this mentorship is a step-by-step process, and mentees will be evaluated on a periodic basis, you should define the project planning, strategically, and keep tangible requirements ready for each evaluation period.
Help mentees engage socially with the community
Encourage and prepare mentees to actively participate in all areas of this mentorship program, starting from coding to documentation.
Provide reasonable time for mentees to learn and adapt to the open source community and culture.
It can be intimidating initially if you are mentoring an open source group for the first time. Be it teaching a large number of mentees from across the globe, or answering their questions, or scheduling meetings considering the different time zones of mentees– the method of training is different than classroom training. So, always maintain the culture when you are teaching in an environment, as Bill S. Preston Esq says—“Stick to the Open Source Culture : Be excellent to each other.”
Open source development is truly global. All cultures, all languages, all time zones, and all continents--yes, even Antarctica.
It is asynchronous in nature. Most collaboration is done via email, forum posts, mailing lists, and pull requests.
Cooperation and consensus building is the greatest challenge.
Because other people can’t see your face or hear your voice, emotions are lost and intent muddled.
Managing the project plan is as crucial as creating it at the start of the project. Without properly managing the already prepared project plan, success becomes difficult. Following are some points to consider while following the project plan:
Ask for regular status reports: Status reports play a vital role in properly evaluating mentees. They are also important for you to track if a mentee is progressing towards completing a milestone or if a mentee is facing any issues. It should not happen that you get to know after two weeks that a mentee has missed a milestone. To avoid such irregularity and not-acceptable moments, you should ask for regular updates.
Check for completed tasks: Ensure that you are keeping a track of all the assigned tasks, and when they are completed or to be completed. Analyze and do what suits best for your community.
Discuss about missed deadlines: If a mentee slips a deadline, you immediately raise a flag, discuss with mentee, and ask for a valid reason. It’s advisable to ask for an official communication on this. Let them know that this might impact their performance and future engagement with the community. If it happens frequently, let your program manager know about this. Keep in mind that you aren’t just teaching a mentee, you also are preparing a future contributor, so, dedication and commitment are must for a mentee.
Be Humble: We all are humans. It’s not just mentees who might slip a deadline, it can happen with you also when it comes to scheduled meetings, providing feedback on completed tasks, reviewing a piece of code, and so on. If such a situation arises that you need to miss a meeting or deadline, ensure that you communicate this to your mentees and the community if needed well in advance.\
Mentee evaluations are conducted two to four times throughout the duration of the mentorship program in order to provide mentees with feedback on their progress.
Depending on the mentorship program, program admins may choose to have 1:1 check-ins, written evaluations, or virtual meetings with your mentees. Mentors work directly with the program admin to find out how the evaluations should be conducted and submitted.
Only after receiving a satisfactory evaluation, mentees can submit an Expensify report and receive their stipend. \
\
Mentoring can be enlightening for you. It gives you an opportunity to learn many aspects of this training program, such as understanding people from a diverse background across the globe, communicating in a general tone so that mentees who have English as a second language can understand easily, handling tough situations when something odd pops up in the middle of the program, and many more.
You can have a look at some useful resources:
Mentee Guide: You can read the Mentee Guide to know more about what is a mentee expected throughout the program.
List of Organizations: You can see a list of organisations that participated in previous years, by visiting the project site.
Knowledge Base Articles: You can find information related to advice to mentees, mentors, project applicants, by visiting the wiki page of the project.
Blog Post: You can find information related to the Mentorship program at:
Following are some blog posts written by mentors, sharing their experience:
You can get complete information about a project from the wiki page and the project details page on the mentorship platform.
The Linux Foundation maintains open-source and open community projects where participants choose to work together, and in that process experience differences in language, location, nationality, and experience. In such a diverse environment, misunderstandings and disagreements happen, which in most cases can be resolved informally. In rare cases, however, behavior can intimidate, harass, or otherwise disrupt one or more people in the community, which Linux Foundation will not tolerate.
A Code of Conduct (CoC) is useful to define accepted and acceptable behaviors and to promote high standards of professional practice. It also provides a benchmark for self evaluation and acts as a vehicle for better identity of the organization.
This CoC applies to any member of the Linux Foundation’s project community – developers, participants in meetings, teleconferences, mailing lists, conferences or functions, etc. Note that this code complements rather than replaces legal rights and obligations pertaining to any particular situation.
Linux Foundation is committed to maintaining a positive work environment. This commitment calls for a workplace where participants at all levels behave according to the rules of the following code. A foundational concept of this code is that we all share responsibility for our work environment.
Treat each other with respect, professionalism, fairness, and sensitivity to our many differences and strengths, including in situations of high pressure and urgency.
Never harass or bully anyone verbally, physically or sexually.
Never discriminate on the basis of personal characteristics or group membership.
Communicate constructively and avoid demeaning behavior or language.
Seek, accept, and offer objective work criticism, and acknowledge properly the contributions of others.
Be honest about your own qualifications, and about any circumstances that might lead to conflicts of interest.
Respect the privacy of others and the confidentiality of data you access.
With respect to cultural differences, be conservative in what you do and liberal in what you accept from others, but not to the point of accepting disrespectful, unprofessional or unfair or unwelcome behavior or advances.
Promote the rules of this Code and take action (especially if you are in a leadership position) to bring the discussion back to a more civil level whenever inappropriate behaviors are observed.
Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people.
Step down considerately: Members of every project come and go. When you leave or disengage from the project, in whole or in part, we ask that you do so in a way that minimizes disruption to the project. This means you should tell people you are leaving and take the proper steps to ensure that others can pick up where you left off.
How much time is expected from Mentors to commit to mentoring?
There is no fixed number of hours set for mentors as long as they manage to help mentees complete project milestones and finally the mentorship program. That said, mentors are expected to provide quality time as this impacts the overall performance of the organization.
Are mentees encouraged to make a career of open source development?
Absolutely! For mentees who successfully graduate, Linux Foundation promotes their work and contribution on social channels so that their profile comes into the eye of potential employers. Linux Foundation also sponsors mentees to attend conferences so that they get a chance to present their work to greater community and meet potential employers. Linux Foundation also encourages mentors to connect mentees with their contacts and networks, and refer deserved candidates to participating companies.
How many mentorship terms are there per year?
The Linux Foundation offers mentorship programs around the year with specific term dates. Please check the projects of your interest to find details of the program term dates.
How long are mentors engaged in the program?
It might vary based on project guidelines. In general, there is an application period and formal program participation/contribution. Mentors can be engaged with the community even after the completion of the program.
What makes this program stand out?
Travel Funding is the eye-catching part of this program. Yes, additional travel funds are provided to mentees, who successfully complete their projects, to support travel to a project relevant or community specific event.
Is the mentee selection process transparent and in the open?
Yes, Linux Foundation maintains transparency in the mentee selection process. Selection is based on the application materials they submitted, and interview/additional assessment tasks if assigned by the mentor. If mentees meet the eligibility requirements, applications are submitted, and all the assigned tasks are completed, their applications will be reviewed.
Due to certain circumstances, mentorship programs for 2022, organized by the Linux Foundation, are not accepting mentor applications from Russia, Belarus, or the so-called Donetsk People's Republic (DNR) and Luhansk People's Republic (LNR). However, mentors located within Ukraine but outside of the DNR and LNR can apply to the LFX mentorship programs.
Mentoring people might sound interesting, however, quality mentoring requires commitment, willingness, and ability to take a leadership responsibility. Being a good mentor requires some specific skills that you can develop as mentioned below:
Communicate: Communicate with your mentee on a regular basis, whether it is to provide feedback, offer training, or check on the mentee’s progress. By keeping the line of communication open, you will build trust, respect, and a positive relationship that facilitates the successful completion of the project.
Develop project plan, such as project objectives, milestones/deliverables, methodology, documentation for completion of the project
Schedule weekly check-ins to review progress, blockers, upcoming tasks
Clarify communication channels/norms with your project team, and broader community: email, chat, calls, wiki, and so on
Be respectful of collaboration challenges across time zones and language/cultural differences
Mentor: Mentoring is a critical and essential part of a mentorship program, and an attribute that differentiates from regular employment. As a mentor, it’s important to provide honest feedback to mentees on their progress, professionalism and skill development.
Set expectations early, preferably at the start of the program
Set challenging but achievable goals and metrics on how to measure success
Give praise for good work and offer critical constructive feedback. Be specific and provide suggestions for how to improve
Model desirable behaviors, workflow, processes, and ways of working
Complete quarterly evaluation on a periodic basis to bring any feedback to project maintainer and share/discuss the results with your mentee openly
Connect: To foster learning outside of your mentee’s job duties, encourage them to develop relationships outside of their immediate team. Allowing your mentees to gain a broader understanding of organization, industry, and potential career paths can help generate new ideas and make them a more effective and longer-term contributing member.
Introduce mentees, who have successfully passed the exam, to potential employers helping them to grow in the open source community
Provide resources for additional training
Provide context on how the mentorship program is similar to other projects’ mentorship programs
Depending on the project flexibility, ask mentees review each others’ code and provide feedback as a collaborative development exercise
Enable mentee to participate in the open source community with more confidence and independence
Revisit: Periodically take a look at the learning objectives and expected outcomes established at the beginning of the mentorship program. Discuss what the mentees have learned and how it can be applied in future. Be flexible to adjust the project scope, learning objectives, and outcomes based on the mentee’'s background and skill set.
Please keep in mind that the mentorship program is a learning opportunity for mentee, not a job with narrowly defined job description.
Stay flexible to modify project scope/plan, learning objectives, and deliverables/outcomes. Document modified tasks, schedules, and project plans.
Reframe mistakes and slow progress as opportunities to hone soft skills such as communication, effective ways to participate in open source community, working with distributed teams, and so on.
Mentoring is a service both to mentees and organization. By providing a praise-worthy mentoring, you are not only adding value to your profile, you are also setting path clear for future mentees to enroll into the project. Mentoring mentees who are geographically far from you can be quite challenging as there are time zone differences for which you need to take some extra effort in decision making while scheduling meetings. Once a mentee is assigned to you, you are expected to work on the following guidelines:
For sure, there will be applicants who won’t make it to the program. As a mentor, it’s your responsibility to provide feedback to those unlucky mentees, letting them know that their applications were valued. This way it leaves a good impression on the program, especially on you, and has a good impact on the enthusiastic mentees to apply again. Not just when mentees don’t get selected, provide timely feedback to the selected mentees as well who undergo this training program.
Your community is a collection of people from across the globe. So, introducing mentees to the community and asking sentences to introduce themselves make mentees feel comfortable and help them effectively participate in the communication channel without any hesitation. Conducting a video conference is advisable. This way people from across the globe will get a chance to see each other that makes communication more engaging.
Effective communication between you and your mentee is the key to a successful mentorship program. This ensures that mentees are making progress and mentors are helping mentees resolve blockers, readjust milestones/tasks if needed and so on. Also, always share your contact details if you update, let Mentees know about your leaves very before. However, ensure that you have provided enough tasks to complete before you go on vacation.
Regular meetings help you to keep a good track of mentee statuses and to know if they have any concerns to raise. Considering the remote training of this mentorship program, it’s always advisable to hear from mentees more often than once a week.
Depending on projects, mentees will send periodic status reports. Discuss with mentees and finalize the format and frequency of status report well ahead of the program starts. You can send them a template to refer to.
For queries and other project related discussions, always choose, ask and encourage mentees to choose public channels on various communication mediums, depending on your project. This way, it helps all other members to understand and get answers even before they ask certain questions.
As a mentor, you are not just teaching mentees, but also you are preparing future mentors. So, at times, when you are asked any question that you have explained earlier, ask mentees to answer the question in the channel. It boosts their confidence, and lets them grow their leadership quality. Pitch in and take control if you see that things are not going in the right direction.
Evaluate your mentee from the view point of current project at hand, as well as long term prospects to become successful open source developer. Ask yourself if a mentee candidate can become a productive member of the community. “If mentee continues with the rest of the program, do you believe mentee will become a productive member of the kernel community?”
Be prepared to make tough decisions when a mentee isn’t meeting project/program requirements in collaboration with the Project Maintainer(s). The primary goal is training the next generation of open source developers.\