Here in External Research, we collaborate with dozens of computer and research scientists around the world. Through these collaborations, we regularly ask the question, “How can software make you a better scientist?”
This seemingly simple question has evoked many exciting answers – and indeed drives the Research Accelerators we choose to incubate for the community.
Scientists operate on a number of platforms, use a number of languages, and have to deal with many different types of data and data formats.
“Open Science” and the benefits of collaboration are changing scientific culture – the amount of data and knowledge being shared between scientists and across scientific disciplines is growing dramatically. In this increasingly collaborative climate, interoperability and standards are becoming progressively more important.
Software for scientists must meet these evolving needs.
At the same time, Microsoft has been going through important changes. Many people don’t realize that Microsoft now works with over 150 standards organizations and 350 working groups. Microsoft contributes to over 100 open source projects – including Linux, Samba, PHP, and IronPython – in the interest of improved interoperability. This is not the same Microsoft people remember from ten years ago.
(If these facts about Microsoft make you curious, you may be interested in my presentation “Ten Things You Don’t Know About Microsoft,” available at http://docs.com/@derickc.)
In our team in Microsoft Research (and many across Microsoft), we embrace the principles of “Open Software,” so we can meet the needs of open science researchers. Open software has clear APIs, interoperability targets, and documented file and protocol formats, and has been developed collaboratively with its users.
(Incidentally, Microsoft server products and tools also have a public, highly formalized set of Common Engineering Criteria to improve integration, manageability, security, and reliability.)
In several cases, open software can also be open source software. Open source software is helpful when your community is prepared to contribute and help drive development, and when the software is not too broad or complex for new developers to come up to speed.
Not all user communities include developers, and building open source software can add overhead to a project. Developers aren’t standing by waiting to contribute to every new open source project that arrives. In fact, it’s quite difficult to establish a community and find interested developers for an open source project. It requires additional investment and governance – plus people with great community leadership and management skills. There are no guarantees these investments will result in contributions. Accordingly, the decision to make a project open source should not be taken lightly.
In our team – External Research – community collaboration is why we exist. We bring academic and Microsoft research teams together to create communities and technologies that advance and accelerate science. As a result, developing open source software is often the right choice for our business and our academic collaborators. Most of our releases are open source.
As part of Microsoft, a company that earns revenue from software and intellectual property (IP) licensing, our team has additional challenges to overcome when we ship open source software.
These challenges are not unlike the challenges academics face when pursuing open science or running their own open source projects. Universities manage patent portfolios, incubate competitive startup businesses, and collaborate with commercial entities interested in protecting their IP.
So, how does one protect commercial IP while also investing in open source efforts? A good way is to pursue open source efforts through a third-party, nonprofit organization, such the Outercurve Foundation.
The Outercurve Foundation
The Outercurve Foundation was created as a forum in which open source communities and the software development community can come together with the shared goal of increasing participation in open source community projects. It’s structured like a museum, with thematic galleries, each filled with projects that relate to the gallery theme.
I’m really excited to announce that we are opening a new gallery for Research Accelerators with the Outercurve Foundation – to help our team grow our open source software efforts.The anchor project in our gallery is our Scientific Workflow Workbench (code-named Project Trident). By assigning this project to the Outercurve Foundation, we hope to grow academic participation in its ongoing development.
So far, I’ve been really pleased with the reception academics have given to the Outercurve Foundation. We have two universities interested in collaborating on Trident so far, Professor Beth Plale of Indiana University and Susan Cuddy, a researcher with Australia’s CSIRO Land and Water research organization. Professor Plale, a researcher in Indiana University’s Linked Environments for Atmospheric Discovery II (LEAD II) research project, used Project Trident to provide workflows to support the National Science Foundation (NSF) funded Vortex2 project that gathers data on tornados.
Incidentally, if you develop open source software, you’ll want to take a closer look at another Outercurve Foundation project sponsored by Microsoft called CoApp. CoApp will provide open source developers with tools for package management on Windows – enabling the entire ecosystem of open source software projects to be more easily installed and managed on Windows.
Our engineering team is always working on something new, or the next version of something cool and useful for scientists. We have a number of exciting projects in the works that you’ll hear more about on this blog and at our events. Many of these projects will reside with the Outercurve Foundation as well, to help facilitate great academic/Microsoft collaborations.
Stay tuned for more!
Derick Campbell, director of engineering, Microsoft Research
P.S. How can software make you a better scientist? Let me know your thoughts at derickc at microsoft.com.