Get started with Free Software now!

Are you looking for a way to learn how to study and improve software? Tired of spending your time developing software alone? Do you need an introduction to the wonderful world of Free Software?

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. Get started with Free Software, now!

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"), 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.


Ruby Ruby on Rails Docker

Portus is an open source authorization service and user interface for the next generation Docker Registry.

Please wait for loading the projects ...


Java Script AngularJS

Jangouts (for “Janus Hangouts”) is a self-hosted open source solution for videoconferencing based on WebRTC and the excellent Janus Gateway.

Please wait for loading the projects ...


Ruby Linux

YaST is the installation and configuration tool for openSUSE and the SUSE Linux Enterprise distributions. It features an easy-to-use interface and powerful configuration capabilities.

Please wait for loading the projects ...


Ruby Linux

A command line application for creating descriptions of Linux systems and working with them. Machinery supports use cases such as configuration discovery, system validation, and service migration.

Please wait for loading the projects ...


Ruby Ruby on Rails

The Open Source Event Manager is an event management app tailored for free software conferences.

Please wait for loading the projects ...


FOSS Programming

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 his 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