How many of you have heard this before:
“I had a look at [product] but I couldn’t quite figure out how it works. There was a community message board, but no real documentation.”
Welcome to the world of open source software, where there is a sad lack of documentation. I know, I’m not really in a position to complain, being one of the people in the community who could write some documentation for community project but hasn’t really. Well, except for this one time…
Picture it – the year is 2010 and I am on the cusp of graduating from university, with a degree in Linguistics and only a year of technical writing experience. I’ve spent the last two years evangelising about the wonder that is the open source community and I want to jump in and do all I can to help. So I went along to the Open Source Jump Start 2010 in London. I’m in a room with 30 other university idealists who want to help something bigger then themselves. There are project leaders from many different open source projects – and they take us by the hand and introduce us to their projects.
That’s the hardest thing, getting started. With no documentation, and no one to explain what this particular program is meant to do, I’m lost. I can read code, but it takes me awhile – like someone with a knowledge of Spanish attempting to puzzle through Portugese. It really does take either a fair amount of discussion on a message board, or a sit-down with one of the developers to really understand how something works.
That was the beauty of the Open Source Jumpstart – the would-be programmers had a chance to discuss the project and its organisation. I, too, had the opportunity to talk to the project leader of the Citrine Scheduler project and write a bit of documentation.
I want to organise something like that in Edinburgh, where I know there are people who would want to get involved, students who need to work on open source projects for their degree and folks who’d love to help out the community but don’t know where to start. That’s what I had said on the day I was there, something I have talked about on-and-off ever since. Now that I’m back in Scotland, I don’t have an excuse anymore.
It’s more than just documentation — documentation helps get your foot in the door, but talking over pizza also helps get your foot in the door.
Anyone else want in?
open data and people lokoed at you a little blankly. Now there are governments worldwide releasing open data, there are regular conferences about the subject, and a lot of the stuff that was completely arcane just 3 years ago (like, say, talking about strong identifiers and reconciliation for identities) is becoming commonplace at least in the circles I move in. Last year at OSCON I gave a talk called Open source, open data where I talked about the similarities between the two fields, and how I see open data facing the same challenges now as open source was 10 years ago. People are starting to know what it is and want to know how to use it for their particular applications and stuff, but we are missing stuff like toolchains, quality control mechanisms, or even a strong understanding of what an open data license is. We’re working on them, we have a lot of ideas, there are a lot of experiments underway, but there’s not yet any such thing as (say) a github for linked open data, or even a good equivalent of diff and patch.So yeah, it’ll take a while. Were you using Linux in 2000? How often did you have to recompile your kernel to get USB working? Or sound? What toolkits were you using to build websites (I was using CGI.pm)? What did you use for version control, and how did it handle branching (CVS, and ugh)? That stuff was a complete PITA, and now it’s a no-brainer. So I think with open data, we’re where we were with open source back then. The adoption looks to me like we’re going over the crest of the hill right about now, and it’s all going to accelerate and become easier from here on.As for the impact on the other problems I think we’re already seeing some effect, and it will continue to grow. Open source, open data, open standards, interoperability, platform choice and competition, freedom of information, all these tie in together in my mind and support each other and make something big and important. How you can play too I’d say find a particular problem you want to solve, and dive in deep in that vertical. Pick something local and important to you and to people around you. One of the things we need most right now in open data land (IMHO) is real use cases. There’s a lot of people making broad, theoretical generalisations about what we need to do , but it’s hard to know what’s true til we see more people really getting their hands dirty.