Survey is now closed!

Thank you to all who took part in the survey and also all who have helped out along the way. This has been some incredible journey!

Here are a few numbers to summarize how well the survey went.

About 1000 people took part in the survey among which 354 individuals provided full survey answers. A 35% completion rate is rather high as online surveys are overall known for suffering from low completion rate issues.

Here is the distribution of the survey responses per project (The number on the left is the number of full responses per project and the one on the right, the total number of responses including incomplete ones):

  • Debian: 70 /164
  • Fedora39 / 75
  • FreeBSD: 20 / 55
  • Gentoo: 14 / 33
  • GNOME: 44 / 94
  • KDE: 40 / 106
  • Mozilla: 22 / 50
  • NetBSD: 14 / 26
  • openSUSE: 17 / 89
  • Python: 16 / 34
  • Ubuntu: 46 / 245
  • Wikimedia: 12 / 27

59 countries are represented, the top 3 countries being the US (60 responses), Germany (37), and India (29).  342 people reported their gender among which 39 are women. The age distribution is as follows:

ageDistrib

I have just shifted from New Zealand to France where I am about to start an academic position at Toulouse Business School. I will be starting the analysis of the data by the beginning of January and will be keeping people posted.

Survey update after 1 week

There has been a lot of enthusiasm around the survey. numbers have been steadily increasing everyday.

I thank all who wrote posts about the survey in addition to all who helped out spread the word through social media.

Until today (15/11/12), there has been a total of 148 responses (out of 482 total responses). By full response, I mean people who filled in the four pages of the survey. All questions are optional (so no question is compulsory) but it is obviously better to answer all of them in order for me to be able to run more stats and get some more accurate analysis.

Here is the breakdown of the responses per project:

  • Debian28 full responses (from 65 responses)
  • FreeBSD – joined the survey today! Welcome :)
  • Gentoo - 2 full responses (from 11 responses)
  • GNOME - 28 full responses (from 63 responses)
  • KDE - 25 full responses (from 61 responses)
  • Mozilla - 12 full responses (from 27 responses)
  • NetBSD - 2 full responses (from 6 responses)
  • OpenSUSE - 13 full responses (from 43 responses)
  • Ubuntu - 38 full responses (from 206 responses)

Keep spreading the word, the survey is still live!

Here is the current of posts that promote the survey and/or describe the research project (We are still working on getting more posts):

  1. http://blog.lydiapintscher.de/2012/11/08/guest-post-newcomer-experience-in-kde-and-other-foss-communities-survey/
  2. http://news.opensuse.org/2012/11/07/newcomer-experience-in-opensuse-and-other-foss-communities-survey/
  3. http://blogs.gnome.org/gnomg/2012/11/07/newcomer-experience-survey/
  4. http://blogs.gnome.org/marina/2012/11/07/newcomer-experience-survey/
  5. http://blogs.gnome.org/bolsh/2012/11/14/community-citizenship-survey/
  6. http://upsilon.cc/~zack/blog/posts/2012/11/Debian_newcomer_experience_survey/
  7. http://blogs.gnome.org/bolsh/2012/11/14/community-citizenship-survey/
  8. https://openhatch.org/blog/2012/a-research-project-to-understand-what-does-it-take-to-retain-newcomers/
  9. https://www.linux.com/news/software/applications/666038-survey-how-important-is-newcomer-experience-in-free-open-source-software-projects
  10. http://www.muktware.com/4803/survey-newcomer-experience-and-contributor-behavior-foss-communities
  11. http://www.h-online.com/open/news/item/Newcomer-experience-survey-for-open-source-communities-1748936.html
  12. https://silicone.homelinux.org/~julien/gregarius/index.php
  13. http://blog.mozilla.org/about_mozilla/2012/11/
  14. http://www.ubuntublog.byethost12.com/?tag=kevin-carillo
  15. http://www.omgubuntu.co.uk/2012/11/scholarly-open-source-research
  16. http://www.ubuntuvibes.com/2012/11/take-part-in-foss-community-survey.html

Survey is live!

The final survey for the project about newcomer experience and citizenship in FOSS communities is now live.

If you have joined one of the following FOSS communities within the last 3 years (after January 2010): Debian, GNOME, Gentoo, KDE, Mozilla, Ubuntu, NetBSD, or OpenSUSE, I would like to invite you to complete an online survey. I am interested in hearing from people who are either technical or non-technical contributors, and who have had either positive or negative newcomer experiences.

The survey is available at:

https://limesurvey.sim.vuw.ac.nz/index.php?sid=65151&lang=en

Some more information about the project and the survey HERE.

How to turn a FLOSS community newcomer into a good community citizen?

For those who are wondering about what my PhD project is about, here are a few insights and a brief description about what I am working on.

Attracting newcomers, …Ok. But that’s not enough!

A number of FLOSS communities have realized that attracting new members had become crucial to ensure the success and survival of communities.

There is a large array of newcomer initiatives to help recruit new people within FLOSS communities and turn them into regular contributors. The Google Summer of Code is an obvious example of such initiative. Since its beginning in 2005, SoC has been gaining momentum year after year, this year it was announced that 1,212 proposals were accepted in 180 organizations. Other forms of mentoring (formally or formally) also do happen and are now becoming common practice.

There are also other initiatives such as the use of newcomer sub-communities such as Gnome Love, Debian Mentors, Kernel Mentors and Newbies. Some communities rely on a very formal process to enrol new members relying on sponsorship mechanisms and a fixed joining process or procedure such as the Debian New Member process. There are a lot more other initiatives that I am not aware of.

Attracting newcomers is indeed important but the position adopted in my research is that this is not a sufficient condition to ensure the success and prosperity of a project.

FLOSS communities need good citizens.

Certain communities are growing at a very fast pace. I reckon OpenStack is among such communities as it is gaining a lot of attention and popularity throughout the world. There seems that have been a lot of positive feedback about the OpenStack community success at the latest Openstack design summit-conference 2012.

However, it is highly risky for a community that attracts a large number of contributors as it is important to make sure that new members fit the community mold. Indeed, if a community looses control and a lot of new members do not comply to the code of conduct, commit stuff without considering the people or projects/modules being affected by the commit, do not attend any of the community events, do not help any other members, and are not in any way reliable or dependable in their contributions … The community is in great danger. As such behaviours will keep spreading.

So, yes … it is important to attract newcomers but a community needs to make sure that a certain proportion of these newcomers become ‘good’ contributors from the community perspective. ‘Good’ in the sense that they shall contribute to the well-being and growth of the community, ‘good’ as good community citizens.

This is one of the important aspects of my research. I try to define what a good FLOSS community citizen does for a community. I try to define what good citizenship behaviour is and what it is not.

What do FLOSS community newcomers really experience?

FLOSS communities have launched a wide array of more or less initiatives to attract newcomers and turn them into regular contributors but it seems that the other side of the coin is less understood by communities: the actual newcomer experience. What are the different types of such experience? How can we characterize it? Is there a way to measure such experience?

This is the second important aspect of my research. I am trying to develop a model of newcomer experience that would allow me to measure the various aspects of newcomer experience and compare the various types of experiences.

Abracadabra. How to turn a community newcomer into a good community citizen?

The overall objective of my research project is thus about linking newcomer experience to citizenship behaviours in the context of FLOSS communities:

What are the various aspect of a FLOSS newcomer experience that generate citizenship behaviours within the community?

The answer to this question will help FLOSS communities in implementing practices and processes that will engender and nurture such behaviours. Down the line, it will help communities to be ‘healthier’ and ensure their survival.

Until today, answers to the following questions are still not clear:  How are the contributions and the behaviour of a new member affected if he or she has received formal mentoring by one or several experienced members? What about if the new member has been actively involved in a newcomer sub-community? What is the impact of the quiz-based approach used by communities such as Debian and Gentoo? Is a fixed joining process beneficial in generating good community citizens?

I sincerely hope this research project will help in answering some of these questions and will overall contribute to the well-being of FLOSS communities.


A social contract approach with newcomers and users

Bryan Ostergaard presented a talk entitled “You are doing it wrong” at FOSDEM this year, in which he spoke about the way Exherbo deals with newcomers. Exherbo seems to be doing well (see Ohloh page). The community grows at a constant pace with an average of 5 new contributors joining the project on a monthly basis who seem to stick around for more than a few contributions.

According to Bryan Ostergaard, it is better to attract newcomers who are inexperienced in FLOSS rather than trying to get some experienced people. The idea behind that is that somebody who has already been involved in a number of projects is likely to be  already busy  and may not have a lot of time to give to the project. Indeed, an individual with a lot of FLOSS experience may have the advantage to be ‘ready-to-go’ and may not need much guidance or mentoring, but if this person is already involved in 3 or 4 projects, his/her availability for the project may not be significant.

What’s in it for me?

The first good point that Bryan makes is about making clear that new contributors understand what they can get from getting involved in a project. Most of the projects that I am aware of have a ‘Get involved’ page that explains how someone can contribute to the project, in other words, what one can give to the community. But it may be worth seeing it from the other end and wonder ‘why shall a new contributor join this particular project?’ It is one thing to be told how you can help and contribute but why shall I do it? What’s in it for me?

Experienced FLOSS people may see the advantages of joining a certain project but someone new to the FLOSS world may not. Each project is unique and what you can get by being involved in a project can vary significantly. It first  varies based on the nature of the project itself  and its domain of application. Contributing to a Linux distro or a web server application may have a bigger influence on a CV when looking for a job, compared to having contributed to a media player project. Similarly, projects also differ in terms of programming languages and technologies that are used. In addition, what you can get from a project strongly depends on the values and the culture of the community.

This is the part that shall perhaps be more specifically explained in project websites. What do I get if I join Exherbo instead of Gentoo, Debian, or Fedora?  How is it different? Is one more ‘fun’ or intellectually challenging that the other ones?  Will I get more job opportunities? Will I have the chance to collaborate with top-notch programmers? Will I help change the world? This all depends on what the core values of a project are. Some projects are more pragmatic than others, some others are more ideological.

In Exherbo, Bryan Ostergaard said that when new contributors clearly understand what they can get from a project, then they have a tendency to stick around more. I think this is again some interesting point. People might be attracted by a certain project because it appears to be fun, but this is the kind of motivation that usually triggers short-term involvement.

What do you expect from me?

If a newcomer is convinced that your project is right from him or her, then comes “Ok, what do I have to do?” or rather “What do you expect from me?”. This is especially true if your project does focus on attracting inexperienced people. By agreeing on what you can gain from working on my project and also what you shall do to gain that, it then establishes a social contract in which both ends are clear about what to expect from each other.

A person with little experience in FLOSS may not fully understand what FLOSS is about. This should perhaps be the first thing to mention when explaining to someone what is expected from him/her. The main point here is not about providing a generic definition of FLOSS (even though it could be useful as a brief introduction), it is rather about specifying the vision of the project towards FLOSS. Some projects speak about free software, others of open source, but each project has a unique perspective which is directly related to the project’s values and culture.

Then shall come the community’s expectations in terms of how shall I interact with others? How shall I talk to people? How often and which mailing lists shall I read? What shall I do if there is a problem or something I do not agree with? Shall I take part in the decisions? How important is the community?

Some of these aspects are addressed by the code of conduct that some of the projects have. I personally prefer indicating to newcomers what is expected from them rather than providing them a set of rules or laws that he/she has to obey…

Social contracts with users too!

Bryan Ostergaard also mentions in his presentation the gap that exists between users and developers.  He indicates that Exherbo tries not to make a distinction between users and developers.

In a FLOSS project, users need developers as much as developers need users. There is some kind of symbiosis that keeps a FLOSS project alive and make it grow. As a result, I think that the right approach is to make clear that there are neither users or developers but only contributors. A way to ensure that is also to be specific about the social contract between a user and a project. Again, things must be clear about what a user shall expect by using a software as well as what is expected from a user (such as reporting bug and how to do that, how to talk to developers, suggesting features, promoting the software…).

In this post, I suggest that focusing on a social contract approach with both newcomers and users would help improve long-term involvement and contribution. Practically speaking, it means that projects shall first reflect on defining what they can give to newcomers and users as well as what they expect from them. Then, this shall be compiled into resources on the projects’ website as this shall be one of the first resources to consult when thinking of joining  a project or using its software. Please feel free to comment or debate!

FLOSS project history – A need for historical context for community newcomers

Contributions in a FLOSS project seem to be all the more valuable when they are aligned with the overall philosophy, culture, and direction of a project. As some communities have been around for some 10, 20 or 30 years, philosophy/culture/direction are notions that are historically embedded and which have evolved through the social and technical life of a project.

In addition, a newcomer must have some understanding of the new social entity he/she she wants to be part of if that person wants first to be accepted by community members and then to contribute in a meaningful way. Communities such as Debian and Gentoo have a formal test-based process for people who want to become contributors to ensure that.

Starting from this idea, I browsed through some of the FLOSS project websites looking for project resources that would provide some kind of project history (involving both social and technical aspects that have been relevant during the life of projects) and had to admit that few projects have dedicated pages about the overall project history. I will not say that I did an extensive review of all the project websites, but a look at some of the most important projects tended to confirm the impression I had.

Debian for instance has some pages about project history and has tried to list the major events that happened throughout the various releases. GIMP or Gentoo also have such resources but I have to admit that the documents that I found were not very detailed, often incomplete and overall not very inviting. Another important aspect was that they were not easy to find from the website (I could only find most of them through Google searches and not from the project websites). I will let people who are experts in project documentation to comment on the quality of such documents.

The point of this post is not identify the projects who document their history and those who don’t but rather to raise the awareness of communities about the fact that this may be an important resource to have for potential newcomers. People do join FLOSS projects based on their interests and preferences but there also should be a fit between an individual and the social entity which he or she is considering of joining.

The historical context of a community has a strong influence on all the technical but also social actions that take part in a community. Technical and social aspects go hand in hand when it comes to understand context. A major technical shift in a project may have happened because of a change in project leader or because of a certain conflict that arose between some of the core contributors of the project.

With the limited knowledge that I have about FLOSS communities, I would like to suggest that within each project, some people shall be in charge of recording the ‘living memory’ of the project by focusing on the important technical and social events that have characterized the life of a project. This could perhaps be handled by members of the various documentation projects for instance since those people already have the knowledge and expertise to produce ‘good’ written resources. Whether you want to formally or informally ensure that newcomers do have an understanding of the historical context of a project before starting contributing, this is obviously up to the communities . However, it seems that such resources shall be highly visible and accessible for newcomers on project websites.

Compiling something like the history of the various Linux desktops and distributions would be some fun book to read especially if it includes a lot of the social aspects that have characterized each project … Anyone interested to work on that?

Open Advice and Research

A little less than a month ago, Lydia Pintscher presented her book Open Advice at FOSDEM in Brussels. The book is the result of the collaboration of a number of Free Software passionates and his a collection of essays which focus on helping potential new contributors to get started. The book, in my opinion, does a lot more than that as it provides a wealth of stories, experiences, and insights that are worth reading for anyone somehow involved in FLOSS. A must read!

While going through the chapters of the book, a lot of points made by the authors arose my curiosity as a researcher. As a lot of FLOSS passionates and contributors seem to point out that researchers often study issues that are not so important or relevant for FLOSS communities, I find this book to be a mine of ideas to help identifying areas that are worth investigating and more importantly of high relevance for FLOSS communties.

This post is about one particular aspect that I have found interesting, but there are a million more very interesting things in the book.

Community taxonomy

In chapter 18 entitled  Documentation and My Former Self  and written by Anne Gentle (a community documentation coordinator at OpenStack), a passage caught my researcher eye:

I wish when I started that I had some ability to gather the “social weather” of an online community. When you walk into a restaurant with white tablecloths and couples dining and a low-level volume of conversations, the visual and auditory information you receive sets the ambiance and gives you certain clues about what to expect from your dining experience. You can translate this concept of social weather to online communities as well. An open source community gives certain clues in their mailing lists, for example.

I actually see two aspects in this quote that I find particularly interesting. I would like to dissociate the idea that Anne Gentle develops in the above paragraph from the term ‘social weather’ that I would define differently. I will address the idea of ‘social weather’ in another post.

Each FLOSS community is unique and has unique features like every individual on this planet is unique with a unique personality, unique preferences, unique beliefs, values… Like Anne Gentle points out in her comment, as a newcomer in a community, one has to figure out from the various clues (content of mailing lists, community rules, policy…) how a certain FLOSS community is and how it functions. If the person feels like it is a great place to be with people he/she thinks he/she  will get along with, then the person will obviously decide to get involved. Anne Gentle mentions that it is an ability to perceive the clues, but experienced members do have this ability and the unique nature of each community is no secret to anyone who has been involved for a while in various communities.

People already know that the Linux Kernel, WordPress, Ubuntu, KDE, GIMP, or Mozilla communities are different and the information about how they handle and value newcomers is not something secret. I am not going to mention the practices of each community and compare them on a judgmental value as raising a debate about how good/bad these practices are is not the purpose of this post.

The point that I am trying to make here is that it would be quite useful to design a certain taxonomy of FLOSS communities in regards to how newcomers are handled. This would be quite useful for newcomers as it will provide them some guidance in where to go according to the perceived fit between a certain community and themselves. To design a taxonomy, there is first a need to identify the various dimensions that characterize how a newcomer is ‘handled’ or what kind of experience a newcomer might potential have. A good way to start doing that, would be to talk to people involved with community management and newcomer recruitment in various FLOSS communities. the discussion would lead to some consensus. Off the top of my head, some of the dimensions could be things like:

  • degree of formality of the recruitment process (example Debian and Gentoo seem to be quite formal, KDE probably a lot less).
  • presence of formal programmes (mentoring and others, inside and outside the community: GSoC, GNOME Outreach Program for Women)
  • amount of support provided to newcomers
  • the culture of the community, its core ideas and values (including the sub-culture associated to how newcomers are considered/valued).
  • technical barrier of entry
  • the code of conduct and other behavioral expectations from the community
  • average duration to become a contributor (or get commit access, be a maintainer …)
  • proportion of people who decided to get involved and eventually became core contributors

There are a lot more potential dimensions that would be worth exploring. Once the interviews are run and the dimensions are identified, then each community can be mapped along the dimensions. If all that can be compiled in one single resource or place that potential newcomers have access to, I reckon it would be of great benefit to newcomers.

I also think that it would be of great benefit for the communities themselves. This would enable some kind of pre-screening of potential contributors and I have a feeling that the ratio of newcomers who then become community contributors would be higher. Newcomers would know more about where they are going instead of having them figuring out after a couple of months that he/she does not adhere with the community culture or the procedure to commit code for instance. Some people might say that newcomers are adults, shall figure it out by themselves and do some homework before joining but as Anne says, perceiving the clues is some skill that one gets over time…