Skip to content

Commit e251aca

Browse files
authored
Merge pull request #153 from JuliaAstro/roadmap
Draft roadmap
2 parents 9e853c9 + 0517b85 commit e251aca

2 files changed

Lines changed: 120 additions & 0 deletions

File tree

β€Ždocs/make.jlβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ makedocs(
9393
"Community" => [
9494
"community/juliaastro_community.md",
9595
"community/governance.md",
96+
"community/roadmap.md",
9697
],
9798
],
9899
warnonly = [:missing_docs],
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# JuliaAstro Roadmap
2+
3+
**Last revised: September 2025**
4+
5+
* [Introduction](#Introduction)
6+
* [Status Legend](#Status-Legend)i
7+
* [Functionality](#Functionality)
8+
* [Infrastructure, Documentation](#Infrastructure-Documentation)
9+
* [Interoperability and compatibility](#Interoperability-and-Compatibility)
10+
* [Hardware and Performance](#Hardware-and-Performance)
11+
* [Learn and User Support](#Learn-and-User-Support)
12+
* [Community Building and Sustainability](#Community-Building-and-Sustainability)
13+
* [Governance, Management, and Personnel](#Governance-Management-and-Personnel)
14+
* [Fundraising](#Fundraising)
15+
16+
## Introduction
17+
18+
This Roadmap captures high level actionable items that we as an organization aim to undertake to improve the health and stability of JuliaAstro, and to help prioritize the allocation of JuliaAstro resources. The Roadmap itself is a static, however it will be revisited regularly at JuliaAstro community meetings or via pull requests, to keep track of progress and write new versions as needed. The structure of The Roadmap is inspired by [The Astropy Project's Roadmap](https://github.com/astropy/astropy-project/blob/main/roadmap/roadmap.md).
19+
20+
## Status Legend
21+
22+
### Green 🟒
23+
24+
- Group or person leading effort is identified and sufficiently supported.
25+
- Effort is already underway and/or expected to be implemented in the β€œnear term.”
26+
27+
### Orange πŸ”Ά
28+
29+
- Item is already defined (e.g., issue or draft PR exists), but not sufficiently underway.
30+
- Attempts to secure the necessary resources are underway.
31+
- *For example, funding applied for, but not awarded.*
32+
33+
### Red πŸŸ₯
34+
35+
- Consensus of the community is that the item is a priority.
36+
- Attempts to secure the necessary resources have not yet been started.
37+
- *For example, there’s no one available to write a funding proposal or lead recruitment efforts.*
38+
39+
## Functionality
40+
41+
The core product of JuliaAstro is high quality astronomical software, including both the core library and coordinated packages in the wider Julia ecosystem. This category encompasses goals having to do with this core JuliaAstro functionality.
42+
43+
🟒 Determine a plan for [long-term support of FITS](https://github.com/JuliaAstro/FITSIO.jl), while also improving performance and making contributions easier.
44+
45+
πŸ”Ά Determine a plan for long-term support of a [pure Julia implementation of FITS](https://github.com/barrettp/FITSFiles.jl) and [ASDF](https://github.com/JuliaAstro/ASDF2.jl), while also improving performance and making contribution easier.
46+
47+
πŸŸ₯ Provide next-generation radio analysis tools usable by individual researchers and larger surveys with [EHTJulia coordinated packages](https://github.com/EHTJulia) and formation of a Radio Astronomy Group (RAG).
48+
49+
πŸŸ₯ Provide next-generation spectroscopic analysis tools usable by individual researchers and larger surveys (e.g., coordinated packages).
50+
51+
## Infrastructure, Documentation
52+
53+
Underlying all JuliaAstro packages is critical infrastructure that ensures high quality, well-documented software is released. This category encompasses goals having to do with such infrastructure and documentation.
54+
55+
🟒 Improve integration of core package and coordinated package documentation from a user perspective (e.g., joint search functionality with [MultiDocumenter.jl](https://github.com/JuliaComputing/MultiDocumenter.jl)).
56+
57+
πŸŸ₯ Maintain and improve robust performance benchmark reporting.
58+
59+
## Interoperability and Compatibility
60+
61+
One of the core principles of JuliaAstro is to "foster an ecosystem of interoperable astronomy packages." This category encompasses goals related to that principle of interoperability and compatibility.
62+
63+
🟒 Encourage usage of the core and coordinated package ecosystem
64+
65+
🟒 Leverage language interopability with Python packages via [PyCall.jl](https://github.com/JuliaPy/PyCall.jl)/[pyjulia](https://github.com/JuliaPy/pyjulia) and the more modern [PythonCall.jl/juliacall](https://github.com/JuliaPy/PythonCall.jl) packages.
66+
67+
## Hardware and Performance
68+
69+
Astronomers perform their work in a variety of computing environments with a variety of requirements. This category encompasses goals related to supporting the performance and hardware needs of JuliaAstro users, as well as anticipating future needs and requirements.
70+
71+
🟒 Improve and/or maintain interoperability with performant I/O file formats and libraries such as HDF5 and Dask.
72+
73+
πŸ”Ά Improve support for using JuliaAstro tools in heterogeneous computing environments such as cloud environments or GPU systems.
74+
75+
πŸŸ₯ Add basic WebAssembly support. Relevant community discussion [can be found here](https://discourse.julialang.org/t/julia-and-wasm/108482).
76+
77+
## Learn and User Support
78+
79+
JuliaAstro cannot succeed in its core objectives without a robust user onboarding and support system. This category is for items related to our ecosystem and other user support related improvements.
80+
81+
🟒 Update JuliaAstro website to reflect the organization as a whole, not just the core packages.
82+
83+
πŸŸ₯ Generate and ingest guides and/or a series of tutorials that demonstrate JuliaAstro functionality in the context of astronomical research.
84+
85+
πŸŸ₯ Develop tutorials that demonstrate the use of JuliaAstro for spectroscopy tasks.
86+
87+
πŸŸ₯ Expand and build on workshop offerings, including online and increased geographic coverage.
88+
89+
πŸŸ₯ Develop, host, and index tutorials suitable for use in university astronomy courses.
90+
91+
## Community Building and Sustainability
92+
93+
As a community-driven project, the long term health and development of the JuliaAstro community is an intrinsic part of our organization. This category encompasses goals related to growing and maintaining that community, and ensuring that it adheres to the core principles of inclusion and consensus-building.
94+
95+
πŸŸ₯ Better understand JuliaAstro user community through user and developer surveys (e.g., JuliaAstro User Survey on functionality and Community views on diversity, equity, and inclusion in JuliaAstro).
96+
97+
πŸŸ₯ Increase the learning and mentoring opportunities for people interested in becoming contributors and helping to develop existing contributors into maintainers.
98+
99+
πŸŸ₯ Increase inclusion, diversity, and empowerment efforts within JuliaAstro communities, and improve our understanding of the demographics of our communities in order to measure the effectiveness of these efforts.
100+
101+
πŸŸ₯ Ensure people who contribute are from a broad experience base, including typical astronomers.
102+
103+
## Governance, Management, and Personnel
104+
105+
This category encompasses goals related to governing and managing JuliaAstro to facilitate reaching the goals described elsewhere in this document.
106+
107+
🟒 Adopt the [Julia Code of Conduct (CoC)](https://julialang.org/community/standards/)
108+
109+
πŸŸ₯ Build a community ombuds/CoC team to curate the guidelines and enforce them.
110+
111+
## Fundraising
112+
113+
To ensure project sustainability, JuliaAstro needs funding sources that can be maintained over the long term.
114+
115+
πŸŸ₯ Raise funds from governmental sources outside of the US.
116+
117+
πŸ”Ά Raise funds from private foundations.
118+
119+
🟒 Maintain existing funding sources (e.g., NASA, JuliaLang).

0 commit comments

Comments
Β (0)