I could of course have just as easily written standardisation (to please the other half). The concept in question is not necessarily related to a particular language but rather to the idea of keeping everything looking the same. There is a certain beauty in organization and standardizing items. How does this standardization help make open source better?
A Personal Confession
First I’ll admit that I tend to exhibit some slight tendencies towards obsessive compulsive behavior. There is something inherently rewarding and satisfying in having things done neatly, cleanly and in order. I love standardization. I find myself to be much more ‘at ease’ and at peace with things when they have been organized to all “look the same” or at the very least to follow the same general pattern. But how does this relate to business? How do I apply this behavior of standardization to open source and what benefit does it offer? I believe there are several reasons why standardization and general organization can make your open source community more successful.
Standardization Saves Time
When everything is organized to be in its proper place and labeled the way it should be it becomes infinitely easier to locate what you’re looking for. If you’ve ever had to find an old client’s folder on your hard drive or network server you know exactly what I’m referring to. Do you store things by client name, by project name, by company name? If you don’t have any set standard for how every client and every project is stored it quickly becomes a mess.
What I Do
Our client folders at WebSpark all follow a very specific structure and directory tree. And yet its very simple. We have two main folders. We have an archive folder and an active folder. Active folder only contains current year projects. These projects live inside a folder named by the company for which the work is done. When the end of the year is reached these folders are moved into the archive (and merged into any existing company folders).
Having a strategy for how your folders are named makes it that much easier to look for Project X done for Company Y in Year Z. We know exactly where to look and the process becomes much faster…not to mention it looks much nicer also.
And before anyone says it – yes, I realize you can perform a hard drive search and find folders as well as files. However, I’m pretty confident having a neat and orderly directory tree will be faster over time as you get used to the structure. I’ve given you just one example of how we use a standardized structure, but if you’d like to see more just message me – I have tons of examples.Standardization saves you valuable time in your open source organization.
Standardization Simplifies Training
If you’ve ever had to show someone else how to get something done you know what I’m talking about. There’s nothing worse than trying to show how things work to an eager new co-worker and having to bounce all over in an attempt to explain why it looks like a complete chaotic mess. (See, we store only PDF’s that end in a Y in this folder because the server performs a reverse alphabetical look-up when displaying search results.)
Instead, if an open source environment has organization and structure and follows a standardized method then training becomes much more simple. Rather than attempting to explain some complex and convoluted exact use cases you can simply explain the methodology and standards followed. (It’s a bit of that teach a man to fish thing.)
Standardization Shows Thought
If you’ve ever walked into a room which has been neatly organized and everything is labeled, marked, and categorized you know what I mean. One of the first thoughts to cross my mind in those situations is “wow, this took some time.” When standardization is implemented and followed it demonstrates careful thoughtfulness. It shows an attention to detail and it shows the organizer has a plan.
Let’s turn that thinking towards an open source project. If you look to join a project as a volunteer and you want to be involved you start to look for how the “room” is arranged. Is it easy to find things, does there seem to be a method to how things are done? If there are clearly defined standards and procedures you are instantly more confident. Clearly an open source project with easy-to-follow standardization has put significant time and effort into being a successful project. Standardization in open source projects leads to success. Not by the standards alone, but by what those standards represent: care, thoughtfulness, and attention to the details.
Standardization Saves Lives
That sounds overly dramatic but allow me to give you a real life example. I am sure many of you are aware of or have at least seen the following sign. It exists around the world and at one point was the subject of an international meeting.
In 2008 an international committee met to discuss the need for an internationally recognized symbol and a universal AED sign to be used everywhere. This committee was looking to implement standardization. The result of that meeting is what we have here. An instantly recognizable symbol that will make saving lives easier. In the frantic moments of cardiac arrest being able to quickly locate and use an AED greatly increases the chances of successful resuscitation.
Open Source Applications
So I briefly touched on the open source aspect in one of the thoughts above, but in reality, every single one affects open source.
When dealing with an open source project, particularly one where the volunteers are not paid, time is of the utmost value. Every minute counts and if standards help to save valuable time then they increase the amount of contributions and the value of those contributions.
Open source communities with standardizations in place allows for existing volunteers to easily and quickly bring new contributors in because the training is simple. Standardization means you can take ten minutes and explain exactly how to contribute to an open source project and the new volunteer can then immediately do something.
Whenever I’m looking at open source projects and debating how much I want to be involved I look at the standardizations. For me this demonstrates how “thoughtful” the project and the community is. If things are standardized and processes are in place I feel more confident that my time and my efforts will be well spent because the project and community demonstrate a well-thought out plan. (Although I admit sometimes the chaotic projects allow me the opportunity to help create the standardization and the processes.)
Now you’ve heard the reasons why standardization is beautiful. Get out there, seek out the open source projects you’re involved with and see how organized the processes are. Implement standardization and improve the health of your community.