During the holiday season it’s natural to consider giving back and reflecting on what we’ve accomplished. According to ohloh.net the open source community has done an amazing job on both counts. For example, a partial tabulation of some open source projects related to medical image analysis yields a total of over $350 million and over 12 million lines of code, the result of years of hard work .
Do I believe these numbers? Absolutely not. There are many obvious problems: COCOMO cost estimation is notoriously inaccurate; many of our OS developers are way more productive than the model assumes; line counts are off; and the cost of a developer ($100K/year assumed) varies widely (probably factors of 0.5 to 3 depending on the organization). On the other hand, many software tools are not included, for example ParaView is often used in medical applications, so this is far from a complete accounting. It would be really fun to do a financial roll up of open source tools being used, in say medical research, and compare them to investments made by funding agencies, research organizations and other customers. I have a pretty strong suspicion that a dollar invested pays off very handsomely.
Whatever the real numbers, I do believe they are impressively large, hence implicit in these figures is that many of these projects represent mammoth combinations of money, vision and concerted effort over decades (the first line of VTK code was written in late 1993) to create ongoing funding streams. I attribute much of this success story to the Unsung Heroes of Open Source, those champions with a clear Collaborative Vision of the future who are willing to support projects over the long haul. However, while having Champions and articulating Vision are essential to success of an open source project, to manifest portfolios of this size it’s important to understand the creative energy that goes into supporting them over the long term. Thus in this blog post I’d like to describe a few of the many approaches our communities have used to create successful funding streams, as well as reflecting on the challenges that the various approaches present. Hopefully in the coming years we can do more of the same and approach the billion dollar mark.
Community Efforts: The classic model of open source development as being volunteer driven is giving away to more sophisticated approaches which combine volunteers, students, academics, research labs, non-profits and commercial firms. In our communities we leverage these partnerships in novel ways by hosting hackfests to bring together developers and users in concentrated programming events; teach college-level open source courses and harness the energy of students; build open source research programs such as NA-MIC which sponsor major Project Weeks (summer and winter) to address algorithm and software development needs; get the word out at important conferences (Supercomputing, VisWeek, OSCON for example); participate in broader community events like Google summer of code; and sponsor community-building webinars. The challenge here is to establish effective governance and communication channels in order to effectively weave these efforts together.
Research Programs: There is an avalanche of formal support for Open Access, Open Data and Open Source research initiatives. Despite inherent resistance to some in the scientific community to sharing (for a discussion see the excellent book Reinventing Discovery: The New Era of Networked Science), the Unsung Heroes who manage the research funding stream see the bigger picture: Open Science requires funding steams dedicated to making the results of research open. Such research programs represent a significant change in the way R&D is performed, positively impacting many open source communities with funding, and explicitly prioritizing agile innovation and reproducible science as a broader public good. There is also a pragmatic focus to many programs which aim to create open computational infrastructures that spawn competitive commercial activities to create jobs and build businesses.
SBIR/STTR: Businesses like Kitware that engage in R&D may tap the SBIR/STTR program. The Small Business Innovation Research program is a highly competitive program that encourages US small businesses to engage in Federal R&D with the potential for commercialization. While the program is extremely competitive, it has enabled Kitware to develop core infrastructure in several of our open source projects. In the past the program emphasis has been squarely focused on business models that create and commercialize IP (patents, licensing, etc.), and the open source service model was viewed with skepticism. This is now changing as successful open source companies emerge, agile innovation is recognized as a competitive advantage, and broad scientific impacts are made. Other countries or groups offer similar commercially-oriented R&D programs too (and which our foreign offices participate in).
Commercial Work: Many commercial forms work in the background (often choosing anonymity for competitive reasons) creating systems using open source software, and then contribute back everything from bug fixes to small enhancements to major chunks of code. In some cases our work with commercial entities is small potato-stuff like support contracts, and sometimes major technology-integration initiatives valued at millions of dollars. We find that permissive licenses such as BSD work best, since various flavors of GPL (and other reciprocal licenses) are so complex and onerous that commercial firms stay away from them. We’ve found that even receiving partial contributions from commercial firms (who admittedly often hold back code when not required to by license) produces more code contributed, and more overall support to our communities, than zero code and support due to scary licensing provisions.
Engaging with Non-Profits. Many non-profits have a social mission and are happy to support open source communities (ironically many universities resist open approaches, employing active patent and licensing offices). While non-profits may not contribute direct funding (although some foundations are huge and directly do so), the exposure to the community can be important, not to mention the driving technical challenges. For example, the Give-A-Scan project developed by the Lung Cancer Alliance and Kitware, uses many open source tools to create an archive of images and clinical data from donations by lung cancer patients. We have received favorable press which goes a long way to emphasizing our commitment to creating shared value.
Government. Aside from scientific research programs, governments are recognizing the value proposition of using open source software. Licensing issues, which are extremely difficult to manage across large organization are greatly reduced, and favorable competitive situations are established (firms compete on who services an open source system, and there is little if any vendor lock-in). Moreover, if the government desires the power to change and adapt the underlying software (for example for defense purposes) open source tools are essential. Some of these projects can be huge and the politics is challenging, for example Kitware is part of the OSEHRA team to improve and maintain EHR information systems including the VA’s successful Vista system. Despite the challenge of large government projects, such programs can provide significant support to the open source community.
Creating and maintaining effective, long-term funding streams is critical to the success of large scale open source projects. While we’ve done an amazing job of it thus far, changing the way the word innovates and shares will require that we continue to push the frontiers of creative business development, as well as creating the best possible technology for our customers and collaborators.