This document discusses an open platform approach to cyberinfrastructure for scientific research. It argues that rather than a single unified pipeline, science needs flexible reusable components that can be mixed and matched. Open source development that involves domain experts can help ensure software stays useful. Too often software is not reusable even in theory. Academic software development is difficult, requiring consideration of science, computing resources, user interfaces, legal issues, and integration. An "ecology" of competing pipeline components is needed.