We all love and depend on open source software.
But what about open source content?
Open Source Software and tools like GitHub let us work together brilliantly. The result is huge gains in quality and innovation. That's really important.
But content - the documentation, tutorials and books that teach us about all of this tech - is behind the curve. Yes, official documentation is usually on a GitHub repository and we see a huge community effort with the Symfony documentation (nod to @WouterJ - pronounced Wow!ter). Even StackOverflow is an example of crowd-sourcing the information-side of tech. But mostly, books, blog posts and everything in between are still written by one person. They sit, slowly rot with time, and are eventually forgotten. New books are written by new authors from scratch. The cycle continues. We're all part of it.
This cycle is an antique. And like most things that move slowly, the Internet will correct this. Imagine a world where tutorials are based on real, high-quality projects written by many people and evolving over time. That's where I want to be.
More and more blogs are using GitHub-backed repositories, and although there isn't a culture (yet) of contributing like we do to code, I think it's inevitable.
Our screencast and blog content is also open source and lives up on GitHub. That's actually not new, but the "Edit" button at the top of this page and the contributors on the right is new. Get your avatar up there and push the culture of docs contributing by PR'ing some content. I even left a typo in this paragraph (though there's probably more on the page). Find it!
Often there are topics I need to learn and a person that I know could build a perfect tutorial to teach me. For that reason, I've started humbly asking really smart (and busy) people to help write future tutorials: they bring expertise, we hopefully help with a lot of the not-so-fun work (writing, editing, video recording, etc).
We're starting by (being really lucky to) collaborate with some brilliant people:
William Durand will work with us in Feb on our REST tutorial. This is amazing, because it means having a real-world tutorial written by one of the leaders in building technology that helps make RESTy sites.
And if you're great at something and I haven't already bothered you - ping us on Twitter or comment here. I want to bother you :).
If the problem is ultimately that we should all write more (and collaborate), then why don't we? What stops us from writing the tutorials we wish existed? I'd genuinely like to hear from you (again, comments!).
Here are some reasons I think, which could be totally wrong:
There's nowhere easy to publish it (this is not true for everyone);
It's way more fun to just write code;
There's nobody coordinating collaboration;
A tutorial and its code are disconnected - I need to write an app and then go back and document the steps. I'll have to copy code into the tutorial, which may be wrong or get outdated.
Right? Wrong? What stops you from writing a tutorial?
Code collaboration blew up when GitHub made the process easy and rewarding. I hope we can help do the same for tutorials... and include everyone on the process.