The Fight to be Flexible

image

I’m sitting at the airport. This quite a common place to find me. As an open source advocate I travel a lot. Most of the time my flights are on time and my connections are easy. This is not one of those times.

Flight Delay

I found out my initial flight leg from RDU to IAD (Washington Dulles) was delayed and then 20 minutes later delayed again; and again. Eventually it was delayed 3 more times. And as expected with that many delays, I missed the connection from IAD to GRU (Sao Paulo, Brazil). Majorly frustrating. As I make the arrangements to rebook the flight for the following day it strikes me how applicable this situation is to life, and also to open source.

We all have plans for our lives. We have an agenda, things we want to see accomplished and goals we want to achieve. In an open source community we set our sights on accomplishing lofty things. Many of them having some form of “change the world” buried in them. We put down a mission and a vision statement we want to accomplish and then we start to organize ourselves to accomplish those goals.

Open Source Opportunities

Open source projects have several obstacles to overcome in this scenario though. Chiefly, we rely on the time, interests and energies of volunteers to accomplish these lofty goals and ultimately accomplish our mission and fulfill our vision. If our volunteers fail to have the time or interest then the project also fails. This is where the power of flexibility becomes so critically important.

It is foolish to believe a mission statement or a vision cannot change. It’s also foolish to believe every deadline will be met perfectly. When an open source community relies on volunteers and contributors one of the greatest battles is the battle to remain flexible, to be willing to make changes to deadlines, to goals, and even to a project’s mission.

Why must a community be flexible?

As I’ve already mentioned when a community relies on the goodwill and generous donations of time and talent from contributors there must be an inherent amount of understanding and ability to change as a result. Secondly, and possibly even more importantly, The world changes. Software changes, companies and organizations change. An open source community grows over time and as it grows it evolves. It establishes a culture and becomes more refined (dare I say focused) as it grows. At least this should be the case because the community listens to its members. Not only does it listen to its members to help it establish culture but it also listens to the world. A strong community pays attention to the changes happening around it and is flexible in adopting change (when it’s for the good of the community).

Are communities quick to be flexible?

No, and that’s why I say it’s a fight to be flexible. Sometimes individuals in the community are change-averse. They prefer the status quo over the ‘unknowns’ involved in changing. A well-rounded community is made up of a variety of individuals. These differences should be celebrated and embraced. These differences should also be kept in mind. Just as there are those ‘strong and steady’ types there are also the ‘non-comformist’ type, this is the person who loves change, any change, and even wants change just because it’s change. There’s dangers in both these types as well as the many other types (trust me, there are many many personalities which make up a good open source community). The point is to be flexible. Be talking and communicating with each other within your community. When communication happens (and listening happens) then the true power of open source communities can be found. Because I believe this is where open source stands head and shoulders over others.

Open Source Wins

Open source projects should stop looking at flexibility as something that must be fought but rather one of it’s greatest strengths. The ability to change direction based on the community is a powerful one. Most large corporations are unable to implement the types of flexibility and take advantage of a changing culture in the same way an open source community can. The passion found in volunteers cannot be bought, cannot be forced in a closed source corporation. It’s inherent in the genetic makeup of open source. Take advantage of the benefit of being open source. Take advantage of the flexibility and use it to be an incredible community.

Remember, we’re all in this together.

The Quiet Community

image

That awkward silence which fills a room when there is a lull in the conversation, or that moment when you realize you’re the only one talking, or the time when you respond to a chat message and there’s no reply. These are all common occurrences in life. But when is a quiet community a bad thing?

Too Much Talk

There is of course a time when talking is not enough. I’ve see firsthand those moments when everyone is talking and no one is listening. Sometimes a community is so busy debating with themselves over minor details that they forget to actually do something. Too much talk can be a bad thing.

Too much talk means a community is not focusing their time on doing things and making progress. This will kill a project, any project. In open source communities and especially open source communities, where the community is in charge of decision making, the discussions and debates over every minor decision can quickly lead to stagnation.

I think we can all agree too much talk can at times be a bad thing. So what about a quiet community? Is a quiet community equally bad for a project? Yes. A quiet community can be potentially a bad thing. Here’s 3 potential problems in a quiet community.

Silence is deadly

If a community is too quiet it will die. Outsiders judge a project’s viability and life by its communication channels, the chatter which takes place. Raise your hand if you’ve ever gone to a Github repository and viewed the last commit timestamp, followed closely by a glance at the open issues. You’re trying to judge the health of the project by its communications. Or if you check twitter to see the last messages posted with a specific hashtag or @ tweet.

Silence in a community is not golden when it comes to a community which makes group decisions and relies on the involvement of volunteers (open source) to accomplish things.

No man is an island

Secondly, if a community is quiet then volunteers will begin to feel as though they are “alone” in the project. This is incredibly discouraging. Everyone knows the feeling of writing something and waiting for the response. In real life you look for the facial expressions, the reactions of those you’re talking to. You use these verbal and non-verbal cues as encouragement for continuing or as a warning sign that you should sit down and shut up. Now take that same feeling and apply it to an online community. You post a message on a forum, on a social media channel, in an online chat, or on a mailing list. In this environment there is no opportunity to read non-verbal (or even verbal) cues. You rely on the responses.

If a community is silent then you have nothing to motivate you to continue and you will sit down and shut up. You’ll leave the community and find a new community where the participation is higher. As humans we need this interaction.

Apathy is quiet

This last point is a hard one to pin down. I’m not claiming that apathy is always silent, nor am I claiming the reverse, that a quiet community is apathetic. But often when there is apathy the result is a lack of input. If you find yourself not really caring or believing in something you can walk away, you can leave. But that involves effort. Sometimes you don’t feel like making that effort. You’re ok with doing nothing because you’re not interested, you don’t care. You’re apathetic.

If a community doesn’t care then it will not make decisions. It will not do anything. Which means something else will happen. It will stagnate. It will die.

Three potential concerns in an overly quiet community. As with everything in life, a balance is necessary. Open source communities should keep an eye on communications. If they see any of these three concerns becoming too prevalent then it’s time to do some soul-searching. Seek out the reason for the quietness. Has the community lost its drive? Its focus? Its vision? It’s possible a change is in order. Its possible action needs to be taken to help stimulate conversation. Perhaps its merely a lull, a welcome moment of calm in an otherwise noisy and thriving ecosystem. Excellent, make the most of it. Enjoy the stillness. But stay alert and be ready to make changes if needed.

EPA and Open Source

image

In honor of Earth Day I figured I would write a quick post about how the U.S. Environmental Protection Agency uses open source software and technology.

I admit it’s not perhaps the greatest example of open source at work. But they’re making an effort and that’s worth mentioning. The EPA is taking advantage of open source networking through the use of a Github organization and series of repositories. They’ve boldly made the decision to place their website files in a repository to allow other developers to provide improvements and help. The sad news comes out when reviewing the number of pull requests made. In the nine months the code has lived out in the open there have been exactly 0 (zero) pull-requests

Uhoh

Ok, so perhaps not the greatest example. There are other repositories in the EPA organization account. Unfortunately, the other repositories post many of the same statistics. Various repositories for projects, applications, and websites exist but none have any better stats. 

What does this mean? Should open source be neglected and not used by these government agencies? Not necessarily. The problem is not in the intent but in the execution. I’m sure many of you know how the recent healthcare.gov site also attempted to use Github to share all of their codebase. https://www.healthcare.gov/developers

Healthcare.gov Github Failure

This was a fiasco for them during this process and after only a few weeks they removed the code.  Why do these different government agencies fail? As I said before

The problem is not in the intent but in the way they carried out their plan. 

Open source is not an easy, “instant” solution, and as I’ve written about before, many will fail at open source. These government agencies falsely assume the community is waiting for opportunity to contribute code and contribute fixes. While the world is full of altruistic, well-intentioned developers it cannot be assumed they are idly sitting waiting to offer perfect little code-presents bundled up with a bug-fix bow. 

Multi-step Plan

I’m glad to see the government eager to take advantage of open source. But it must be carefully thought-out and planned and be sure it’s not seen as just a chance to get free help from developers. Care should be taken to grow and nurture a community surrounding the organization. It takes time, it takes thought, and it takes planning. Yes, it can be done. And it can be done successfully. It’s a multiple step process.

1. Recognize

The first step is to recognize the benefits of open source. This one is the easy step. Most companies and people recognize the power of open source. The EPA has recognized the power of open source. They’ve taken the first step and I commend them for it.

2. Plan

The second step is to organize a plan for how, where, and why to implement open source. What technologies, what software, and what platform should be used to share this code with the world? This step is a bit harder than the first step but again most can accomplish this step as well with very little effort. 

3. Implement

The third step is the first step which takes much greater effort and attention. This is also the step when most companies begin to fail. Simply dumping the code onto an online repository such as Github or BitBucket is not enough. This is not implementation. Implementing involves more than the code release. Implementation means marketing, advertising, and clearly defining the benefits for the community to helping. This means showing the value of the open source code to the greater good. Giving the community a reason for participating and sharing how the project benefits more than just the organization.

4. Nurture

The final step is the nurturing process. This is not the end of the process but this is the last of the steps in seeing it successfully begin to grow. Nurturing the community surrounding the code means spending time showing the value of the whole. Offering praise and feedback to those community members volunteering their time. Companies who fail to plan and implement clearly never spend the time to nurture these communities. Contributors must feel valued and see positive outcome from their involvement. 

Again, I’m excited to see open source growing in government agencies and other organizations but it needs to be done well. Companies should pay attention to more then recognizing the value. Encourage others to plan, implement and nurture their open source communities and then we’ll truly see the power of open source. 

Open Source Isn’t Free

image

Whoa, slow down. Read the title again. Open source isn’t free. But that doesn’t even sound right! Isn’t the inherent nature of the term open source meant to imply a freely distributable source?

According to Wikipedia, open source is defined as follows:

In production and development, open source as a development model promotes a universal access via free license to a product’s design or blueprint, and b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.

That certainly seems to imply that open source is free. So why would I suggest that it isn’t? I’d like to offer two counter points to the idea that open source is a completely free model.

Open Source Costs Time

I have no doubt everyone has heard the age old advice:

“Time is money.”

If we keep that principle in mind then obviously spending time on something equates to a cost. Open source will absolutely take time. If you’re the originator you will find yourself spending hundreds of hours (thousands even) improving, maintaining, managing the open source software you are distributing. That’s expensive. If you are merely a consumer of an open source product you will undoubtedly find ways you’ll need to customize the software to meet your needs. (That’s one of the reasons you probably chose open source in the beginning).

The ability to customize and modify the source code is an attractive perk of using open source, but beware this alluring benefit also comes with a significant opportunity to become a major time sink.

Takeaway: Be sure to consider the time you will spend if you select an open source model.

Open Source Costs Energy

The second point might not seem so expensive to you. Open source will cost you energy. Energy in the form of learning new software, learning new code, learning a new community. The energy expense is closely tied to the time expense. You’ll spend time AND energy working with open source. Obviously you’ll spend both of these with other models as well, but when the opportunity exists to “tinker” in the source code, the design, or the blueprint of the product the results will be a much greater expenditure of time and energy.

Remember, just because you can doesn’t mean you should. This applies to more than just Speedo swimsuits. Be thoughtful as you embark on an open source model. Plan how and where you will spend your time and energy and monitor yourself. Don’t go overboard with customizations and modifications. Or if you find you have to, be sure to budget appropriately.

Takeaway: You will spend more energy learning open source than just how to use a program.

Don’t go into open source blindly believing the “everything is free” philosophy. Open source isn’t free and it can be very expensive. That should not discourage you from using open source. There are a multitude of reasons why open source provides you with a better solution than a closed source model. Use open source but be prepared for the costs involved.

WordPress, One Billion Dollars, and You

image

The tech news blogs were hot today with stories of Automattic seeking an additional round of investor funding which would place the company valuation at a cool one billion dollars ($1,000,000,000). Let’s look back quickly at a couple reasons why WordPress has proven to be so successful and then how you can apply it to your business.

Automattic is best known as the company behind the popular open source content management system WordPress. Matt Mullenwig, the founder of WordPress and now CTO at Automattic has displayed a very clear vision for how the organization should be run. Don’t get me wrong, it’s not perfect. In fact, I have had several strong disagreements with WordPress decisions through the years, but I can’t argue with their success.

I have enjoyed the opportunity of chatting about WordPress with Matt and picking his brain for his reasons behind some of the decisions they’ve made and I can’t deny it certainly makes sense. I absolutely respect their focused determination to provide an unchanging, stable platform for their users. Matt made the comment once how WordPress “sought to sustain the technical debt so the user would not have to.” I think that’s a valuable insight into some of the core principles WordPress maintains.

Let’s look quickly at some other parts of that philosophy:

Design for the Majority: WordPress has clearly identified their target market. They focus heavily on the “non-technically minded” This is the user base they build software for. Clearly defined, easy to identify, and focused. And it’s important to note they recognize this majority is not represented by the 1% vocal minority. They seek out their target audience by listening to them at events around the globe. One-on-one, in-person, listening; to more than just those loud individuals online.

If you run a business, be sure you know your specific target market. And no, everyone in the world over the age of 12 is not a target market. And listen. Listen to what your majority says, and be cautious to not fall into the trap of listening to only the vocal minority.

Striving for Simplicity: WordPress has several points of their philosophy which deal directly with this notion of simplicity. They don’t add option on top of option, they don’t add everything requested into the core, and they seek to improve each release by becoming easier to user. Does this sound like any other familiar and wildly successful company? If you thought of Apple, you’re right. In their very first marketing brochure ever the headline was:

“Simplicity is the ultimate sophistication.”

Sounds similar right? Steve Jobs was obsessed with the idea of simplicity in design and he built Apple around that same core value. It was successful for them. WordPress has wisely positioned themselves to take advantage of the same important rule. 

Remember this when organizing and deciding on your business goals. Don’t add in everything you’re asked for by your customers. Be thoughtful and pay attention to your overall product. Make sure you stay focused on your goals and be ridiculously driven by accomplishing them.

Bill of Rights: The last aspect of the WordPress philosophy focuses on the license and distribution of their software. They believe in Open Source. They’ve determined the values of offering a free product which can be easily shared, changed, distributed, and copied. They believe in the value of community and the importance of sharing with all.

Other open source projects have led the way in this area and proven how successful this can be. Linux, the world’s most widely used server operating system, was built on this same principle. The four freedoms, as they are frequently called, have shown time and again the value of open source and how the world has been improved as a result.

Consider open source when building your business. You may not open source your core technology because you feel you have an advantage but there are plenty of secondary tools you will use or build which you could open source and “give back” to the community. Don’t overlook this opportunity.

I encourage you to read the full philosophy of WordPress. Looking at the list I think there are several elements which have helped them as they have grown as an organization over the years. Then, once you’ve read it – you should seek to apply some of the similar ideas for your own business.

Is WordPress worth one billion dollars? I couldn’t say, but I can tell you this much – the core values they have determinedly followed and maintained through the past decade are a great model to follow and I wish them nothing but success as they seek to fulfill their philosophy. Can you say the same for your business?