Why open-source timelines/roadmaps don't work

Thanks Tim. Personally, I’ve been ruminating over why there seems to be such a hunger for timelines and roadmaps for Julia-related development, especially around the core language. What follows is a hypothesis for one possible factor.

For most new features and major advances in Julia development, status updates happen in three places: when they are conceived in an issue or PR, as part of the ongoing commit messages/technical discussion on GitHub/Slack, and in a nice release blogpost after they’ve landed in a tagged version. This seems reasonable enough, but it means that there is not too much signal for all but the most in-the-weeds observers between inception and completion. Given the aforementioned inherent unpredictability of timelines in open source, this perhaps gives the (mistaken) impression that features are announced, go dormant for however long and then magically appear at some random point in the future.

But surely other languages must have this problem too? Most definitely, but it is also worth exploring what approaches they have taken to fill this “missing middle” of status updates. Devblog culture is a great example, whether it be new and updated design ideas or occasional summaries of WIP and accomplishments. Julia’s blogging scene is great (check out JuliaBloggers!) and contains some rich, in-depth posts on language + internals stuff (check out the Julialang blog and https://aviatesk.github.io/posts, among others), but I’ve only seen this semi-regular devblog trend take hold in scattered parts of the library ecosystem.

Another thing other languages have done well is centralizing proposals and discussions on new features in an obvious, well publicized place. Regardless of whether they’re called RFCs, evolution proposals or something else, it’s far easier to get a one-stop-shop view of status updates, outstanding design questions and implementation snags. Though this might not help with getting features landed any faster, it provides more information from which users can draw their own estimates instead of repeatedly bugging maintainers with the same question. On this front, I’m cautiously optimistic about the return of Juleps, as recently mentioned in Discussion on the future for performant programming in Julia - #4 by ChrisRackauckas and implemented in buffer.md · GitHub.

11 Likes