10 Secrets to Sustainable Open Source Communities

OSCON

Elizabeth Leddy gave the next talk I attended entitled: Wish I Knew How to Quit You: 10 Secrets to Sustainable Open Source Communities. Elizabeth works with Plone but wasn’t really involved in open source until about 5 years ago. With open source we often start by working at a company that supports a specific open source application and there are two paths we can take. One path is that you start to get annoyed with the way things are going and so you jump to another open source project. Or you can get involved in the open source community so thoroughly that you can move from one related company to another (this is what I have been doing with Koha so I totally understand this path).

The goal of Elizabeth’s talk was to make sure we all create loving communities like the one around Plone. When picking your community you should think about what you want to get out of it and what you want to contribute. Open source isn’t just about code. The people in your open source community (if you’re like Elizabeth or me) are the first people you say good morning to – you wake up and get on IRC and say hi to your family. Elizabeth said that she sometimes wakes up and feels like she has 400 brothers … I totally agree … but I’d change that to ‘siblings’ :)

#1 Make Plans

When developing your community you have to make it clear that you’re in it for the long term. You need a plan for marketing, legal issues, documentation code cleanup – and much more!

One problem communities have is that they hold one person or a few people up as the experts in the community and the fact is that they might one day go away so you need to create a leadership pipeline (something I think Koha is good at). In addition to the fact that these people might go away – you really want to help new blood jump in to leadership roles. Also you don’t want to burn people out! You need spread the wealth.

#2 Break Plans

In addition to creating plans, you have to break plans! Don’t get so stuck on your plan that you don’t embrace change.

Make sure you keep metrics to see what’s going on in the community. Bad sentiment is hard to combat. Counter attack that by measuring community success like you would performance and share that info (I think of Chris Cormack’s Koha stats sharing with each release).

#3 Think Globally / Act Locally

Remember that there is going to be a language barrier! Many people to speak English, but they don’t “prefer” it. This means that people might take longer to reply on a mailing list because they’re translating and trying to decipher what’s being said. It also means that tone in things like flame wars might get lost on these community members.

One way to handle this is to provide multiple language channels – on IRC, mailing lists, websites etc. Also you can encourage local symposia so that people can learn about the software in their area and don’t have to try and travel.

At the very least make sure that your ‘how to contribute’ documentation is translated into several languages! That way people around the world can contribute to your project in the way you want.

Diversity isn’t just about accepting women! It’s about accepting people of different nationalities, sexualities, backgrounds, companies, etc etc.

#4 Communicate

Offer to mentor new people. Always give feedback instead of just replying with +1! Ask your community members for code reviews so that you can get better – and if others ask for reviews help them – in the end you all make the product better. Remember to thank people – especially the people behind the scenes who are doing things like managing your domain name or hosting your mailing list.

#5 Culture

We have to think about culture. “Culture is best perpetuated in person” … but most open source happens online. So coming up with as many ways to meet in person can really help your communication and community growth.

Remember to be transparent. Work in groups on new developments so that here is more trust. Nothing can be implied or assumed – you have to share everything out in the open so that the community knows what’s going on. You can also find people who have maybe disappeared and reach out and ask them what’s going on – it might be as simple as life has gotten hard for them and they’ll appreciate the support – even if it’s just beer delivered to their doorstep.

In person meetings shouldn’t focus just on code – more importantly we want to educate the new people, we want to hash out the problems while you’re in person. Getting people to participate is more important than fostering observers … if the focus of an in person meet up is on producing code you might end up with this.

#6 Stop Recruiting Developers

There is a lot of stuff that has to get done in a long term project that does not include code. Things like marketing, business, documentation, legal and fiscal issues. For Koha all the documentation for users was written by librarians (not developers).

#7 Redefine “Participate”

Make sure it’s not just development

#8 Governance

Think twice before contributing to a project without non-profit foundation. Koha has seen this problem … but at the same time I’m not a fan of absolutes (never/always) so I of course contribute to Koha and always will even while we figure out the legal issues that a foundation could help us with.

Foundations can also help with conference planning, fundraising, infrastructure – they don’t have to have any say in the technical decisions if you don’t wan them to.

#9 Lose Control

Have diverse, self policing redundant teams. Other projects do have tight control and work just fine, but having groups means that one person can drop out and you don’t end up scrambling to fill the spot.

#10 Be Awesome / Expect Awesome

You’re responsible for the energy you bring into the room! The tone of your voice and how you treat people will effect everyone in the community. Thank you Koha family for having an awesome energy and welcoming all new community members!!

OSCON Keynote: Redefining What’s Possible On Mobile and Cloud

OSCON

And the final keynote Mark Shuttleworth from Ubuntu. This conference is Mark’s favorite because “The people in the open source community have extremely generous hearts.” The truly amazing thing about open source tools is that they end up getting used for things that the original developers never considered. Mark called open source tools the “tools of opportunity” which is a great way to think about open source.

Mark showed us a model of the Ubuntu Edge (check it out on indiegogo), which has the goal of having enough power to give you the desktop experience in your hand. One thing that mark talked about that is great (the other devices that will rename nameless have failed to do) is the fact that the devices need different, but yet familiar interfaces. You want to have an operating system that’s the same, but optimized for the device you’re using it on.

Mark also showed us JujuCharms which he talked about as a replacement for the white board, but it’s so much more than that. From the website:

With Juju you can begin deploying services and building relations immediately. Just find a charm and add it to your canvas to get your environment started. It’s that simple.

OSCON Keynote: inBloom Vision and Impact on Education

OSCON

Up next was Sharren Bates from inBloom, a not for profit interoperability company that works with schools in the US. inBloom is getting in to open source to enable the sharing of data between all systems in schools – they’re not there yet – but they’re nearly there. This will get inBloom a lot of things (enthusiasm, expertise and more from community members) and it will let them share a lot of things (their knowledge of schools, education, etc).

I think this particular project is on that libraries need to make note of – especially open source library systems.

OSCON Keynote: Open Source: The Secret Ingredient

OSCON

Todd Greene from Media Temple was up next.

He started talking about Linux – how it’s 1 platform with 6 different interpretations. Todd used the example of the ‘omelet’ in this comparison. The secret ingredient in omelet making – in open source software – is YOU.

MT came up with a set of values to making open source successful:

  • work with extraordinary people

  • get things done
  • always been curious
  • enjoy the journey

OSCON Keynote: The Joy of Flying Robots with Clojure

OSCON

For our next speaker, Carin Meier, we were asked to turn off our devices so that we could watch demos of clojure controlled robots. We watched Carin control her roomba and her drone from her computer – even making the two “friends” with each other.

Since I couldn’t live blog cause my computer had to be off, you can watch the video here:

OSCON Keynote: Creating Communities of Inclusion

OSCON

Up next was Mark Hinkle from Citrix.

Mark started by talking about we can include more people in our communities to make our software better!! First off, all communities are not created equal – and just because they’re different doesn’t mean one is any better or worse than the others. Open source communities all benefit from shared development.

Next up a quote I will be adding to my presentations : “If a new user has a problem, it’s a bug in the code or the documentation. End of Story.” – Jordon Sissel.

Karl Fogel author of ‘Producing Open Source Software’ is working on an updated version of his book in which he’s including the community in the process. The easier it is to make people contribute the more they’ll contribute.

Mark talked to us about the Open Prosthetic Project. The prosthetics used today are based on a 1912 patent! There was no way for people adapt that model to their needs – enter the Open Prosthetic Project.

View Mark’s keynote on YouTube.

OSCON Keynote: Open Compute Project

OSCON

Next up was Jay Parikh from Facebook to talk to us about the Open Compute Project. Jay jumped in to explain where the project has come since last year … but didn’t explain what the project was, so this is from the official site:

We started a project at Facebook almost two years ago with a pretty big goal: to build one of the most efficient computing infrastructures at the lowest possible cost. We decided to honor our hacker roots and challenge convention by custom designing and building our software, servers and data centers from the ground up – and then share these technologies as they evolve.

Jay talked about 2 projects that Open Compute is focusing (there are many more). The first was the OCP Networking project which focuses on creating a vendor agnostic switch to allow us to separate our hardware from our software – giving us more choices.

The next project focused on data – our photos in particular. There are over 200 billion photos on Facebook that are not accessed that often. Facebook can’t lose the photos and the users won’t accept if things slow down because the system has to store all of these photos in the same place. So what they decided to do was create a data storage center that was separate from the compute heavy server center. The goals of this new center were:

  • handle massive scale
  • they have to be durable – can’t lose data
  • they have to make things highly efficient

Jay then went in to more hardware-type information than this software girl could follow along with … but it all looked pretty darn impressive.

OSCON Keynote: On Open Intelligence

OSCON

The keynote was started with an intro by the conference organizers reminding us all that not having a license on our code is a bug not a feature! So go to http://choosealicense.com and pick the right license for your code and make sure you add it to your github account.

Our first speaker was Jeff Hawkins from Numenta Inc.

Jeff Hawkins at OSCONJeff talked to us about the human brain – the most interesting thing in the universe (according to him). He set out on a career to discover the operating principles of the neocortex (it’s just a bunch of cells – how hard could it be? – where have I heard that before?) and build systems based on those principles. The result of this was the Cortical Learning Algorithm (CLA) and NuPIC (Numenta Platform for Intelligent Computing).

Jeff started by explaining out the neocortex works … while it was interesting to listen to … I have no idea how to explain what I just learned to you all :) Jeff even said to us all “This stuff is hard!” so I don’t feel so bad.

CLA is the key building block for machine intelligence. NuPIC is the open source repository for CLA and it’s a community for machine intelligence based on cortical principles.

NYLA: Leadership on the Digital Frontier

Screen Shot 2012-11-09 at 11.56.16 AM

I arrived late to this session (somehow I thought it was starting 15 minutes later), so I missed Geoffrey Kirkpatrick’s introduction, but here’s what I got after arriving.

He told his team, “if you’re not playing 10% of your time you’re not doing your job.” Some of his staff understood this right away, but others weren’t sure what he meant by play, saying things like, “you don’t want to see me playing word of war craft” to which he responded, “well maybe I do – what do you want to do with it.” When asked what the value of this play time was, the speaker pointed out that the value of play is not a monetary one – most times you lose money on it, but it changes the organization in ways you never thought of and that’s the fun part – the good part. Play opens the library up to opportunities that would otherwise be missed. The other thing to note is that even our failures are valuable. We learn both through our successes and failures. The goal is to get people to the point where they know a product/tool/technology so well that they can instruct people without looking at their own screen. To get to that level of understanding is both gratifying to the administration and the person who learned through play.

Next up was Johannes Neuer from the New York Public Library. Last week when Sandy hit the library’s website was shut down, but they were able to keep in touch with their patrons via social media because they had built up such a presence already. If anyone questions if libraries can afford to be on social media, the question really is can we afford not to be! This all started with the Digital Foundations Initiative at the library several years ago. In the beginning everyone at the library had the passwords for the social media accounts and they went directly to the networks to post, but that opened them up to security issues so they decided at first to use Hootsuite Pro. That way they just had to log in to Hootsuite with their own info and were given access to the social networks. They went a step further and scheduled their posts to all social networks so that patrons aren’t bombarded with everything at once.

The first tip to being successful on social media is to listen! Pay attention to where your patrons care congregating (online) and what they’re saying. Build social media in to your work day, find 15-20 minutes each day to compose a post and then a few minutes later in the day to check and see what comments have popped up around your post. Another tip was to create a calendar for types of posts. Using something like Google Calendar to schedule (for example) the first Monday of each month to be a post about a new event. You also want to think about your audience. If you have patrons in different timezones they might miss what you’re posting if you post it while they’re sleeping or not at work. Johannes said that early evenings seems to work best on Facebook (for them), but Twitter is much more fickle and harder to pin point a good time. Twitter is also faster moving so it’s hard to catch people’s attention at any specific time. Use you calendar/schedule to test different times – see what kind of response you get at each time. To catch more people on Twitter be sure to repost thing throughout the day so you reach everyone – but don’t do that on Facebook. NYPL uses SocialFlow. We might use “social media” to refer to all of these tools, but you need to be aware that each one has its own culture that you have to learn. So on Twitter you can repost things over and over, but on Facebook that’s more frowned upon. Another network that NYPL is using is Tumblr which is a very bookish community and great for libraries to be a part of.

Johannes was asked how he keeps up with the latest social media tools. He used to keep up with blogs, but it has turned in to an echo chamber and that annoys him. Instead he subscribes to SmartBrief for Social Media which aggregates content for him in one place.

One final note – Email is still being used! Email is a great way to get people to do things. Set up an email newsletter at your library. “Email is a driver of action” and it’s not going away. If you have a WordPress site I recommend Wysija.

Lauren Britton was up next to talk about the FabLab at the Fayetteville Free Library. The FabLab is where you can make things – from kitting to painting to podcasting. This means that they have sewing machines, 3D printers, podcasting stations, digital cameras, and more. This opened up the library to all kinds of new experiences and patrons. People who weren’t using the library before started to use the library because there was something new and of interest to them. This project also showed other libraries that they too can create maker spaces like this and reach more of their audience. While the technology that many of these spaces have is awesome, it’s really the fact that they are a space where people can connect in the library.

Internet Librarian Wrapup on NCompass Live

397px-Snow_flake.svg

Yesterday I was on a live webinar hosted by NCompass with several other Internet Librarian presenters talking about what I learned at the Internet Librarian conference this year. The recording will be available soon via the archives if you’re curious to listen. One of the things we talked about was what made the most impact on us, or left us thinking, from the conference. The one thing that has stuck with me (and that I have been sharing with people) was a Twitter conversation that happened as the result of something Cecily Walker said on our panel Tuesday night. Cecily wanted all new librarians (and current ones) to know that we’re all “special snowflakes” and an audience member tweeted back asking who would do all the work if we were all special snowflakes.

I didn’t get to talk to this person after or during the presentation, so I can only assume that this comment came from a bad experience with someone who both thought they were special and entitled. However, I know that Cecily didn’t mean it that way and I have to agree with Cecily. We all have something to offer, we all have skills that maybe no one else around us has, or a point of view that deserves to be heard. Too often I see people being very passive in their careers (not just librarians) and just going with the flow – but what fun is that? That makes your career a job, something you have to do to get paid and that’s it. I want a career that I love, I want to work with people who value my experience and my opinion, I want a job where I get to be special – and I have it! Does that mean I don’t do the day to day boring stuff? Heck no! It’s all part of the package. But I enjoy the “boring” stuff much more because I’m doing it for a company I love, for customers I love, for a product I love, etc etc etc.

A quote I share in my open source talks fits very nicely here:

The best person to do a job is the one who most wants to do that job; and the best people to evaluate their performance are their friends and peers who, by the way, will enthusiastically pitch in to improve the final product, simply for the sheer pleasure of helping one another and creating something beautiful from which they all will benefit. [Howe, J. (2008). Crowdsourcing: Why the power of the crowd is driving the future of business. New York: Crown Business. p.8]

So, what I want you to take away from what I learned is that special != entitled and we all have something to contribute – and should all contribute – and if you work somewhere where individuality is not appreciated and your contributions are not given the praise they deserve it’s time to find a new job.

[update]The recording is live now. Listen if you’d like.[/update]