I am an eLife ambassador for open research, but am also a strong advocate for free software. I’ve previously written up a post about the links between open research and free software, and would recommend reading that to understand why I think free software is important for good research.
What is Free Software?
Free Software is software that gives the users of that software the freedom to do anything they want with the software. A proper definition of what is required to give this freedom is complicated, but those complications are mostly about how free software is distributed to other people. If a person just wants to use free software, they probably don’t need to be concerned about those issues.
What is Free Software?
Isn’t that the same question?
Well… yes. But my answer is different.
The answer I just gave was something of a dictionary definition, but here I give a practical definition: a definition by demonstration. It is my hope that by demonstrating the wide range of free software that is available, I can better show what it is.
All the software that I present here is available on at least the three major classes of operating systems: Windows, OSX, and Linux. All these software programs also have code available for download that can be inspected, so that curious people can see exactly how it works.
The programs are broken up into rough categories, with a bit of a blurb about each program (once I get around to writing them) and links to the program websites for downloading the programs. Note that the descriptions here are frequently paraphrased from multiple sources (including other tweets and software web pages).
LibreOffice is an office productivity suite for letters, spreadsheets, presentations, and databases.
Notepad++ is a text and source code editor.
WinSCP is an FTP/SCP client for transferring files between local and remote computers.
Color Oracle is a color blindness simulator that shows in real time what people with common color vision impairments will see.
PeaZip is a file compression / decompression utility.
JASP is a spreadsheet-style statistical analysis package.
Zotero is a free, easy-to-use tool to help collect, organize, cite, and share research.
Sozi is a zooming presentation editor and player. Unlike in most presentation applications, a Sozi document is not organised as a slideshow, but rather as a poster where the content of your presentation can be freely laid out. Playing such a presentation consists in a series of translations, zooms and rotations that allow to focus on the elements you want to show.
Inkscape is a vector graphics editor for diagrams, icons, and logos. Inkscape opens Adobe Illustrator and PDF files, to edit them, facilitating transitioning away from the expensive subscription-based Adobe tools. It is outstanding software for manuscript figures and scientific posters. Inkscape is trivial to use as a point-and-click program, yet also has a comprehensive scripting ability.
Scribus is a press-ready desktop publishing program for posters, brochures, and magazines, which I’ve used for all my research posters for the last ~10 years.
ImageJ is an image processing and analysis toolkit. ImageJ (and its spin-off FIJI) is fantastic for viewing, editing and analysing large CT datasets. And the software doesn’t need to be installed; very useful when admin privileges are hard to come by.
GIMP is a raster/pixel graphics editor for photo retouching and image manipulation.
Blender is a 3D renderer and movie maker. I’ve known about Blender for a while, and have enjoyed watching the short movies that have been made with it.
My first foray into Blender was earlier this year, creating a can of worms.
OpenSCAD is a programmatic 3D modeler for creating solid 3D CAD objects (for 3D printing and animation). OpenSCAD has helped me a lot for my various 3D-printing adventures. I think my most complex object so far would be a vaccuum filter device for helping me to filter river water from the local stream for subsequent nanopore sequencing.
Krita is a digital painting tool, including wet paintbrush / blend effect.
Darktable is a digital photo manager for both processed and raw photos, a virtual lighttable and darkroom for photographers. It manages digital negatives in a database, provides a zoomable lighttable and allows for the development and enhancement of raw images.
QGIS is a Geographic Information System. Vector and raster data can be overlaid in different formats and projections without conversion to an internal or common format.
MyPaint is a nimble, distraction-free, and easy tool for digital painters. It supports graphics tablets made by Wacom, and many similar devices. Its brush engine is versatile and configurable, and it provides useful, productive tools.
Audacity is a multi-track sound recorder and editor. Audacity is hugely useful for cleaning up background noise in audio interviews prior to transcription.
VLC is a multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
MuseScore is a sheet music notation / composition program, with music entry via a mouse, a computer keyboard, or a MIDI keyboard.
Lilypond is a text-based music engraver and lyric notation program.
LMMS is a sound generation system, synthesizer, beat/baseline editor and MIDI control system which can power an entire home studio. Sounds and tones can be generated, played and artfully arranged to create entire tracks easily, giving you the opportunity to create music from beginning to end. LMMS can also connect to a MIDI keyboard and play music live.
R and RStudio
R is a programming language: a statistical computing / bioinformatics kitchen sink, generating statistics and associated graphs using short script files. RStudio is a user interface that helps people write R programs, and create related documents. This document was written using Rstudio.
Anaconda is a distribution of the Python programming language for large-scale data processing, predictive analytics, and scientific computing, that aims to simplify package management and deployment.
Atom is a customisable text editor with a great selection of plugins.
Octave is a matlab-compatible programming language.
SageMath provides a Mathematica/Maple-like experience by combining a whole bunch of different Free and Open Source packages (including Octave).
Orange is a python-based app for data mining, with a clean-nice GUI.
BORIS is an easy-to-use event logging software for video/audio coding and live observations.
OpenSesame is a program to create experiments for psychology, neuroscience, and experimental economics.
Simon Tatham’s Portable Puzzle Collection
Simon Tatham has developed a collection of small puzzle games, for the purpose of giving people short breaks from their regular work.
Enigma is a top-down marble labyrinth / memory game.
A marble game? Is that all?
Well, yes, but it’s got a tetris simulator as one of the puzzles that you need to solve to advance through the game. It’s surprising how many different worlds can be created from a fragile marble and a bit of imagination.
Have I forgotten something? Want to know more?
For a more comprehensive view of the diversity of free software, check out this list on Wikipedia.
For most of the computer things people want to do in their everyday life, those things can be done using free and open source software. The gaps are getting filled as more people use free software, and the landscape of free software is improving all the time.
An important thing to remember is that most of the developers of free software are creating software on a voluntary basis. Be nice to them, use their programs, support them, and encourage them, because they are helping to create the future.