What's going on in the mind of the user as they use your system? Did they choose it, or was it chosen for them? Do they like it or hate it? How can you tell?
Users are different. Some are technical, others aren't. Some are passionate. Many are silent and enjoy (or not) your project without any community interaction.
This talk will discuss the different types of users that exist, and their motivations. It'll take a tour of some of the study around this topic.
This talk will not talk about how to change your users, get them to be more (or less) involved or more (or less) passionate; although there will be time at the end for an open discussion on that topic.
Manuals are boring, but learning is necessary.
New contributors often have to figure out how to operate the tools of a project, like IRC, git, or svn, in a highly social environment: public communication between peers. When, for example, you post your first patch to a mailing list, it’s intimidating to know that your mistakes with the tools might reflect poorly on your programming skill.
Some video games have a “training level” where you can get shot without dying. Open source could have a training level where you can learn the skills you need without getting burned.
Our community built one. The OpenHatch training missions are a group of interactive web pages for learning skills you would use when contributing to free software like using diff, patch, tar, version control, IRC, and so on. A training mission shuns “manuals” and long, boring blobs of text, and it protects its users against learning through trial by fire. We say, “Here’s a short, concrete task to perform. Interact with our web-based robot, and it will tell you if you succeeded.” You can build up your comfort in a space without embarrassment.
Project maintainers often end up teaching basic community skills to new contributors. If you can ask them to complete a relevant training mission, you can save time and have a more knowledgeable contributor base.
In this talk, you will learn about the current training missions and discuss as a group how they can be useful to the attendees. We will highlight the training mission for a version control tool in which you are an agent for Mr. Good trying to gain the trust of Mr. Bad. We will discuss the diversity ramifications of learning community skills in a safe environment. After a tour of the OpenHatch community that built them and the Django-based implementation, we will discuss the attendees’ situations with new contributor skill levels and identify the most useful training missions to build next.
by l.m. orchard
Open Source projects are most successful when they attract enthusiastic and capable contributors. But, often the first thing a new contributor to a web development project faces is a README file with a long list of instructions needed to even get the thing running.
And that’s if they’re lucky: Just as often, the necessary documentation is incomplete or missing entirely, leaving a new hacker no way to get involved without investing a lot of time up front.
This is no way to treat potential volunteers; they’re doing us favors by spending time with our projects. In return for their time, we should do the best we can to make our projects accessible and rewarding without unreasonable demands.
To that end, we can use modern tools like VirtualBox, Vagrant, and Puppet to turn walls of text into virtual machines. We can offer simple bootstraps and even bootable disk images to can get new developers started quickly, allowing them to explore a running system rather than demand they understand the complete stack before the first page view.
At ISC, we work hard to develop and maintain high quality software
that supports critical internet infrastructure. We have been working
over the last two years to move our managed open source model into
an increasingly open development methodology. We are also doing
collaborating development with organizations around the world and
have embraced agile as a development methodology. Pulling all this
off while developing and supporting critical internet infrastructure
is no easy feat; hopefully some of what we've learned in the effort
would be useful to other open source citizens.
21st–24th June 2011