I hope you'll take the opportunity to read and respond to this email, even if you're not a heavy-developer, or even a heavy-user, of yt. Your feedback and contributions would be greatly, greatly appreciated, particularly as this will help guide where yt development, community-building and (optimistically) use will go. I know that sometimes the signal-to-noise on the yt lists can be a bit low, but I think this is a particularly useful discussion to have.
A few of us have been brainstorming, in person, in IRC, etc about the direction yt has been going. There are a number of reasons for doing this -- to provide focus, to provide an idea of the off-in-the-distance goal, and to have a public statement of what we're about, which shows ambition, concern for the values that go into a scientific code, and an interest in providing access to that code. This boils down to coming up with a mission statement, which will help both focus our goals on what we want to provide, as well as describe those areas we do not want to provide. Much of this is based on the contents of “The Art of Community” by Jono Bacon, specifically around page 71 in the PDF available on www.artofcommunityonline.org/get/ .
“Mission statements are intended to be consistent and should rarely change, even if the tasks that achieve that mission change regularly. When building your mission statement, always have its longevity in mind. Remember, your mission statement is your slam-dunking, audacious goal. For many communities these missions can take decades or even longer to achieve. Their purpose is to not only describe the finish line, but to help the community stay on track.”
To develop a mission statement, which will act as a precursor to a strategic plan, we need to construct answers to three questions. These will provide the initial basis for a broader mission statement. For reference, here are some “principles” we came up with several years ago:
As I mentioned above, a few of us have been spitballing answers to these questions, and it has reached the point where we really need to bring this forward, to conduct these discussions in public, to bring some clarity and engagement to the process. Ultimately, once we have sketched out a couple broad goals and bullet points, this can then be distilled into a short, pithy block of text that serves as a "Mission Statement." Below are some potential bullet points, but I feel strongly that it's important that these get refined and discussed.
= What is the mission? = * To create a fun, community-led, open source tool for asking and answering astrophysical questions through simulations, analysis and visualization * To create reproducible, cross-code questions and answers from astrophysical data * To construct a consistent language for asking questions of simulation data from many sources * To encourage researchers to participate in constructing a community code
= What are the opportunities and areas of collaboration? = * Development of new tools, new techniques, and adding support for new codes. * Adding components to the GUI * Providing outreach-capable frontends * Improving visualization qualities * Adding new methods of accessing data * Performance analysis & optimization * Deployment to new platforms * Designing new web pages * Writing documentation and recipes * Spreading the word * Support for Cartesian non-astrophysical simulations (weather, earthquakes) * Extension to non-Cartesian coordinate systems * Mentoring new developers
= What are the skills required? = * Thoughtful process * Careful quality control * Ability to communicate * An investment in “the answer” * Eagerness to participate in an open fashion
What other bullets, ideas, inclinations do people have? If we can start a discussion, maybe we can draft some text. This would certainly help with focusing our strategies for presenting yt to others, directing our development in conjunction with our scientific goals, and collaborating as a community.
Thanks very much for any thoughts,