Open Knowledge - A Concept
How many times have you benefited from open source software? And I mean that as a developer: how many times have you benefited, either personally or professionally, from open source code? Now, how many times have you benefited from open and free knowledge? And I also mean that both personally and professionally…
I remember when we first got Internet: 1998, 33.6kbps modem, single phone line at home. My Internet time was limited to a sliver, right between the time my mom would either call or get a call from her mom, shortly after dinner, and the time my dad would need to make some international calls (because timezones). From the day one of being online at home, I remember being drawn to the immense readily available knowledge. Most people were excited about email, chat and getting their news online (instant communication), but I clearly remember devouring tutorials and forums. Shortly after being online, I found about and started using Linux. I also discovered a passion in hardware and overclocking, with the safety net of countless expert peers. It was armed with countless tutorials and guides that I first ventured into web programming (XHTML/DHTML yo!). Heck: I used to print hundreds of pages of freely available tutorials and books just for the (false sense of) security that the physical representation of that virtual knowledge provided me even when offline. Don’t get me wrong: libraries and resource centers had been around for centuries, but this felt very different and a lot more convenient.
As I look back at the past ~16 years that I have been online, I can’t help but feel slightly guilty. Guilty because, even though I have participated in countless IRC chats and forum threads, I have never taken the initiative to compile information I have discovered myself. Linking to content sources is fine and easy (both when programming or when learning) but contributing with new concepts or refining existing knowledge has never been something I took seriously… and that is sad.
Like me, I’m sure a lot of you have never contributed back to the community in any structured way and that, in many cases, defined you. Personally, and because I’m a perfectionist tinkerer, I feel like my “experiments” are never ready to be published. If you ask any programmer considering contributing to an open source project or open sourcing their own code, the feelings are identical.
I want to challenge myself to start writing, screencasting, recording or podcasting my findings, new or development of existing ones. My areas of interest are extremely varied, and that shouldn’t frighten me: computer hardware and overclocking, programming, system architecture, cars and racing, etc… I need to convince my lizard brain that the extra time it takes to do so is my humble contribution back to the world. The reality is, I know I’ll benefit from it in a lot of ways (consolidated and solidified knowledge–that’s a fact–and a personal knowledge database/reference) but that shouldn’t be my main motivation. I look at it sort of like code documentation: it will slow me down in the short term, but tremendously benefit me and others in the long run.
Have you ever thought of your life’s legacy, that something that will survive you, either directly or as part of something greater? I believe sharing your knowledge is great way to build legacy, with the added benefit of helping countless people (and you!) instantly (yay Internet!). I’m sure most of you reading this understand the value of open source software, many of you probably have open sourced some of your code or contributed to an open source project, but… are you just sharing some of your fish or helping others learn how to fish?
As I think of this concept, would creating a place for compiling and categorizing knowledge be something we should consider building? It would be sort of a hybrid between Wikipedia and Stack Overflow, focused on technical knowledge (not just answers to questions)… Most Linux distributions seem to have something like that, but there seems to be a shortage of places like that for general technical knowledge, like programming, design, etc, and I’m not sure a wiki is the best solution for that…
Am I missing something? Thoughts? Hit me up on Twitter. :)