Get started with Free Software now!

Are you looking for a way to learn how to study and/or improve software? Do you want to participate in the Google Summer of Code? Tired of spending your time developing software alone? Do you need an introduction to the wonderful world of Free Software?

The openSUSE Project believes in fostering long-term relationships between mentors and mentees that extend well beyond the Google Summer of Code program. We encourage continuous mentorship with the aim to nurture development in the open-source software community and support sustained learning and growth.

You have come to the right place! Scroll down and we will connect you with real people from our community who are willing to mentor you doing some real development projects. Take a look on More Details to get the full description of each project idea. After clicking on the project, you will see how much time the project will require based on the labels located with the details of the project. Potential mentees can view the description of these projects headlines list on and contact the organization’s mentors through the “More Details” link, which goes to an issue on GitHub. if they have questions or need more information regarding a project. Commenting on the issue will put mentees in direct contact with mentors for each project. This will help mentees when writing their proposals to participate in Google Summer of Code. Get started with Free Software, now!

And if you have questions, we are here to help you! Tweet us at @opensuse or write to our mailing list.

Still not convinced this is right for you? Check out a .

You want to know what it means to be mentored by us?

Wonderful! Here are the five things that are important for you to know/do to become a Free Software hacker!

1. Understand the goal

The goal of all of this is to guide you on becoming a regular contributor to Free Software. It’s as much about building relationships, learning how we communicate and collaborate as it is about hacking code and using tools. This is about you becoming a full-fledged contributor to openSUSE!

That also means that the goal of this program is not to teach you the basics of software development. Those skills can best be required elsewhere and we expect you to have them.

2. Help us to get to know you

We are here for you to talk about every aspect of this process. Introduce yourself on our mailing list (“Hey I’m thinking about becoming a mentee in 101 and I’m not sure about XXX and have questions about YYY”), tweet us at @opensuse, chat with us on IRC and if you’re already sure about your project, introduce yourself to the mentor directly. And even if you’re not sure that you want to do this at all, come talk to us and we will find out together if this is for you or not.

3. Be courageous and committed

Find a project that challenges and that exites you. But think about your choice carefully, you’re going to be doing it for a while. And while you are at it we expect you to be self-motivated and proactive. This will work out best if you choose the right thing to do, if you build a relationship with your mentor, set realistic goals and if you’re willing to respond to change.

4. Communicate

In our community people with different levels of expertise, speaking different languages and having different cultural backgrounds openly share their ideas. That’s why communication is king. We expect you to communicate daily with your mentor, to write short reports at least once a week and we expect that you tell us if there is something you can’t do. Share what you are up to, share your challenges and share what you have learned. Open, honest and prompt communication is the key to success!

5. Collaborate

Make your code readable and understandable by everyone else in the project. Document code that isn’t obvious. Commit your code early, commit often. Get your code reviewed and review code of others as often as you can. Make sure everyone can use, share, study, modify, and share modified versions of what you produce.

Accept that there are different ways to work and different goals for people. Respect people and their contributions, respect other opinions and beliefs. Listen to arguments and address problems in a constructive and open way. A diverse community based on mutual respect is the base for a creative and productive environment.


Container Kubernetes Helm Linux

Rancher is a complete software stack for teams adopting containers. It addresses the operational and security challenges of managing multiple Kubernetes clusters, while providing DevOps teams with integrated tools for running containerized workloads.

Please wait for loading the projects ...


c c++ python JS

IBus is an Intelligent Input Bus. It is a new input framework for Linux OS. It provides full featured and user friendly input method user interface. It also may help developers to develop input method easily.

Please wait for loading the projects ...


Java Python Salt React JS JavaScript UX/UI CI Jenkins AsciiDoc Antora

Uyuni is a configuration and infrastructure management tool that saves you time and headaches when you have to manage and update tens, hundreds or even thousands of machines. Uyuni is a fork of Spacewalk that leverages Salt, React, Cobbler and containers to modernize it. Our documentation is written in AsciiDoc with the Antora toolchain and managed as code (in a git repository, with pull requests, reviews, etc). Uyuni is the upstream for SUSE Manager.

Please wait for loading the projects ...


Rust IdentityManagement Security Databases

Kanidm is an Identity Management system - it stores the information for people, accounts, systems and groups, to allow authentication and security decisions to be made for infrastructure. This can range from website single sign on, to wifi authentication, to ssh on linux servers.

Due to the nature of Identity Management the system must span a broad range of topics. From web userinterfaces and human interaction, social and cultural research to ensure we respect all identities we store, to security and hardening to prevent exploits, and high performance systems to support thousands of operations per second. There is a new challenge for everyone within the project!

Please wait for loading the projects ...


python RPM packaging

rpmlint is a command line tool for checking common errors in RPM packages. It can be used to check binary RPMs, source RPMs or plain specfiles before uploading or to check an entire distribution.

Please wait for loading the projects ...


FOSS Programming Ruby Linux

In this section, we list all projects that do not fit in one of the other areas.

Please wait for loading the projects ...

Become a Mentor!

The world needs more free software hackers/code. We think mentoring is very important for the future of openSUSE. It brings new people to the culture and practices of free software who will enrich our community with their skillsets, ideas and talents.

Being a mentor requires your time, a clear vision of your project and good organization skills. We carefully compiled some tips, tricks and guidelines for mentoring into our . Please read this for more information about being a mentor.

You want to know what it means to mentor a new contributor to our project?

Wonderful, let us guide you on what we think is important to know, what our best practices are and which behavior in mentors we desire. Here is our ten step program for mentoring!

1. Mentees First

We believe in putting the mentees needs first. You need to emphasize with the mentee, understand their personality, requirements and circumstances. Make an effort to understand where the mentee comes from and what you need to do, to get them to contribute to free software. Mentoring is about them, not about your or openSUSEs needs.

2. Build a Relationship and have a lot of fun…

The most important goal is that you build a relationship based on trust and respect with the mentee and that you have fun together. Without this everything else you’ll do is in vein! Such relationships do not just happen, they need ongoing effort and attention, especially during the early stages.

3. Be a role model

Today this sounds like a weird thing from the 60s and it makes most people uncomfortable but you need to be a role model for your mentee! Free Software development is as much about behavior in a community, knowing what you want, and the ability to convey this to others as it is about pointers, gcc macros and git command line options. You need to ensure that your mentee can follow your example and that you’re not passing on your bad habits. You are responsible for developing the competence AND character of the mentee!

4. Set goals and expectations

The first thing you’ll do together with the mentee is to prepare for the far future. Precise, reasonable and well-thought-out goals are a must for every successful mentoring project. Getting into free software development can be an overwhelming and daunting endeavor. A decent plan provides a path and helps to take one step after the other into this strange new world. It’s your duty that the goals and expectations for the project are do-able, provide orientation and are technically sound. You’re the expert!

5. Track Progress

We encourage you to set up regular milestones in your plan that get reviewed and celebrated by you and your mentee. It’s important to understand where you are and how you progress. Additionally we believe that talking as often as you can is what builds the relationship and bonding with your mentee. The consistency of your relationship is very important. Find a regular schedule where you meet, we recommend short daily meetings to check in on progress and address obstacles.

6. Use the community

Our community consists of very experienced people and is one of the biggest and diverse free software projects on this planet. We provide well thought out structures, processes and infrastructure that reflect our experience with introducing new contributors since day one of our existence. openSUSE believes that one of the most important tasks is to bring in new hackers with new perspectives, backgrounds and ideas into our community. Make sure that you make use of this environment to the full extent!

7. Be Agile

The only thing that is constant is change! You need to adapt your plan, milestones, time line, the technical details, your behavior and attitude during your time. Respond to change, help your mentee to do the same. Be open, courageous, and committed!

8. Collaborate

Whatever challenge you face, remember you are not alone! You mingle on the shoulders of giants together with many other openSUSE mentors. Make sure you share your experience, your ideas and your problems with them. All of you strive to reach the same goal: getting people into free software. Make sure you work together in an open, transparent and friendly manner as part of our worldwide community.

9. Want this

Mentoring requires time, effort and endurance. It will cost you some evening you wanted to go out with your friends, at least an hour every day and a lot of nerves because you explain things that are obvious to you over and over again. If you are not sure that you are willing to do this then it’s probably better you don’t do it.

On the other hand mentoring will give you the satisfaction of being a positive influence in the life of someone else. You will see a new contributor grow into our community and you will achieve results that matter for openSUSE. You will also get the opportunity to learn something together and sometimes even making a new friend for life!

10. Don’t follow this program, form your own opinion!

This HOWTO is no religion and there are many awesome resources about mentoring in general and about mentoring for free software development in particular out there. Don’t trust us, inform yourself and make up your own opinion! Here are some pointers.

Okay, let’s mentor!

Contact us to get your project listed on our site

Add issues for your project to our repository

Label your issues with your projects name and assign yourself

When students get in touch with you in the issue, get them started