Fixes suggested by my mom (Lynn Duncan)
[thesis.git] / src / pyafm / conclusions.tex
1 \section{Conclusions}
2 \label{sec:pyafm:conclusions}
3
4 Developing an open software stack for controlling single molecule
5 force spectroscopy is hard work, especially for scientists who lack
6 experience designing or managing moderately large software projects.
7 Coming into this project, I already had several years of experience
8 working with LabVIEW, but I had very little experience in other
9 languages and no formal training in project maintenance.  I spent the
10 first two years of my research project floundering about until I
11 acquired enough experience to start making progress on a sustainable
12 stack\footnote{%
13   Since last summer I've been helping the
14   \href{http://software-carpentry.org/}{Software Carpentry}
15   project\citep{wilson06b} reach out to scientists (mostly graduate
16   students) to provide boot camp introductions to software development
17   and version control.  It's a chance to tell other folks what I wish
18   I'd been told when I was starting out.
19 }, and I've spent the remaining time tuning this stack (and the
20 analysis software) while running experiments.
21
22 A FLOSS stack allows collaborative development so that this
23 development cost can be shared between labs, as well as lowering the
24 barrier to entry for new labs entering the field.  Besides benefiting
25 SMFS groups, lower-level packages in the stack will be useful to a
26 wider audience (who can share the maintenance cost).  My existing
27 stack and future distributed maintenance will allow researchers to
28 focus on generating new science, instead of generating new software.
29
30 Besides development efficiencies, a common stack could provide a
31 benchmark for comparative analysis between experiments carried out by
32 different labs.  With every lab using in-house software and in-house
33 hardware, it's hard to judge the reliability or accuracy of the lab's
34 published research.  A common stack should include methods like those
35 used in \cref{sec:pyafm:discussion} to characterize and validate your
36 apparatus.  A common stack also provides a common file format for
37 experimental data, which makes it easier to share data and analysis
38 tools.