We’re passionate about Free/Libre and Open Source Software.

Free/Libre and Open Source Software (or ”FLOSS") is built on the principles of freedom, collaboration, and community. This course is a collection of the skills and expertise contributors to this course have acquired over years of working on FLOSS projects. We want to share this experience with you to give you a headstart on your journey into the world of open source.

What you'll learn

By the end of this 7-module free course, you will not only be able to contribute confidently to FLOSS projects, but will also have a much deeper understanding of the importance of the “open source” way of working.

Developer using a laptop. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

Introducing FLOSS

We will start by defining FLOSS, discussing its benefits, and investigating the vital role it plays in society. Free/Libre and Open Source Software has a strong community foundation, so we will introduce you to the open source community right from the start. We will also teach you about how these communities tend to operate, as well as the different types of FLOSS contributions.

Working on  FLOSS  projects

You will learn about the tools and methods required to work on FLOSS projects, as well as the best practices for collaborating on these projects. We will dive into the technical aspects of testing, code reviews, code analysis, and build techniques. With these skills, you will be able to become an active and successful member of the FLOSS community.

Excited colleagues in a meeting. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

FLOSS in the real world

We will introduce you to the different licensing models that are available, and discuss the pros and cons of each. We will also investigate the various economic models that can be applied to FLOSS projects, and introduce you to various successful organizations, charities, and high-profile figures in the FLOSS community.

Hands-on experience

We believe that we learn best by doing, so we have designed this course with a focus on hands-on experience. At the end of the course, your task will be to create a successful commit on an existing FLOSS project.

What you'll learn

illustration of a pull request
Getting pull requests merged on third party FLOSS projects
Illustration of a group of people
How to become a valuable member of the FLOSS community
Illustration of holding hands
Best practices for cooperating and collaborating effectively
Illustration of a wrench and screwdrive
The tools and methods to work on FLOSS projects
Illustration of owl
Wisdom from high-profile figures in the FLOSS community
Illustration of a licence
FLOSS licensing and monetization models
Student doing an online course. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

Who the course is for

This course is for programmers who are interested in learning more about Free/Libre and Open Source Software and the FLOSS community. It is not only great if you're still learning about the programming world, but also if you're a developer whose experience lies mainly in writing proprietary code.

Even experienced developers can find it intimidating to contribute to FLOSS projects. This isn’t surprising; it’s daunting to contribute a change upstream, and contributing effectively takes a lot of effort and skill. This course aims to give you the expertise you need to make contributions to FLOSS projects confidently and effectively.

Why FLOSS?

FLOSS has proven to be an efficient way to create quality, reliable software. FLOSS is dedicated to the principles of freedom, collaboration, and community, and we believe it has the power, not only to improve society, but to change the world.

Student sitting in a coffee shop with their laptop. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

FLOSS is built on  4  essential freedoms:

tick icon

The freedom to run software as you wish, for any purpose

tick icon

The freedom to study how the software works, and adapt it to your needs

tick icon

The freedom to redistribute copies of the software to help others

tick icon

The freedom to distribute copies of your modified versions to others, for the benefit of the community

So when you hear the “free” in FLOSS, think of “freedom” and “liberty”; don’t think of “free coffee”! (Source)

FLOSS respects the user’s rights

The Four Freedoms outlined above are the cornerstone of the FLOSS movement. They protect the software user’s human rights, and ensure that their civil liberties are respected.

FLOSS projects put the control in the user’s hands by allowing them to view, modify, and distribute software without having to depend on a third-party.

Two developers working together to solve a problem. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

FLOSS is the way of the future

We believe that FLOSS is a better way to create software by allowing varied actors to pull their efforts together and collaborate on projects. Well-managed, the end result is better than anyone could achieve on their own, with less duplication. Collaborating on FLOSS projects requires a specific approach and set of skills, which is largely misunderstood and rare today. That’s why we’re designing this course - we believe FLOSS is the way of the future, and we can't wait to see more people join the movement and experience it for themselves.

Illustration of a smiley face with text 'Hello future'
Illustration of a hand with the 'OK' sign and text 'Thank you'

Our supporters

This MOOC is produced by IMT and Télécom Paris with the financial support of the Patrick and Lina Drahi Foundation.

Course contributors

We’re a passionate group of FLOSS experts who come from a multi-faceted background. We are excited to share our years of experience working on FLOSS projects with you.

Profile image for Marc Jeanmougin
Marc Jeanmougin
Research engineer at Télécom Paris and a contributor to free software such as Inkscape
Profile image for Rémi Sharrock
Rémi Sharrock
Researcher and Lecturer (Associate Professor) at Télécom Paris
Profile image for Geoffrey L
Geoffrey L
Fullstack software engineer at OpenCraft
Profile image for Jillian Vogel
Jillian Vogel
Senior open source developer at OpenCraft
Profile image for Olivier Berger
Olivier Berger
Research engineer at IMT
Profile image for Anna Khazina
Anna Khazina
Digital learning project manager at IMT
Profile image for Loïc Dachary
Loïc Dachary
Free software developer
Profile image for Polyèdre
Polyèdre
Computer science student
Profile image for Ildiko Vancsa
Ildiko Vancsa
Senior manager, community and ecosystem at Open Infrastructure Foundation

Developer sitting at a desk doing an online course. CC image courtesy of Publicity Pod on Flickr CC image courtesy of Publicity Pod on Flickr

Want to get involved?

This course is under development and you are welcome to contribute to the content yourself! If you’d like to get involved, please view our project on GitLab. Feel free to use our issues list to ask questions about the project, help with existing issues, or raise new issues.

Stay in touch.

We are still building the course but would love to keep you updated on our progress! Please add your email address so we can keep in touch.