Tag Archives: leadership

Triple Bottom Line in Open Source

One of the more thought provoking things that came out of the OpenStack leadership training at Zingerman's last year, was the idea of the Triple Bottom Line. It's something I continue to ponder regularly.

The Zingerman's family of businesses definitely exist to make money, there are no apologies for that. However, it's not their only bottom line that they measure against they've defined for themselves. Their full bottom line is "Great Food, Great Service, Great Finance." In practice this means you have to ensure that all are being met, and not sacrifice the food and service just to make a buck.

If you look at Open Source through this kind of lens, a lot of trade offs that successful projects make make a lot more sense. The TBL for OpenStack would probably be something like: Code, Community, Contributors. Yes, this is about building great code, to make a great cloud, but it's also really critical to grow the community, and mentor and grow individual contributors as well. Those contributors might stay in OpenStack, or they might go on to use their skills to help other Open Source projects be better in the future. All of these are measures of success.

This was one of the reasons we recently switch the development tooling in OpenStack (DevStack) to using systemd more natively. Not only did it solve a bunch of long standing technical issues, that had really ugly work arounds, but it also meant enhancing our contributors. Systemd and the journal are default in every new Linux environment now, so skills that our contributors gained working with DevStack would now directly transfer to any Linux environment. It would make them better Linux users in any context, not just OpenStack. It also makes the environment easier for people coming from the outside to understand, because it looks more like what they are used to.

While I don't have enough data to back it up, it feels like this central question is really important to success in Open Source: "In order to be successful in this project you must learn X, which will be useful in these other contexts outside of the project." X has to be small enough to be learnable, but also has to be useful in other contexts, so time invested has larger payoffs. That's what growing a contributor looks like, they don't just become better at your project, they become a better developer for everything they touch in the future.

Leadership Summed Up

If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.

-commonly attributed to Antoine de Saint Exupéry

I saw this most recently in Neil deGrasse Tyson's testimony to Congress. I think it applies very broadly.

People aren't machines, and actually react very poorly to detailed mindless instructions. But give them a goal, a vision, something they believe in and think they can do, and you'll find that you only need to do minor direction to accomplish those goals.

How to keep a group vibrant

Over beers after Drupal Camp, 4 of us from the Poughkeepsie area were discussing how impressed we were with the organizers pulling of a 300 person event so successfully. As someone that organizes things, I understand how much work that was.

I was sitting next to Jeff, who is the president of the Mid-Hudson Computer Users Group. At some point the topic turned to running local groups. Of all the local technical groups in the area, the LUG has the lowest average age of attendees, by a pretty good margin. We have our share of retirees, but we also have a lot of middle aged professions, young professionals, and even the occasional college or high school student.

So I got asked the question "how do you guys do it?" This isn't the first time I've been asked that by leadership of other local groups, at times I've had chats with ACM members as well. The answer?

Honestly, I have no idea.

I can bloviate and speculate, which I will. Maybe there will be some truth or usefulness in it. But I in no way claim that I have any real answers, or that any of these statements below answer anything. They just are what they are.

Linux is hip and exciting... at least it was when we got started back in 2003. If you look at our early talks they were very very Linux focussed, basic how to kinds of things. Linux was in the press all the time, so we benefited quite a lot from that. Our first meeting was 53 people, which blew my mind. Granted, at least 20 people at that first meeting were people I directly worked with at the LTC, who were coming out to support my kickoff effort, but success breeds success, and having that many folks out of the gate was important to keep us at a high critical mass while we got discovered in the community.

And that point of discovery can't be made enough. How do people find out about things?

Word of mouth is powerful, and remains the best way to get the word out. Word of mouth is what gets butts in seats, because people trust friends and acquaintances to point them at good stuff. Word of mouth breaks down after a certain point because that can only travel among people you know. There is a whole other point here about visibility horizons and seeding other groups, that's probably a post on it's own at some point.

Beyond word of mouth there is serendipitous discovery. If you are in your mid 30s or up this includes event listings in the local papers, maybe a flier that you find at a library or some other space. If you are younger than your mid 40s this means Google. While there is an overlap it's important to understand that the only way anyone under the age of 35 is going to find your group is via the internet. You must have a website, and it must be a focus. It has to be easy to find information, it has to look good, and it can't be out of date. I did the overhaul of the mhvlug site last year based on Drupal to get us there, and I feel pretty good about the results.

Networking is also really important, which is funny, because I'm not actually that good at it. But as a group leader people are very willing to come up to you afterwards to ask a question or say a thing or two. It's important to do your best to cultivate those interactions, because out of them can come some amazing things. I actively try to keep up on what our members are doing and working on in the public. As I'm now organizing our March show and tell (the last meeting I'm in charge of organizing), I'm just running through every cool project I've heard people mention in the last 6 months, and sending out email to them to get them on the schedule. I'm actually giddy about it, because it's going to be a really cool meeting based on responses I've already gotten back.

And that brings us to another point, how to get meeting content. If, like us, your group real life event is primarily a lecture series, having a good set of talks is important. Because of the Dunning Kruger Effect, people that are qualified to speak on a subject won't volunteer, and people that do volunteer may very often not be qualified. This means you pretty much have to specifically ask someone to give a lecture. Creating diversity here again means knowing enough people working on enough things, and reaching out to them to give a talk. It's always best if it's something that's their baby, passion for a subject makes people very tolerant of the speaker, even if they aren't very polished at presenting.

One other thing that's worked for us is ensuring there are social events as well. The meeting is business, has a talk, and we try to keep it on topic (more or less), but we've got dinner after, and lunch once a month, which just lets people know each other more. Ask people what they are working on, or what excites them during these events. It lets you get to know some new people, which help a lot on the networking front.

So, our current good fortune may have something to do with these wanderings, there may be other things as well, or I may be complete off base. Again, Dunning Kruger probably means I'm the worst person possible to figure out what's working or not. Every time I think I've figured out this whole running a group thing, I find something else that I need to change to make things better. It is definitely not a destination but a journey.

Comments on this are especially welcomed, as I'm very very interested in other people's experiences and suggestions. I'm always interested in learning how to do this better.