“Selling” Open Source

For the purpose of this post, I’m going to leave the debate between free software and open source software aside. I believe the nuance is important within technical communities, but a detail that tends to complicate things when brought into situations with people with less technical backgrounds. 

When I first started working in Indonesia I had a hard time getting people interested in using QGIS and in turn InaSAFE (QGIS is desktop Geographic Information System Software (GIS) and InaSAFE is a plugin that allows people to calculate the potential impact of a disaster).

My approach in the United States had been “it’s free!” In Indonesia, this approach often received the response “so is ArcGIS, I can just get a copy of it”. I also occasionally tried the Richard Stallman version ‘“free” as in “free speech,” not as in “free beer.”‘ Though “free beer” doesn’t resonate well in majority Muslim countries for reasons beyond explaining software licenses.

Virus Free!

The people I interacted with were familiar with getting viruses from pirated software. So telling them that QGIS didn’t have any viruses did get some people’s attention. I started using that as one of my selling points.

You Can Modify It!

Usually being able to modify the software doesn’t get most people’s attention. The majority of people don’t know how to program and learning often seems unlikely. When teaching open source in Indonesia we used the “you can modify it” route to mean you can provide input into future releases and we tried to be as responsive as possible to this. We didn’t get as much input as we hoped but we got some.

It’s Easy!

This one would have been much more difficult in the early days of QGIS. It took a long time for it to become comparable to ArcGIS (the commercial competitor). In recent years that has changed so ease of use has become more of a selling point. InaSAFE was developed as a wizard, so much of the focus was on making it easy. InaSAFE was taking complex scientific models and trying to make them accessible to the average disaster manager. It needs to be easy so people would use it and not feel overwhelmed.

In Your Language

Having both software and documentation in Indonesian helped as well. Particularly the software. It makes it easier for people to learn and helps show you are making an effort in their country as well.

Ultimately it took a long time for things to begin to catch on. Part of that was InaSAFE was new and also methods of getting people interested took some trial and error. The other part was figuring out how people might get interested in open source. Open source is not accepted to the same degree across various cultures and societies. The beauty of it being modifiable is we can look for different methods for it to gain acceptance.


Open Source Community Manager?

While I was going to college I had a job at a shelter for horses. The staff at the shelter was small, four people not all full-time. We had quite a few volunteers who helped in a variety of ways. There were a few that were very consistent and came every week to do a specific task. Others would come more sporadically, sometimes only once. I always remember during the winter at this job shoveling manure alone most of the time, especially when it was really cold or there was a lot of snow. Those few very consistent volunteers still always came to help no matter what, but most of the others disappeared until spring. We were also always giving tours for new potential volunteers, but they seldom turned into regular consistent volunteers. I didn’t realize it until later, but one of my roles working with the volunteers was very similar to what an open source community manager does.

An open source community manager’s role is to facilitate, enable and improve processes to ease contributions to a project. Below I’m going to focus on volunteers, but open source communities often include people that work for non-profits, companies or freelance. The same techniques are applicable to these individuals as well. Recruiting, training and assisting volunteers can be a large portion of this role. It is important to under styles of volunteering to effectively perform this work.

The structure of volunteers in open source and on the farm have quite a few similarities.

  • Consistent volunteers: these would be maintainers or others who are generally always there. Some have the one task they can be depended on to do.
  • Occasional volunteers: these individuals tend to step in when there is a particular problem to be solved and can sometimes be recruited when there is an extra need. In software this might be a big release at the farm it tended to be our annual open house.
  • One time volunteers: At the farm these types of volunteers generally had just not decided to volunteer after one attempt. In open source that can be the case certainly, but there are also volunteers that stop by to log a bug or submit a patch for a specific issue that affects them.
  • Never volunteers: There are also those who are aware of the project and never become volunteers.

In a perfect scenario that one time volunteer would turn into an occasional volunteer and then someday become a consistent volunteer. While that certainly does happen, it’s rarely the majority of cases. Here are a few possible reasons:

  • Issues and pull requests take a long time to be responded to
  • Paths for contributing are not clear (lack of documentation)
  • Not feeling like contributions are valued (often non-coding contributions are treated this way)
  • The communities style of communicating is not welcoming or is even hostile
  • Lack of a code of conduct
  • Not enough time to contribute

While some of these barriers there is little a community manager can do, but there are others where improvements can be made to create and retain more volunteers. Helping facilitate a process to implement a code of conduct for example or improving documentation for contributors. Making sure people feel their contributions are valued sometimes can be as simple as thanking people.

The roles and tasks of a community manager can vary depending on the nature and style of the project. Enabling contributions is a key part of the role, but how that is done can vary.

If you know one, thank a community manager today.

Rainbow over the Barn

Yep, I use Windows. Here’s why

I first began using a computer when I was in elementary school. Since that time I’ve had too many machines to reliably count. I’ve also tried a variety of operating systems. Two and a half years ago I switched to Windows as my main one. I sometimes get confused looks and occasionally get scoffed at for it. I have my own bias as well where I feel like I need to explain myself (such as in posts like this).

I made a conscious decision when I switched. It did help though that the Surface Pro 3 was a great machine when I made the switch, but more importantly I decided I should be using the same OS as the main users I’m trying to reach. In my time working all over the world in tech, never have the marginalized people I aim to help been running a Mac or Linux. What they do have however is technical problems I can help them solve. I find this faster and more efficient by using Windows everyday and understanding how it works well.

There are probably others out there that are able to just run Windows sometimes for testing or remember enough from before to be efficient. I’m just not one of those people.

Typed from a new machine running Windows