Open source software drives further innovation by allowing the free exchange of code and algorithms. Commercial applications are largely driven by market demand for a specific function or feature, so proprietary software has to be economically viable and thus must have feature limitations, code access restrictions and design parameters focused on a particular user base. Open source software complements these commercial packages and allows for new scientific ventures where a desired feature or code addition may not be commercially viable to develop.
Any open project must be viable, it must deliver valuable products to its community, and it must be sustainable and have a strategy for long-term funding. In academic science, many projects receive grant funding to initiate their work, but it is common for software development to require more than three years to achieve a fully developed product that can be distributed and used by the community. Sustaining these efforts exclusively through grants is possible, but requires convincing demonstration of the software's utility, and must accept the reality that continued funding is subject to variations in availability of funding and the priorities of funding organizations. As they mature, most open source software efforts develop a non-profit foundation (e.g. Apache Software Foundation, http://www.apache.org
) or a commercial arm (e.g. http://www.kitware.com
) that can directly access funding from user communities through licensing and customization fees that support the targeted customer base and help finance additional code development and maintenance for the open source package. However, there are still few examples of this maturation in scientific software. An important question for the scientific community is what priority funding agencies should place on the continued funding of software development tools for its use. If continued funding is to be considered, the application and reviewing processes will need to be modified to properly capture and assess the value of these projects. In our opinion, in exchange for periodic review and consideration for sustained funding, publicly funded scientific software projects should be required to follow open development models, where engagement and support for the community is required. This can occur only if funding for support and community engagement is available, and if career development and evaluation include publication record and delivery of useful tools to and engagement with the community.
In comparing open source and commercial software products, one of the biggest differences is support for the software itself. In general, commercial software packages are supported with instructions, manuals, and direct user support, and this is a key advantage of using commercial software. The cost of such support is either included in the original purchase price or paid for by purchase of a software maintenance agreement. Covering the costs of user support is difficult for open source projects because there is no corresponding fee structure to cover such support costs and, often, the academic grants that fund open source projects cover only the innovative research components and do not support the personnel or infrastructure needed. This is gradually changing with funding agencies and scientists alike realizing the importance of producing innovative and feature-rich code but ensuring that it is well supported and maintained. There are well-established standards and tools in the open source community for support, mailing lists, user forums, screencast demos, and wiki-based user documentation, that all contribute to making software successful. Within our own Open Microscopy Environment Consortium (http://openmicroscopy.org
), we use project management tools such as Subversion (http://subversion.tigris.org/
) to manage our source code repository, Trac (http://trac.edgewall.org/
) for all project management and issue and revision tracking, Jabber (http://www.jabber.org
) for real-time communication, Hudson (https://hudson.dev.java.net/
) for continuous integration, Plone for managing our web site (http://plone.org/
), and PHPBB for running our user forums (http://www.phpbb.com/
). In addition to these tools, we hold annual user meetings to assess progress and define roadmaps for future works. We participate as presenters or exhibitors in large meetings of the community in order to capture as much feedback as possible. These tools and activities help support and engage a very broad user and developer community and are an important part of ensuring community wide adoption, but installing, running, and maintaining these tools, as well as answering queries and moderating discussions, requires time and resources (both people and money). Many successful open source packages have shown the importance of transforming the conventional user base into an additional support mechanism where the user community interacts with the original developers and with each other for support and new code developments. Users and developers that are new to the project are often supported by the community, and not just the main development team. This transformation takes some time and investment because it results from releasing useful software and investing a moderate amount of resources in support. However, we strongly advocate that direct funding of support personnel and tools be made available for research-based open source software development. In our experience, many of our academic colleagues hesitate to release their software because of the burden of supporting use of their software, thus preventing the synergies that should occur within the scientific community.
While many of these arguments are in support of open source software for scientific research in general, there are specific advantages for biological imaging. Bioimaging is inherently interdisciplinary and covers a wide range of technical and biological applications. Given this great heterogeneity of its technology and applications, bioimaging needs the open exchange of techniques and principles for further innovation. There has always been a rich tradition of this from the physical instrumentation side of bioimaging development; many current emerging imaging technologies were first developed in other fields (e.g., adaptive optics 
was first developed in astronomy). Open source software development builds upon this collaborative instrumentation approach to allow for further innovation by sharing specific algorithms or leveraging specific code for data acquisition, visualization or data sharing.