What do you think of open source? Cory Forsyth

Consumer Guide / Contributor / Open Source / Tech

Open Source Architecture.

There are never too many cooks in an infinite kitchen.

I am a software engineer. An integral part of my daily workflow is to use the open source principles of collaborative software creation. I write code all day, and then when I feel it's ready I push it to github.com where the other engineers involved in my project can see it. They'll leave comments for me with suggestions for improvement, or perhaps questions about why I chose one solution over another. Sometimes they'll even pull down my code to their local machine, make some modifications, and push the resulting changes back to github where all the other engineers can again review them. After a couple passes like this, someone blesses the code as “good enough,” and it gets permanently added to our codebase. The core mechanic here is that we are sharing our knowledge with one another to make the whole better than the sum of its parts. It turns out that this is an excellent way to write software.

You don't have to take my word for it. Many of the core components of the internet that are allowing you to view this blog post were built by distributed crowds of engineers, all tinkering in their spare time. Linux, the open source operating system, probably powers most of the servers that run the websites that you visit. Apache, the open source web server, probably serves most of the web pages you view. Joomla, the open source content managements system, or wordpress, the open source blogging platform, probably power a large number of the rest. You can see that open source software projects have had an enormous impact on the internet.

It's not just internet technologies that are going to be affected by open source principles, however. Open source initially really took off in the software world because the internet was so well suited to its strengths. Open source software is built on a decentralized group of individual contributors. As we've seen time and again, the internet is excellent for nothing if not allowing every last person to voice their opinion. And it's the same for collaborative software creation. Anyone who wants to can check out the code and make a contribution, as small or as large as they are able to. It's a marvelous meritocracy in that regard. If you can write useful code, you can contribute. No one cares who you are or what your pedigree is. In many cases, the people collaboratively writing software have never met each other in real life. The only thing that matters is whether you can bring some useful knowledge to the table.

Wikipedia is a great example of the open source ideals brought to a non-software realm. Wikipedia is built by many people making contributions. Some are large, some are small. Some people pen entire articles; others fix typos. The aggregate, however, is a world-class free encyclopedia that is so good and so fast at updating and self-correcting that it has all but put the established for-profit, private, encyclopedia companies out of business. Clay Shirky, the internet visionary, has pointed out that it took 100 million person-hours to create wikipedia. That sounds like a very large amount of time. But he also points out that in the US adults spend a cumulative 200 billion hours watching television annually. That's 22 million hours every week. If we could divert that energy into productive pursuit similar to wikipedia editing, we could crank out the equivalent of a wikipedia-scale project roughly every month and a half. That's an incredible resource. His term for it is “cognitive surplus.”

As we continue to find ways to allow people to contribute their collective knowledge in collaborative online projects, we'll see more amazing projects created. I've been interested in the Paperhouses project for a while, because I see it as a project on that vanguard of open source in the architecture world. In the future we are going to see more and more tools for architects and aspiring architects to share their ideas fluidly in real time. We'll never lose the need for professional architects, but in a world where they can collaborate effortlessly, it's hard to imagine a limit to what we can collectively achieve.

When software is created with open source tools, one fascinating aspect to it is that the lineage of the software is preserved over time. It's possible to look back through popular open source projects to see not just the code that was written at a given moment in time, but the thinking behind any given change. Architecture projects could work the same way. It would be possible to view the “source code” (a.k.a. plans) for a given design, and view the changes it took over a period of time, along with the thought process that motivated each decision.

Another concept from the open source programming world that could be applied to architecture is the concept of forking a project. This is when one group deliberately takes a project in a different direction. A particularly popular set of canonical architecture plans could be easily iterated upon this way by any interested party, extending the plans in line with their singular vision. Others in the community could watch the divergent changes and, when they found they agreed with or were inspired by a set of changes, import them into their own project. In this way many different opinions can coalesce into new designs that are an improvement over any one original. It's as if there were too many cooks in the kitchen, but because they discovered that the kitchen was infinitely large, instead of spoiling the soup, they were able to experiment and find how the best seasonings magically rose to the top. All the recipes getting better as a result. When our collected architectural wisdom can be freely extended by anyone with a great idea in this manner, we'll find that there area lot of positive surprises still to come.

It's going to be exciting to see.

Cory has been a software engineer in New York City for seven years. He attended the Interactive Telecommunications Program at NYU before co-founding outside.in, a hyperlocal news aggregator that was acquired by AOL in 2011. He's been a co-organizer of the Gotham Ruby Conference (GORUCO) for five years. Cory has worked as a senior engineer for several NY-based startups and recently co-founded 201 Created, a software consulting company focused on helping startups create great software.

What do you think of Open Source? Leave us a comment below or follow us at Facebook.