Is training to become a better contributor worth considering? | Opensource.com
Is training to become a better contributor worth considering?
Loïc Dachary, a Free Software developer and activist and the President of the Free Software Foundation in France, noticed something while attending the OpenStack summit in April 2012.
As corporations joined the project and assigned developers to work on OpenStack, all of them knew about Free Software and some even contributed to it from time to time. They were all surfing the wave of the Cloud and it was an unprecedented opportunity for them to make a difference, to share their work on a daily basis.
But, this would be a cultural shift that turned out difficult to overcome; even more so because nobody talked about it. He heard stories from developers working for an employer who gave them permission to work on Free Software full time, but it just wasn't happening. Their work did not make it upstream, it stayed within the company.
Pushing free software contributions upstream
Loïc Dachary says that the training program called Upstream University was born from the unusual idea that training to become a better contributor is worth considering. Read more from our interview with him here.
Q: How did the rise of Free Software create opportunities for collaboration between individuals and organizations?
The launching of the Free Software movement by Richard Stallman the mid-80's was instrumental. Sharing is not encouraged in the corporate world: there was, and still is, a need to advocate for it. Decades of advocacy have won many battles because the nature of software is to be shared and to evolve through the contributions of many. The general public is growing more and more aware of the philosophical nature of the Free Software movement, to the point where most people working in computer science know about it and like the freedom it offers.
When assigned a work where sharing is forbidden or discouraged, they think about Free Software and ask themselves: Why can't I share this software with my friends and coworkers? The idealistic approach of the Free Software movement is transforming collaboration between individuals and organisations.
Q: What do you believe is the full potential created by this revolution?
I think it's impossible to even guess what the full potential of Free Software is; I am convinced, however, that our future will be shaped by Free Software, because it's the only sensible way to live with software. Any restriction imposed on the distribution, modification, or usage of software cripples it and is detrimental to everyone.
Software is a revolution that is just beginning, and it may take centuries before we understand its full potential.
When I attended th OpenStack 2012 Summit, I left with the feeling that a formidable workforce was available to work on OpenStack and, by extension, on all Free Software projects, but only a fraction had actually figured out how to contribute effectively. Even though there was no obstacle whatsoever, it was not happening. And from this emerged the idea of a training for contribution, simply to help every developer become a better contributor and reach her or his full potential.
This was an opportunity to organize such a course, which was probably not possible ten years ago because the number of developers paid full time to work on Free Software was significantly lower.
Q: Why a training program?
The goal is simple: get better at contributing to existing Free Software projects. It is not about creating a new project, it's about becoming part of one. Becoming a contributor is easy, people are welcoming, and it's a rewarding experience. To the point that we forget that it's worth training for it. Running is easy too. But if you want to go to the Olympics or get sponsored, you better learn and train for them.
The best way to improve is to get involved. Each student enters the program with a contribution that matters to her or him. And the training completes when their work is accepted by the upstream, when it becomes part of the Free Software project. Completing a contribution could not be done within the traditional timeframe of professional training. The upstream may not be available and it often takes more than a week for the simplest contribution to get accepted.
Q: What are the phases of the training program?
The first phase of the training is live. We spend two days going over the contribution process and initiating the work on the planned bug fix or feature. The second phase is when the actual learning experience occur. The online mentoring sessions. The Upstream University mentor meet with each individually and they get to explain during 15 minutes what they did since the last session. During the next 45 minutes the student and the mentor discuss about ways to get the contribution accepted faster or they try to find the path of least resistance.
The training ends when the contribution has become an integral part of the upstream project.
Q: How can an interested developer convince his company to sign up?
It is usually surprisingly very difficult, but there is one instance where it's very easy.
When you are a good contributor, you directly benefit from the expertise and advice of the project leads. They are, more often than not, experts in their fields, and the company could not possibly recruit them. By becoming a contributor, the developer does actual work under the direction of someone who is not on the company's payroll. The more you contribute, the more you benefit from this expertise. By helping the developer increase his contribution rate, Upstream University also indirectly allows the company to benefit from this expertise. This alone is an immediate return on investment.
The difficulty lies, again, in the unusual idea that training to improve your contribution skills is worth considering. It is difficult to get someone interested in the return on investment in something that has never before been considered.
It gets very easy when a developer's manager keeps asking why the contribution rate to the Free Software project is low. For instance, in the OpenStack community, companies compete for the most prolific contributors, so it is usual for managers to keep an eye on the number of contributions and their frequency. New developers who join such a team may be hired for their technical skills, and not for their past experience contributing to FreeSoftware. Training them with Upstream University gets them quickly up to speed.
Q: What have you learned from the conferences you've attended? And, what do you hope to gain from the OpenStack Summit this year?
We attended many conferences this past year—OSCON,Europython, Python Brasil, FOSDEM, LSM and LibrePlanet—to spread the idea and train students.
Each conference is an opportunity to experiment with new ideas. The highlight of the live training part is a simulation of Free Software contributions using a large stack of lego. Instead of having us keep the latter in the training room, the LibrePlanet staff for instance allowed us to set it up on three tables in the hallway of the Harvard Science Center, for everyone to play with. When we got out of the room, a children's playground had emerged, built by people passing by. My favorite is the spaceship, which came with a note about its release under GPLv3.
The OpenStack summit will be held on Upstream University's first anniversary, and we have organized a training session in Portland for the occasion. I will also be giving a talk on Monday to share our experience and hopes for the next year. It will be a very busy week and my hope is that more and more people will take time to train to become better contributors, either through Upstream University or any other organization.