FLOSS for Neuroscience: An interview with the NeuroDebian team
This time we bring you an interview with Michael Hanke and Yaroslav O. Halchenko, leaders of the NeuroDebian project. NeuroDebian is a turnkey platform (using Debian as its foundation) that offers a huge bundle of FLOSS software for neuroscientists. Enjoy the interview!
F4S: Does NeuroDebian have sponsors?
NeuroDebian Team: Strictly speaking, we have no sponsors. But we had and have patrons — first and foremost Dr. James V. Haxby, who enthusiastically continues to support NeuroDebian in various ways, including an endless supply of Godaddy renewal coupon codes to keep our project affordable and under-budget.
We were also both very fortunate to have Ph.D. advisors (Dr. Stephen J. Hanson and Dr. Stefan Pollmann) that, very early on, saw potential in this endavour and allowed us to devote an unreasonable amount of time to it. We also got support from our users and collaborators: a number of institutions around the globe now host mirrors of NeuroDebian repository.
Recently we also joined the INCF Task Force on Neuroimaging Datasharing from whom we have received support for community outreach and technical collaborations.
F4S: Please, give us a little background about yourselves.
- Yaroslav O. Halchenko [YOH, AKA Yarik] – Postdoctoral researcher, Psychology and Brain Sciences, Dartmouth College, USA; Ph.D. in Computer Science; Debian, PyMVPA, Fail2Ban and other projects: https://www.ohloh.net/accounts/yarikoptic
- Michael Hanke [MIH, AKA Misha] Postdoctoral researcher, Department of Experimental Psychology, Otto-von-Guericke University, Magdeburg, Germany; Ph.D. in Neuroscience; Debian, PyMVPA, nibabel and other projects:https://www.ohloh.net/accounts/hanke
We have bounced into each other in early 2006 on FSL and Debian mailing lists, where we found out that: we are both interested in FOSS for neuroimaging and psychophysics, both are fans of the Debian project, both are working toward Ph.D.’s, both have 2 kids each, and both seems to tolerate each other well enough to actually enjoy working together. That is when the Experimental Psychology in Debian (ExpPsy) project — the cradle of NeuroDebian — was initiated. It took us only a year to discover that we are working on the same topic in neuroimaging — predictive decoding (or more fancy: “brain reading”) of fMRI data in the domain of visual perception.
Therefore we have joined our forces to develop yet another project — PyMVPA — neuroimaging-oriented Python multivariate analysis framework. Through all those initial years, besides a few trips across the ocean, we worked together remotely, Yarik in the USA and Michael in Germany. In 2009 we both became postdoctoral researchers working with Dr. James V. Haxby at Dartmouth College (NH, USA), and ExpPsy was transformed into the NeuroDebian. In the past two years, somewhat neglecting our research activities, we were working on expanding the coverage of NeuroDebian within various subfields of neuroscience, and presenting it to a wider audience. In July 2011 Michael returned back to Germany, so we switched back into the “remote” mode with nearly 24 hours of “work and user support” thanks to the difference in time zones.
F4S: What is NeuroDebian?
NeuroDebian Team: NeuroDebian’s goal is to bring developers and users of software for neuroscience closer together, by providing a turnkey platform where research software is well tested, integrated and made conveniently available to users. We achieve this goal through integration of neuroscience FOSS within a massive community-driven FOSS project — Debian — which delivers a robust, free and open universal operating system with possibly the largest archive of maintained software.
NeuroDebian offers two principal benefits to the neuroscience community. First — using the language of a marketing department that we don’t have — our product is the complete operating system with built-in `AppStore`, where thousands of research software products are 1-st class citizens, and are just one click away from users, and avaiable free of any charge. Upon installation, all software installations, removals, and upgrades are done through a uniform interface. Bug reports against any maintained software could be submitted using the same tool (e.g. using `reportbug`) without figuring out the support forum for each particular project. As a result, maintenance of heterogeneous research environments becomes a feasible task for any researcher.
Besides uploading recent releases of software into the official Debian `unstable` release (the entry point of any new software version to enter the Debian world), the NeuroDebian portal provides an APT repository with backports of the latest research software built for current releases of Debian and Ubuntu. This way recent methodological developments in neuroscience become transparently available within the stable Debian-based computing platform.
The second major benefit of NeuroDebian is expertise transfer. Having constant hands-on experience with development workflows and code-bases of many projects, we often consult (or contribute to) neuroscience FOSS projects helping them to address outstanding issues and shortcomings — from licensing consideration to release and deployment strategies. That in turn makes FOSS research products better aware of each other, enhances their quality, and as a result improves user experience.
F4S: Why and when did NeuroDebian come to be?
NeuroDebian Team: As many other scientific FOSS projects, NeuroDebian came from scratching our own itch. In our day-to-day research activities we had to deploy and maintain installations of various software, such as PyEPL and FSL, on our compute and desktop boxes.
To ease our own lives, and to share the achieved benefits with the rest of the community, we started packaging research software we needed ourselves in 2006 and founded the ExpPsy project. In 2009, primarily due to expansion into the other sub-fields of neuroscience (such as neural modeling), we decided to give our project a more generic name and a cool logo — and that is how NeuroDebian came to existence.
F4S: How many users you estimate NeuroDebian has?
NeuroDebian Team: We personally know dozens, have heard of hundreds, are confident that there are thousands, and wouldn’t be surprised about tens of thousands.
We have recently launched our own NeuroDebian popcon server. It collects anonymous submissions from any (Debian or Ubuntu) system who installed any package from NeuroDebian repository and decided to participate in the popcon. So far we have on average 256 voluntary submissions. By different assessments the actual number of users ranges from 10x to 100x-fold.
But altogether the actual number of users is hard to deduce because our work gets to users through various channels and there is no mandatory or hidden statistics reporting facility. Software we maintain becomes available not only to users of Debian itself, but also to users of any of its 138 (according to distrowatch.org) derivatives, such as Ubuntu. We know that some users, installing our packages, are simply not aware of NeuroDebian as a project. For instance, if we take one of our packages — PsychoPy — and look at its popcon statistics:
It looks like nearly 90% of PsychoPy users on Ubuntu systems do not have NeuroDebian repository linked to their systems BUT use the work of NeuroDebian.
If we guesstimate from few other sides: According to our recent Neuroscience software survey around 35% of neuroscientists use Debian-based systems. Or: In September 2011 alone, our main NeuroDebian website/repository (excluding mirrors) got 4609 unique visitors with nearly 3 million hits and 150GB of consumed bandwidth.
F4S: Do you know where is NeuroDebian used?
NeuroDebian Team: It is used by research and academic institutions and for research at some hospitals. See our testimonials page for the feedback we received from our users. And if you are interested `where` geographically — here is the NeuroDebian worldmap:
F4S: How many team members does NeuroDebian have?
NeuroDebian Team: It depends where to draw the line. We could say that NeuroDebian team consists of two people BUT it would not be the full picture. First of all, being a part of the Debian project, NeuroDebian as an “end-product” provides results of the work of thousands of developers and contributors, with many of whom we actively collaborate. In particular we would like to mention the Debian Med and Debian Science teams who directly or indirectly participate in NeuroDebian.
In addition, some developers of neuroscience FOSS packages maintain their software in Debian themselves (e.g. stimfit, OpenWalnut, OpenSesame). We only mentor their work, review and sponsor uploads of their packages into Debian proper and the NeuroDebian archives. We also have people who take care of, or contribute to the maintenance of individual packages — clearly we consider them team members as well. So altogether our team consists of 2 (core) + ~10 (NeuroDebian contributors) + ~2000 or so Debian members.
F4S: In what areas of NeuroDebian development do you currently need help?
NeuroDebian Team: Help is always welcome for any routine activity (e.g. packages maintenance and testing, virtual machine appliance updates) or ongoing new projects: better support of Matlab-based toolkits and their Octave-compatibility ports, new packages of interesting neuroscience software, integration and regression testing (participation in DEP-8).
Since NeuroDebian is user-oriented, we would also greatly appreciate help with preparation of demos, screencasts (visit our youtube channel) and any other educational materials to help new users orient themselves within NeuroDebian and neuroscience FOSS in general — maybe by writing a guest post for our blog introducing a particular cool piece of research software.
We outlined these and other tasks to help with on the NeuroDebian openhatch page.
F4S: How can people get involved with NeuroDebian?
NeuroDebian Team: First of all it would be simply great if more neuroscience-related researchers gave (Neuro)Debian a try and shared their opinions: It is very easy to try NeuroDebian even if you are not running a Debian-based OS. To avoid excluding users of proprietary operating systems and other Linux distributions, we are providing a NeuroDebian virtual appliance allowing for efficient deployment of NeuroDebian on top ofany OS in a matter of minutes. For many of our users that was the first encounter of Linux and a safety net for their transition over to the real thing.
Next — submitting bug reports and/or patches against the packages or our website, packaging your own or other relevant software, joining any of our projects underway, participating on the mailing lists, and simply spreading the word about the NeuroDebian project.
F4S: What new features are in the roadmap?
- Expansion of coverage to add additional popular FOSS for neuroimaging (e.g. FreeSurfer and AFNI), neural modeling (e.g. Neuron), and related tools (e.g. batch processing systems, Condor)
- NeuroDebian APT snapshots repository using the http://snapshots.debian.orgengine to provide snapshots of NeuroDebian repository, so any previous versions of packages become available if needed (e.g. to reproduce previously obtained results)
- Automated software bibliography utility to prepare ready-to-use collection of bibliographic references on the software which was used for a particular analysis
- Extended regression and integration testing to assure correct operation of the maintained products
- Ready-to-use NeuroDebian virtual appliances for cloud computing to ease effective use of the computing cloud services
- NeuroDebian paper – to finally have a citable reference
For possibly a more up-to-date status of our activities visit projects page.
F4S: Which projects, blogs or sites related to open source software for
science can you recommend?
NeuroDebian Team: There is a growing number of high-quality FOSS scientific projects, so it is hard to name just a few. Therefore let us mention few interesting large-scale projects and software portals for different fields of scientific endeavors:
- Debian Science and Debian Med NeuroDebian sister-projects seeing the same value of Debian as the ultimate research platform
- NiPy umbrella project for “Neuroimaging in Python” efforts
- NITRC and INCF Software Center centralized portals for software solutions in neuroimaging and neuroscience in general
- http://neuralensemble.org – a consortium of a electrophysiology-related FOSS in Python
- MLOSS portal for machine-learning FOSS
- Psychophysics – Software for visual Psychophysics
In addition we would like to mention a project which while being in the core of many FOSS and commercial numeric computation libraries and environments, is not usually seen directly, and thus not appreciated enough by its users — ATLAS (Automatically Tuned Linear Algebra Software) by Clint Whaley.
F4S: Why do you consider free/libre open source software important for
the advancement of your field?
NeuroDebian Team: Neuroimaging probably could serve as an exemplar field of science in this respect. FOSS projects already prevail and provide implementations of the most popular methodological developments in the field. FOSS opens possibilities for the unconstrained exchange of information, methods, and data allowing the research community to quickly evaluate, adopt and improve methodological developments. In general, in neuroimaging or any other fields of science, FOSS is an irreplaceable component for achieving the desired “reproducibility” of the findings and “open science” in general.
Moreover, participation and/or contribution to FOSS provides a great opportunity to find new collaborations and interesting projects thus helping to avoid duplication of efforts and
facilitating overall research progress.
F4S: Is there any other topic you would like our readers to know about?
NeuroDebian Team: It is easy for everyone to adhere to the principles of “open science”. Existing FOSS solutions, software portals and open databases already provide needed infrastructure: Share the data and code you have used for the analysis in the published paper and do not be a silent user. Report/blog on the success of using FOSS or even contribute back the functionality you developed.
While developing FOSS you might like to get familiar with some aspects of software development, licensing and deployment which would benefit your project and would make it easier for it to get packaged for Debian or any other distribution platform.
F4S: Where people can contact you and learn more about NeuroDebian?