We're developing a portal prototype for a client. Part of the... "I need to work to fuel my blogging passion". In less than 4 weeks, we had a working version, fully locked and loaded. Now comes the hard part, branding and streamlining to get that look and feel they want. Five years ago, the discussion would have been... "this will take 6 people 12 months." From zero to launch in less than 8 weeks is generally unheard of. Courtesy of Drupal
, we have configurable content types, security, roles, forums, blogs, chat, messaging, themes, the list goes on and on. Sure, there's a lot of code still been written, but mostly to refine, glue and configure the system to our client's needs. Behind it all, are the hundreds of thousands of lines of code, written by a couple hundred people. Other than the core system, we loaded around 100 additional modules contributed by the community. All code is not equal, some code is better than others but to counter the quality issue, we also have a large community that is testing and requesting features keeping the community honest for the most part.
10 years ago, open source was written as hobbies by smart programmers who tried to make a quick buck with shareware. What's different today is open source is not about the contribution of smart software developers, it's about hundreds of people who code to meet a need and then offer it to the community who collectively mash, integrate and redistribute their work. The total is truly greater, in fact, infinitely greater than the sum of the individual parts. The Internet, being free and open has made this happen. Richard Dawson in The Selfish Gene talks about the human race as being the only living organism that is altruistic. The Internet has that very characteristic, the collaboration gene. It makes us happy to share, because there is recognition but more so, I think, it makes us proud that somewhere out there, someone else is deriving some benefit from our contributions. i.e. we are adding value to the system.
The upshot of all of this is I think with the pervasive of the Internet and the multitude of solutions, we're moving into an age of configuration. The hard part is trying to figure out where to get the best solutions and how to integrate or extend them. The proliferation of open source brings a new complication and complexity where the real money to be made is how fast I can find the right silo solutions and glue them together at Internet speed. While it does take smart people to write great code, it is becoming harder to find smart people who can dip into the open source yellow pages and orchestrate a cohesive solution.