By Kevin Schneider on behalf of the FsLab steering committee
This blog post is part of F# Advent Calendar in English organized by Sergey Tihon, a decade-long tradition and cornerstone of the F# community.
For FsLab, the last three years were focused on fundamental reorganization, which I would like to recap, as well as provide an outlook on what is to come in 2024.
First, a short look back to contextualize what a 're-organization' means for FsLab.
Initially (around 2015), FsLab was created as a set of .NET data science libraries and tools by prominent F# community figures (see a full list, for example, here). Together with a Visual Studio extension and literate programming, it was possible to create documents that behaved similarly to interactive Jupyter notebooks. Some extremely valuable contributions to the F# data science ecosystem originate here.
The number of libraries combined with the custom tools needed to make this work proved to be too much for the community to maintain once the initial batch of maintainers moved on to other projects. This led to the significant individual libraries (e.g., FSharp.Data) being maintained, but the glue between them being left behind.
Don Syme kicked off a long discussion thread on how to update FsLab in 2018, where Timo, Benedikt, and I joined in 2020 and eventually offered to take over the github organization. We were at that time using individual FsLab libraries from the original FsLab together with our own libraries in our research and teaching.
The last three years basically consisted of two pushes for FsLab:
The vision for FsLab was always to kind of be the tidyverse
of F#. This continued under new management, but until recently, we had no clear vision on how to get there. This changed dramatically this year on both organizational and technical sides:
Our main focus includes selecting and maintaining the core libraries of this F# data science stack, and making sure that they work well together. In contrast to the early days of FsLab, we do not need to build and maintain the tooling glue anymore, as this is now provided by the .NET ecosystem. This means that we can focus on the libraries themselves, and on making sure that their APIs are consistent and easy to use together.
@zyzhu correctly identified back in 2020:
The visions discussed above sound wonderful. However, to be realistic, these visions need a proper business plan and sponsorship for long-term sustainability.
We thought a lot about how to make FsLab more sustainable. It is obvious that a few people picking up the GitHub organization are vulnerable to the exact same problems that FsLab faced before.
Therefore, in addition to the usual donation-based funding, we also thought about how to approach sustainability from a maintenance perspective.
Financial contributions for open-source software from businesses are often use-case specific. I was, for example, approached multiple times by companies that wanted help with specific visualization tasks. I tried to generalize this as an issue sponsorship to our Open Collective, which is a one-time donation. Plotly, for example, sponsored a huge part of Plotly.NET's 2.0 release with $5,000 in 2021 this way. The other option is to have a more general, recurring sponsorship. Hack and Craft for example, contributes monthly since November 2022, while also investing work hours into maintenance and community engagement.
There is less financial pressure in an academic setting, at least in the sense that OSS contributions may be tied to paid work hours or expected gains. This means that FsLab can grow organically as both a resource for new students and a place to contribute cutting-edge research from seasoned (data) scientists. A tight integration of academic members should lead to a steady influx of both users and contributors, which can also benefit financially from this via Open Collective. Timo is doing a lot of work on this front - integrating the FsLab stack into the course curriculum while making sure that many projects can eventually end up as contributions to them. We can see this in practice already, as the maintainers of several core FsLab libraries are part of our department at RPTU Kaiserslautern.
We first got together as a steering committee for FsLab in 2023 in the context of planning the Data science in F# conference. The goal of the steering committee is to have a more streamlined way of making decisions for FsLab. We are currently in the process of formalizing this, but the current members are:
Harry is the founder and CEO of Hack and Craft. He has been writing software for over 20 years and is passionate about the creative application of Data Science to important real world problems. At H&C he oversees development of Data Science solutions in F# for critical industries including manufacturing and logistics.
Mathias is an active member of the F# community, and has been writing F# code for the past 10 years or so, with a focus on optimization, simulation and machine learning.
Timo is a Professor of Computational Systems Biology at University of Kaiserslautern (Germany). His research interests include: algorithms and systems for data analysis in computational proteomics, dynamic system analytics and network modelling to understand biological system responses to environmental changes.
Benedikt is a PhD researcher in the CSBiology group. He's primarily interested in modeling short time series data from biological high throughput methods and maintains FSharp.Stats, the data analytics and statistical testing library within fslab.
Kevin is also part of the CSBiology as a PhD researcher. His main academic focus is on extracting biological knowledge networks from large datasets, deploying a diverse toolbox - from classical metadata and text crawling tools over network science to AI (e.g., metadata curation with LLMs). He is also the maintainer of Plotly.NET, the integral data visualization library in the fslab stack.
Our biggest milestone for FsLab this year was the joint organization of the Data Science in F# Conference in Berlin. We received great feedback, and my personal highlight was the hackathon on the last day, during which I spent time mingling and being amazed by all the different kinds of approaches, ideas, and other interesting side-projects that people had.
In short, I think we are on track to keeping the original vision of FsLab alive and putting it on a solid foundation. I am also very happy with how the conference turned out - if you spend too much time on the internet, everything will look bleak and hopeless. But if you actually meet people in person, you will see that there is a lot of energy and enthusiasm for data science in F#.
Here is a short list of things that we want to do in 2024:
We from FsLab hope you end on a high note and wish you a happy new year!