There’s been a lot of talk about open software recently – and the thing most people may have heard it in conjuction with is PM David Cameron getting in a froth about state security and suggesting the big software houses should create a back door for security services .
Might sound a bit paranoid, but for a journalist or activist this is a great reminder to find out more about open source software – or even building your own tools. There’s an event taking place at the Cardiff School of Journalism this week called Coding for Social Change, which involves these kind of issues and more.
Open source software
What’s the big deal about open source? Effectively someone has developed a piece of software and released the underlying code, along with a licence granting permission to other users to update the code, make suggestions for new features, bug fix or go off and do their own thing with it.
It’s a way of solving a number of problems – expense for specialist software, security, customisation and safety. It can even be full operating systems – such as Debian or Ubuntu which can then be added to and shared to create products like tails (an anonymous, secure operating system) or the data science toolbox (a collection of computing tools for data scientist, which someone else has set up and configured and shared)
One of my favourite examples is Google Refine, a data cleaning tool. Google released it as an opensource project (it was originally called Freebase Gridworks and Google acquired it as part of a takeover of another company) – which allows people to clean up, explore and work with data sets. And then, just when we were all getting the hang of how good it was – Google decided they weren’t developing any more. Fortunately as it was already open source, the community could carry on developing it even after Google had ended active support – you can now download it as Open Refine and carry on data wrangling.
Build your own
Open source also comes into its own if you are tired of relying on tools developed by other people and want to build something yourself – the Python language is a great example of this. You can download it, install it and develop new functionality to share back to the community.
Over the weekend staff and students from the MSc in Computational Journalism went to the Cardiff NHS Hack Day – an event that puts medics, health service staff, coders and people who support the NHS in a room to see what they can do.
Across two days the teams taking part used open source tools and their expertise to build solutions to problems to help the NHS. (You’ll find a Twitter feed of the projects here ). Projects I spotted using open source included our own Health Explorer Wales (built on D3.js) and the virtual microscope built in Python.
My colleague Martin Chorley has also posted about the importance of building your own tools, which includes a Python recipe for getting information out of Twitter, after one of my favourite data tools stopped working in the way I wanted.
This all depends on your confidence level – not all open source software is a one-click install. But where it may sometimes lack a layer of simplicity, it makes up for it with a great community who have probably already asked about the problem you have or will be happy to help you.
One other thing you could do is find like minded people who have the skill set you don’t, but who may lack the expertise you have about the area you have spotted an issue in. Hack days are a great example of this as teams will often include people with no coding experience.
My advice, learn what other tools you can add to your workflow, explore them – and maybe even improve it with open source and start your own coding adventure!