
Open source software is, roughly speaking, software released under a license that permits its users to use, modify, and redistribute the software in almost any way they see fit. This provides users of open source software a degree of liberty that is simply not found in proprietary alternatives. While it’s a bit silly and idealistic to think that you can use this freedom-based model to build an entire operating system, it happened.
One of the fascinating things about open source is not just how it’s changed the software world, but how it’s changed the not-software world as well. An obvious example is Wikipedia, which has open sourced knowledge itself. In recent pop cultural news, even Radiohead has embraced the open source ethos, making its latest album, In Rainbows, available for download at a price of…whatever you feel like paying.
And now personal development has become one of the latest geek magnets. Smart people around the world are flocking online to learn, share, discuss, and create new software for our minds, providing a wealth of new lenses through which to experience reality and engage in the pursuit of happiness.
First, there was the emergence in the last decade or so of what might be called “Open Source Seduction”: a culture of guys using an organically grown knowledge base of concepts and techniques to help them find, meet, and connect with beautiful women. Over the last three years there’s been an explosion in the amount of freely available material online related to other aspects of personal growth like setting goals, time management, productivity, exploring the nature of reality, overcoming social hang-ups, making the transition to entrepreneurship, and just about everything in between. This blogospheric Big Bang has expanded into a universe of relatively simple ideas that anyone can learn and apply to make their life as interesting as they want it to be.
Whether your background is in architecture, making music, graphic design, or flipping burgers, I think there’s a lot of insight into personal growth to be gained from looking at the open source software model. Not only is 30 sleeps (both the blog and the web app) built entirely from open source software and all the content freely available, but the ideas themselves are part of a new zeitgeist: Open Source Personal Development.
In this article I want to examine some of the core values and best practices of open source software and use that as a model for exploring and understanding the dynamics of personal growth.
Freedom Is a Priority
In the open source software world, freedom is the substrate of productivity, progress, and happiness. The open source ecosystem is–with some notable exceptions, of course–mostly unpolluted by the haze of proprietary smog. A large part of the value of free software stems directly from this transparency.
In personal growth terms, the kind of freedom we prioritize is authenticity. The life hacking community offers value by helping us figure out what we really want out of life and how to get it. Some areas, like spirituality, offer us models of reality to play with and hack on and thus alter the way we experience our lives. Other areas, like productivity and time management, simply increase the velocity with which our intentions come to life.
Hand Out Commit Bits Liberally
A commit bit gives a developer permission to make changes to a project. Audrey Tang was famously liberal in handing out commit bits for the Pugs project, which has helped drive the development of Perl 6.
Personal growth happens fastest when we are liberal in handing out commit bits to our own repository of beliefs, tools, and techniques. First, that means absorbing ideas from a wide variety of sources, including spiritual teachers, philosophers, intellectuals, personal development experts, and others. Second, the only way to know if something works for you is to fully commit to it, live and breath as though it were true, and measure your results. If you only partially commit to trying something, whether it’s a spiritual model of reality or a time management technique, your results can easily be diluted by doubt and indecision.
If you commit fully to something and don’t get the results you were hoping for, you can always revert the change.
Create a Culture of Contribution
The most successful open source projects are the ones that make it mind-bogglingly easy to contribute. The Perl programming language, for example, has a universal standard for releasing your code into the wild called CPAN. This yellow brick road was a big reason for the explosive popularity of Perl over the past decade.
In terms of improving your own life, I interpret a culture of contribution as surrounding yourself only with people who make it easy for your and their ideas to flourish. If you want to give up alcohol, for example, it’s going to be extremely difficult if most of the people you hang out with love to go out drinking in clubs and bars on a regular basis. I adhere to the idea that we are the average of those we associate with, and I believe it’s worth choosing your friends wisely. This also means having the courage to make adjustments to keep your social life aligned with your own direction.
Don’t Commit Changes Without Tests
Many open source projects favour Test-Driven Development. Simply put, there are three ways you can test a piece of software: you can ask a human to do it, you can ask a computer to do it, or you can do a bit of both. Many developers prefer to write programs that test their email software, web browsers, chat clients and so on so that when they add new features to these programs, they can quickly tell if they broke something by running their tests. If a test fails, they won’t commit their change until the problem is fixed.
The parallel to an automated test in personal growth is a habit. Making changes that last usually means adding new habits, removing old ones, or modifying existing ones. If you want to lose weight, for example, you might need to add habits like drinking eight glasses of water per day and not eating after 7:00 PM. If your goal is to find a better job, you might adopt the habit of sending out five CVs every day until you find a gig you like. Practicing your habits on a daily basis (or whatever frequency they require) ensures that the changes you make “keep working” over the long-term.
Scratch Your Own Itch
Why would somebody write a piece of software in their own free time? Because they needed it. Most open source projects start by someone scratching their own itch, whether it’s because they needed a text editor that doubles as an operating system or because they wanted a web framework that optimizes for happiness.
Personal growth is all about scratching your own itch. It’s about breaking free from social conditioning and treating life like an amusement park of experiences. It means living your life for your own benefit because that’s ultimately the best way to help others. The open source world is built almost entirely out of this brand of enlightened self-interest.
Patches Welcome
There’s a saying in the open source world: “Patches welcome!” It’s usually issued to those who complain about their software, even dish out harsh criticism to the developers, but don’t offer a patch to fix the problem.
Making big strides in your life starts with taking full responsibility for every aspect of your world. Complaining about things just creates a productivity vacuum. When you catch yourself expressing anger, frustration, or resentment about your job, your relationship, your friends, your finances, or even global politics, realize that it’s up to you to author the change.
Of course, sometimes there are just so many things to complain about that you couldn’t possibly address all of them. For the things you’re unhappy with but that aren’t important enough to you to fix, accept them fully as they are. Complaining about issues for which you choose to take no action only magnifies the negative energy in both your life and the lives of those around you.
Meritocracy
One of the great things about open source software is the meritocracy surrounding contributions. Even the most high-profile projects will accept your changes if your work fixes a bug or does something else useful. You don’t have to rely on a great reputation, you just have to do good work. (Of course, there are also some projects that drown in a sea of infighting and politics, but that’s another story… :)
This spirit of meritocracy is particularly useful to personal growth junkies. Any large and diverse industry is full of crappy, useless, overpriced products, and the personal development market is no exception. There’s plenty of snake oil out there, but don’t let that blind you to the wealth of freely available information offered by people who have a broad range of experience under their belt, and are sharing what they’ve learned in the hopes that others may benefit.
For example, I can vouch for everything I write because I write about what works for me in meeting women, figuring out what I want to do in life, setting goals, stimulating creativity and other areas. But I can’t guarantee that it’ll all work for you. It’s up to you to decide if I deserve a “commit bit”.
It all comes down to trial and error. Output is God.
Release Early, Release Often
“Release early, release often” is the open source motto for giving birth to a new idea. The point is to get your work out there as quickly as possible even if it’s a little rough around the edges–even if it’s downright bad. This gives other hackers a chance to pick up where you left off and add missing features themselves.
Open Source Personal Development is all about inch by inch progress. Returning to the weight loss example, even if all you managed to do this week was drink eight glasses of water every day but otherwise ate the same, that’s much better than succumbing to the fear of failure and not starting at all.
30 sleeps itself is an exercise in releasing early and often. The design of both the blog and the web app could be greatly improved, and I know I have a lot to learn about blog marketing, but I didn’t want to wait for perfection to make this thing real.
If there’s something you want to change about your life, make it real in some way right now. Even the smallest actions dwarf the biggest thoughts.
Respond to Bug Reports in a Timely Fashion
The hallmark of a good software maintainer is that they respond to your bug reports in a timely fashion, even if only to say that they’re aware of the problem but don’t have time to fix it right now.
This is an important lesson for personal growth. Your emotions are your personal bug tracking system. When something’s wrong in your life, your feelings will let you know. Being a good self-maintainer requires observing what’s going on inside you and responding quickly to bugs that appear on your emotional radar.
Most of Your Time Is Spent in Maintenance Mode
Software geeks love features. We love coming up with cool new ideas, discussing them in great detail with the development team, hacking on them…and then abandoning them a week later when we realize the idea was much harder to implement than it seemed.
While this phenomenon isn’t specific to open source software, I do think it’s another useful comparison to draw between software development and personal development. Most of the goals you pursue in life will involve a “maintenance mode” that extends way beyond your initial enthusiasm, so choose your passions wisely. Expose yourself to a wide variety of activities and experiences and see which ones you really enjoy.
Like software, personal growth is never complete. It’s mostly a matter of adding new features to your life while keeping the “bug count” under control.
The open source model has been so successful in software development circles that non-computer geeks have taken note, including those interested personal growth. Open Source Personal Development applies the spirit of open source software to the pursuit of happiness. It favours the open exchange of ideas for the benefit of all, and a culture of contribution where meritocracy decides which ideas stay and which get thrown out. With individual power comes the individual responsibility of replacing thoughts with actions, complaints with solutions, and debating over ideals with a process of trial and error that lets the results speak for themselves.
great analogy, great post :)
I agree with sadg. Brad, this is a great article and a great way to think about personal development. Just as with software development, it’s all about incremental improvements – version 2.013, if you will. I love participating in the PD blogosphere and am really energized by its growth. I hope it blossoms into a community as vital as the Open Source software community.
Nice article, very informative, thanks.
hi pd…
I love Personal Development.
Anything that helps the flow of quality information is great by me.
I am currently following Brian Tracy & Bill Bartmann who are dedicated to greater access to Personal Development for all.
With the power of the internet has there ever been a better time to learn?