Mozilla is a community of do-ers!

The Mozilla Summit is coming! On June 15th,  50 Mozillians got together for a planning session and I discovered just how much Mozillians focus on getting great things done!

We met to help shape the Mozilla Summit (a 2,000 person conference happening later this year) in a way that would move Mozilla forward. We spent the first day talking about top issues and the second day planning out the topics and sessions.

Photo sent to me by Shez (But Shez is in the picture so not sure who the photographer is!)
Photo sent to me by Shez (But Shez is in the picture so not sure who the photographer is!)

Of all the trips I’ve taken this year, I think the Mozilla Summit Planning Assembly was the one I looked forward to most – a chance to help shape the future of Mozilla and have great conversations with people who are passionate about the same things I am! I also admit I was really worried that we were too big of a group to get anything done. Turns out I was not alone. We all showed up ready to set the content and agenda for the Mozilla Summit.

A day of tough discussions and building trust

We had some excellent conversations Friday night and Saturday. We did a number of different exercises designed to start conversations and pull out key themes. For example, we started out  Saturday with an “unpanel”. Four people sit in the middle of the group. They have a conversation. There’s an empty chair as well and whenever someone in the audience wants to join the conversation, they slide into the empty seat and one of the four sitting there self selects to go back to the bigger circle leaving an empty chair as an invitation for the next person. While at first it didn’t seem very different than a big group conversation where you passed around the mic, it turned out to be a great way to keep the audience engaged in the conversation. Every one was listening hard. The topics we covered were varied but a lot of it centered around non paid staff vs paid staff relationships – culture and responsibilities. We also talked about things like whether there’d be technical roadmap decisions made at the Summit, how people like to communicate, etc. One of the key takeaways for many of us was that we were all worried about similar issues!

Over the course of the day, two themes arose:

  1. Old timers and new hires are having a hard time trusting each other at Mozilla. I’m sure I didn’t get all the nuances but it felt to me like old timers think new hires might not have the “Mozilla DNA” and might not have an appreciation for our mission and open source methods. And new hires think old timers are stuck and so concerned with consensus they aren’t always getting things done.  Over the weekend, I think we made great progress in killing that stereotype and building good relationships that bridge the gap. (Lukas Blakk wrote about this experience as well.) I have to admit that personally I’m not sure where I fell on this stereotype other than feeling rather annoyed at both groups and some how personally responsible for both stereotypes. As a hiring manager, I’ve hired many of those new people. As a long time open source community member, I feel like it’s my job to make sure the “open source” way is considered and well represented.  I also think that part of the problem is how members of each group introduce themselves and represent themselves to the world – more on that later.
  2. Mozillians like to get stuff done! By the end of the day, we were all extremely uncomfortable with all of the discussions, panels and world cafe exercises with no clear idea of how it was going to produce an agenda for the Summit. Luckily our leaders and the Unconference organizers heard all of our concerns and when we turned up the second day, we got to create a rough outline of an agenda and topics for the Summit!

Getting down to work

On the second day we did a “World Cafe” exercise. We had about 7 rooms and 3 time slots and everyone wrote in the topic they wanted to cover in one of the slots. We then did some consolidation and managed to squeeze everything into the ~20 slots.

The idea was to cover themes or topics we thought should be covered at the Mozilla Summit. Each session was to identify Session Title, Goals and Outcomes, People for Followup and What has to happen between now and the Summit. They were all captured in etherpads.

All the sessions I went to had great conversation. It was rather tricky to focus on how that topic would be covered at the Summit instead of just discussing the topic. We tried to focus on how the conversation would best happen at the Summit: what type of presentation it would be, how much should be a proposal vs a discussion, if it was one presentation or a theme, etc. Some times the topic you signed up for was not the topic your group ended up proposing. I attended discussions on communication, diversity (Dino and Lukas have a great diagram for a starting conversation!) and helping companies that aren’t used to “open” work with effectively with us.

Then Mark, Debbie, Mitchell, Kate and Mardi grouped all of the topics into themes – interestingly “People” had the most topics. Other themes included Strategy, Product, Process and Purpose.

So now we have themes for the Summit. And a lot of proposed topics.

I found it really valuable to spend this time as a group planning for a big event. When you are going to bring 2,000 people together (in groups of 600) I think it’s essential to spend some time uncovering what the real issues that we need to discuss are.

My take aways:

In addition to the bigger goal of planning the Summit, I took away a few more key things:

  1. It’s important to work together, preferably in person. We built a lot of trust over the weekend – trust that would have taken much more time to build during our regular day-to-day lives and over the internet. I hope we can take that experience and bring it to the Mozilla Summit.
  2. Mentors. After a conversation with Gandalf, I came away thinking part of the solution might be holding mentors more accountable and some how measuring their success over time. We also discussed short term mentorship projects too.
  3. How you introduce your self matters. With a few exceptions, most of the volunteer Mozillians introduced themselves as being “a community member” or a “Rep”. Most of paid staff introduced themselves by their functional role or team, “Firefox for Android”. This is natural as while we all feel like part of the greater Mozilla community, paid staff has in general been hired to do a particular role. But I feel like it’s a big part of the disconnect.
  4. Lots of communication formats are needed. Lawrence Mandel pointed out that not everyone does well speaking in front of large groups at conferences, so whatever format the Summit takes, it needs to enable lots of communication vehicles, meetings, parties, irc, etherpads, newsgroups, … a way for everyone to find enough of their comfort zone so that they can be comfortable enough to participate fully.

The Mozilla Summit Planning Assembly was one of the trips I was most looking forward to attending this year and it lived up to my expectations! I’m very excited for the Summit now! (And for all the planning that still has to happen before then!)

Should you only do business with those that share your values?

Photo by Fadzly @ Shutterhack
Photo by Fadzly @ Shutterhack

Many of us working on free and open source software have strong values and we want to make the world a better place. I’m comfortable predicting that the rate of vegetarians, recyclers, hybrid vehicle owners and just general environmentally conscious people is higher than average in free and open source software projects.

We want to work with and support companies that support our values. We buy brands like Seventh Generation products, we try to support companies like System 76 and ZaReason. And we avoid “evil” companies. After hearing Dish Network was the Meanest Company in America, I’m researching other cable providers.

But how much can you restrict your partnerships to those that perfectly align with your values? Is a company evil if it doesn’t match your values in all areas? I personally buy products and have business relationships with companies that I may not be 100% aligned with. (Although some may be too far from alignment.) Sometimes it’s because I haven’t done any research – I buy gas where it’s most convenient not from the most environmentally conscious gas provider. Sometimes it’s because there’s not much of an alternative – if I want high speed network at home, Comcast is my option. Sometimes it’s because I think that while they are not perfect, they are providing a service that makes my world better.

If you partner with someone who doesn’t share all of your values, assuming the partnership goes well, you have a chance to influence them. My friends are much more likely to listen to my opinions than someone I’ve never had a coffee or a beer with.

Now, I realize that open source software projects are often less in the position of partnering and more in the position of accepting donations. But again, I think your chances are greater for being a positive influence if you are working with them than if you are not. You should examine the organization’s motives and make sure if you are part of a political play, that you are comfortable with that move. I still remember the wealthy individual trying to build a big chain store in the town I lived in who donated a house to a family in need. While it was a great donation, and I would thank him for it in person if I saw him, I also know it landed him on the front page of the paper in a positive light at a very controversial time. Should the family have turned down his donation? Probably not. Should those that were anti-big-chain-store have done something differently. Probably.

But the fear of being associated with a company that’s not perfect or of being used as part of political play should not hold us back from investigating options and starting partnerships.

I think open source software projects often hold themselves back. They don’t investigate partnerships that could be beneficial because the other organization is not perfect. Proprietary software is not evil – a lot of really great innovation has been led by proprietary software companies. And doing business with an organization that has proprietary software will not make an open source organization any less good. There will be no perfect organization just like there is no perfect person. You have to recognize the opportunity for good in people and organizations and work with them where it can make sense for both of you.

Make the world a better place through partnerships because if you insist on doing it all yourself, it’s going to be a long road. Personally, I want to visit the stars someday, so I hope those that share a vision of star travel work together even if they don’t always agree on how to do it. I want to live in a world where everyone has access to computing power and the internet and control over their experience and their data. I think in order to do that, we’re all going to have to work together. And we’re going to have to work with those that might agree on pieces of our plan but not the end vision, and that will be ok. The super helpful Comcast guy might not share my vision of the world, but he helped me make it possible for me to continue working on it.

I miss blogs

The number of long form blog post have been declining for years. Most speculate that it’s because most of us spend more time microblogging on Twitter and Facebook. Certainly, when I started blogging in 2004, I blogged a lot of things that I would only tweet now. In November 2010, Jeff Bercovici wrote on Forbes:

53 percent of hobbyist bloggers say they update their blogs either somewhat less or a lot less than they have in the past. […]

Those who say they’re blogging less often were then asked to say why. While the most popular answer was “work/family commitments,” the next two most common choices were “I am devoting more time to microblogging (eg. Twitter)” and “I am devoting more time to social networks.”

I think it took a bit longer for that trend to happen in open source software and my technology blogs, but it has come. I found myself really missing good blog posts by independent individuals and decided to see if it was my imagination, or if I really was reading less blog posts than I used to and here’s what I found on my two favorite planets: (Numbers not 100% accurate.)

BlogPostFrequency

While I didn’t have a good way to measure microblogging numbers by the same authors as were in Planet, I do know that most of the people whose blog posts I miss are regularly posting on Facebook or Twitter.

The thing is, I miss reading all those blog posts. I’ve tried looking for more blogs to follow but not been really successful at finding new ones. I’ve tried reading more nonfiction books but books don’t provide the same type of thought food or blog ideas as blog posts do. Neither do tweets or Facebook posts.

At the same time, I have to admit my own blogging has gone down drastically from an average of 6 blog posts a month in early 2011 to an average of maybe 1 a month now.

It’s possible that microblogging is a better medium for the 5 blog posts a month that I now tweet instead of writing. And that the one post a month I write is the only one that should have been in long form to begin with. But I don’t think so. I think I am just sharing less well thought out ideas.

What do you think? Do you miss blogging? Have you noticed the decline of blog posts? Do you miss them?

Your competition helps explain who you are

“Where there is no competition, there is no market. This is why start-ups who “have no competition” have trouble engaging partners and making sales.” – Geoffrey Moore, Escape Velocity

Open source projects often shy away from competition. They value collaboration and leveraging existing solutions. But competition is good for more than making you run faster. Competition helps define who you are.

This is why the Nike iPod sensor had such a hard time when it came out. There was nothing to compare it to except pedometers. In contrast, Fitbit and Jawbone’s Up have met with a lot more initial success. And just about every article about them compares them to each other. (Interestingly, Nike has a new, similar product called Fuel Band that is mentioned in very few of the articles.)

GNOME and KDE defined each other by competing in the Linux desktop space. Without an option between KDE and GNOME, very few Linux desktop users would know what a “desktop” was or what part of the Linux desktop was created by GNOME or KDE. By defining each other as competition, they helped explain who they were and what problem they were trying to solve. They also constrained themselves to the Linux desktop. That was good as it let them shine in a defined space, but if they want to move to new markets – like mobile, they’ll have to be careful to define new competition to explain to partners and users who they want to be.

Firefox, Internet Explorer, Safari, Opera and Chrome have a long history of competing. They’ve helped define each other and the web.

So don’t be afraid of the competition. Choose your competitors wisely and let them help explain your story.

 

The 7 reasons I didn’t post it

We all have blog posts we haven’t written. Boris Mann wrote about why he hasn’t posted some.

Here are the top 7 reasons I haven’t published some of the blog posts I’ve written.

  1. Half baked. My idea was half baked. A lot of times I find myself blogging about things I’m still trying to work out. Perhaps those half baked blog posts would spark interesting conversations but I often find myself saving them as drafts and starting a conversation in email or in person. These are the ones I think maybe I should publish.
  2. Twitter. I tweeted it instead. Many things are only worth a tweet these days. When I first started blogging in 2004, I used to blog interesting links. Now I tweet them instead.
  3. Too personal. Often I realize I need to talk directly to the person, not blog about them. Many times I want to blog when I’m frustrated about a person or a situation. In those cases, I usually just write the post, save it as a draft, and then call or email the person I’m frustrated with.
  4. Too rude. The person I was blogging about would know it was about them. I actually keep a list of the funny things I want to tweet or blog about but I need to wait a few months so that the subject doesn’t know it was them … these are usually the really funny ones. Although often they are tweets, not blog posts. And no, that tweet was not about you! 🙂
  5. Too private. I used to blog a lot more about my kids and my personal life. After some really negative comments on a post about my kids, I decided to make most of these private. I still tweet about the funny things they do and blog about some of the insights they give me, but most of my posts about my family are now private.
  6. Time. I have lots of really good topics I’d like to blog about. In many cases, I’ve started the post. I just haven’t taken the time to polish it and publish it.
  7. Not mine. I find this the most frustrating one. Often there’s a really good opinion, idea or a news item that I think should be shared but it’s not really mine to share. I’ve often offered to interview or guest post for someone but they rarely take me up on it.

Take a look at the draft posts you have. What are the top reasons you haven’t posted them?

Do you think I should post more of the above topics? How would you suggest I do that?

How to have hallway conversations when you can’t see the hallway

I recently listened to a talk by Michael Lopp about how to be a great manager.

During his talk, he stressed the importance of hallway conversations. Hallway conversations are informal conversations about projects, goals and status. As Shez says, they are great for bouncing ideas off people you might not normally interact with and just letting them know what you are up to.

Here’s how I do “hallway conversations” while working thousands of miles from my colleagues:

  • Chat informally. While most people will tell you it’s important to have an agenda for every meeting and to stick to it, I think that if you never see your colleagues at the water cooler, you need to build in some time for rambling. Maybe you’ll gripe about the latest project, maybe you’ll share the cool project you’ve been working on with your kids, maybe you’ll just talk about what you had for lunch. Or maybe you’ll have a great shared idea that inspires you to write that blog post that changes the whole project. It’s those relationships that enable you to informally share how you feel about the projects you are working on.
  • Send that trivial piece of feedback. Often I’ll send an irc message or an email that just says “I liked how you did this” or “here’s a piece of feedback I heard about your project”. Sometimes they seem too trivial for an email message. But if I don’t send the email, and I store them all up for the next time we talk in person, I might not send them at all. (I also keep a file where I keep track of things I want to talk to people about next time I interact with them. Things I think are easier to explain via interactive chats.)
  • Keep open channels. If at all possible, have some sort of real time channel where you can reach your colleagues. Best is a something like IRC where you can hang out and have informal chats. But if not a standing room, at least know how to find them via IM or txt messaging.
  • Be available. Be available in as many channels as possible. I’m regularly on irc, Skype, IM, email, txt messaging, Twitter and Yammer. And I try to respond in a timely fashion. Why? Because when someone thinks of something they want to tell you, you don’t want them to have to remember what they had to say until they get back to their desk. Right then, while they are standing in the hallway, you want them to be able to ask you “what do you think about …?” (You also need to make sure you aren’t letting your life be completely interrupt driven, but that’s for a different post.)
  • Get help. Ask others for help. I’ll regularly ask people I talk to what it feels like in the office or what they think about a paritcular project. What the mood is like, what people are talking about. Or I’ll say, “the next time you chat with so-and-so, can you ask him what he thinks about xyz?” I’ll also tell them I’m worried about a particular person or project and ask them to check in for me. After a meeting, I’ll check in with other folks that were at the meeting to share perceptions on how it went.
  • Meet regularly. If there are projects you care about, make sure you meet with the principal people on those projects regularly.
  • Meet in person. GNOME folks go out of their way to attend GUADEC – often taking vacation and time away from their families. It’s an important event because it’s the one time a year when much of the GNOME community gets together. Meeting people you work with in person is invaluable for community building. I love how humor in email makes much more sense after you’ve met someone in person.
  • Ask them. Ask how others are doing, how they are feeling, what’s top of mind, what keeps them up at night, what makes them feel so passionately that they are working at 3am, ask them … you never know what you’ll learn or what you’ll be able to do together.
  • Communicate effectively. I used to say “over communicate” but I now believe you have to communicate effectively. If you publish everything in the world on your blog and nobody reads it, or the important pieces get lost in the noise, you haven’t communicated. But it’s key to make sure people hear what you are worried about and the ideas you have for solving problems.

How do you effectively have hallway conversations when you don’t share a hallway with your colleagues?

Getting management feedback from your kids

Last night on our drive home from school I started asking my 11 year old about his science fair project. I asked him what it was going to be on, what supplies he needed, what was he going to do if his idea didn’t work, what was he going to draw on his poster board, … and he ended up yelling at me “I’M GOING TO DO IT, OK?!”

Then this morning I had a whole series of 1:1 meetings with folks on my team … and I caught myself asking them questions in much the same way. How many people are coming to the doc sprint? Where will it be? Do you have a theme? Did you email the developer teams?

Now Janet, the one planning the doc sprint, didn’t yell at me. But was she just being nice?

So I have some theories:

  • Maybe it’s ok to ask co-workers those questions and not your kid. (I do really want and need to know that information about the doc sprint …)
  • Maybe my way of asking questions is really abrasive (or giving feedback on what I think needs to be done via questions is abrasive) and my kid just feels more free to tell me so.
  • Maybe my kid feels like he’s behind on his science fair project and was just defensive. I expect my co-workers to have answers to those types of questions (and they do) but perhaps I haven’t taught my kid to think like that yet.

It made me think that I need to make sure I get more feedback from those I work with … especially since most of these conversations happen through a video camera.

Oh, and the science fair project is coming along quite nicely. So’s the doc sprint.

Global Community Champions Workshop

Mozilla is an amazingly global and diverse community. I like to think we got it from our open source heritage – open source projects know how to work globally.

Mozilla is committed to working globally – we hire all over the world, hold regular community meetups around the world and have community spaces in many cities.

But it’s not easy. Ensuring that a global team works effectively takes a lot of dedication by everyone.

Recently we had a Global Community Champions workshop to discuss what’s going well, how we can teach other best practices and what we want to improve on.

Amié Tyrrel organized the event. Homa Bahrami and Debbie Cohen facilitated.

There were a lot of great conversations and takeaways. We’ll be following up with lists of tips and a few specific task forces, but here are a few of the takeaways I had:

  • Open source (and Mozilla) are peer-to-peer teams, as opposed to parent-child teams.
  • All projects need a conductor and they need music to follow. A music sheet that says who plays what note when. When you don’t have a conductor, or you have an informal one, the music is even more important. We need to plan. 🙂
  • We talk a lot about how hard it is to be geodistributed but we don’t talk much about the benefits. A geodistributed team is amazing. There are traditional reasons like hiring the best talent or having continuous time zone coverage but it’s also a huge advantage when it comes to diversity (which makes sure our products and solutions work well for even more people around the world) and growing community.
  • There are different types of collaboration and different types of teams.
    • Collaboration can be pooled (we each do our part and then combine them), serial (I develop the product and then hand it off to QA), reciprocal and multidimensional.
    • Teams can be loosely coupled (like a golf team) or tightly coupled (like a soccer team.) Loosely coupled teams are much easier to coordinate in a geodistributed environment. Tightly coupled teams are likely to take a lot more time and energy. If you are on many teams, you might want to make sure you aren’t spending all your time on tightly coupled teams at the expense of your loosely coupled ones.
  • Many people at Mozilla are on many, many teams.
  • Mozillians are very emotionally connected to their work. (As opposed to financially or intellectually connected.) This is one of my favorite parts of working at Mozilla. However, it also means that emotions run high and when someone has diverged from the project, it’s really hard for them to say goodbye.
  • Remote teammates don’t have much signaling communication (random smiles as you pass by) and tend to focus on substance conversations. It’s important to build the signaling back in some how.
  • There are three times it’s important to meet in person.
    • At the beginning of a project to work out ambiguity,
    • At the end of the project to aggregate and celebrate and
    • Whenever there are conflicts.

    (I think this point will be important as we figure out when and how often to have work weeks.)

  • Several people have had success with office hours. Specific times when they are available to chat.
  • Conflicts in geodistributed teams are much more likely to be about relationships rather than tasks.
  • Ineffective teams are likely to have:
    • fuzzy goals
    • ambiguous roles
    • ad-hoc, unclear roles
    • internal focus
    • lack of identity
  • Effective teams usually have:
    • clear goals
    • differentiated roles
    • pre-determined rules for
      • how to deal with conflicts
      • how to build consensus, make decisions
    • external focus
    • shared identity
  • Debbie shared how Mitchell described Mozilla’s decision process. I hope Debbie or Mitchell will share with us in a blog post but basically it was you write an email describing the problem set, the issue you see. You make a recommendation. Ask for specific feedback, allow some time for discussion and then take action.
  • The team leader or orchestrator does not need to run the meetings. Several teams (like the Automation & Tools team) are rotating the facilitator for their regular meetings. This lets everyone play an active role in the project. I believe the facilitator touches base with everyone on the team, gets their status updates and issues. Sets the agenda, runs the meeting and sends out the notes afterwards.
  • Effective geo-distributed team leaders know when to be:
    • colleague
    • context provider
    • orchestrator
    • director
  • We need more team charters. 🙂

And that’s only part of what we discussed! Lots and lots of good info that Amie and Debbie will helping us get out to the rest of the organization in a way that’s hopefully useful. And in a way that starts a dialogue so others can also share their best practices and working globally knowledge.

Open source feedback (done wrong): “Look, you have food stuck in your teeth!”

At a party, if you notice someone has food stuck in their teeth, you probably wouldn’t go “HEY! You have food stuck in your teeth and it looks GROSS! I hate it. I think you should go brush your teeth right now!”

But we do that all the time in open source.

Someone writes a new blog post or a new piece of code or forgets to post something … and we criticize them in public. Because it’s open source, right? Instead of emailing them we think their blog post is wrong, we leave a blunt, often rude comment. Instead of IMing them and asking if they’ve considered the privacy implications of their change, we write a public blog post that details how wrong their strategy is. Instead of congratulating them on their new product website and emailing them a few suggestions that would make usability better, we write a long critique in a blog post of our own.

When we do this, this public criticism, we change their ability to respond to it. Now they must respond in public, often defensively. If the feedback was private first, it would be easier for them to change quickly and nimbly. (Or maybe they don’t need to change at all. Maybe we missed something.)

There is a time and a place for public critique. But it’s often not the first place the critique should happen if we want to effectively influence projects.

Most effective people on open source projects communicate privately first.

They communicate via private emails, IMs and even public IRC channels, which are less public than web pages and public mailing lists because they aren’t archived.

So the next time you read something and have burning feedback, consider your audience and how you might most effectively drive the change you are looking for.

Who has your mail?

Who – or rather, which company – is holding all your email?

Photo by Louis Abate

If you couldn’t login tomorrow, do you have a copy of your email? Many webmail services, like Gmail, make it easy to download a copy of your mail using POP or IMAP but if you use their web client, it’s an extra step you have to think about and do on a regular basis. It’s not something that most people can do easily. Especially if they share a computer with others.

While there’s a good chance, as a reader of this blog, that you are a do-it-yourself kind of technical person and use Thunderbird or Evolution to read your mail on your own computer, most of us don’t. Most of us trust our webmail to be there when we need it. We are trusting a single company to hold and take care of years worth of personal correspondence.

We need a way to backup our data, data like our email, to a trusted place.

P.S. I use Thunderbird to backup all my mail from my email web service providers to my computer. It’s not what it was designed for but it works for now.