Open Source Day 2024
Tags: opensource, webassembly, eventsinyourcity, llm
Published: 2024-03-11 10:37:36

Good morning everyone and happy MonDEV☕
Or perhaps I should say good evening!

It's Friday evening and the Open Source Day 2024, organized by Shroedinger Hat in Florence, has just ended, and it took place for two full days on two different tracks that were extremely rich, varied, and interesting!

The people I met and the new insights are so many that it's difficult to decide where to start telling; let's therefore go for macro topics and try to wrap up these two days.


### History and Philosophy of Open Source
This theme could not be missing, or rather, it should somehow be a cornerstone of this event.
Both the opening and closing of the first day, as well as various moments throughout the conference, offered many points for reflection as well as enrichment on the historical aspect of our work.

PJ Hagerty and Francesco Corti traced the history of programming and then more specifically of open source, which from a development mode is actually a real movement and an ideal in the IT universe: from its birth, when code was something "for academics" or for "nerds in garages", to give life to a market increasingly assimilated within the capitalist mechanics, which certainly could not see with good eyes a development mode that prioritized communities and sharing, offering resources for free. Yet Open Source development has continued to exist and grow, showing itself as the actually better paradigm and allowing the fastest possible development, despite what was not supported by large companies previously: companies that then themselves assumed a role as players within the Open Source landscape, unable to avoid or deny its use on a large scale.

The problem that this evolution poses is that this great dependence on the Open landscape is not at the same time compensated economically, thus questioning the sustainability of this model. In fact, it becomes increasingly difficult for maintainers and contributors to dedicate themselves to various Open Source projects, especially when these projects grow and require more and more time and attention, without giving the economic return that one would have working on perhaps work-related projects.
The economic aspect has been addressed in various ways in these two days also due to the difficulty that often arises in talking about money in the Open Source environment, even though it shouldn't be like that. Quoting a slide from the opening of the second day brought by Nathan Mars, Open Source does not mean free. Ideally, companies that use libraries from the OSS ecosystem should contribute in some way to their maintenance, whether by allocating resources to contribution or financially.
This situation raises many ethical and practical questions and probably deserves a long separate roundtable.

### WASM and surroundings

One of the topics that I was very happy to see addressed in many talks was WASM which, as those who have been following me for a few months know, is one of the topics I'm interested in studying this year.
The first to talk about it was Sohan Maheshwar with the talk **A Greener, Cost-Effective cloud with Serverless Web Assembly**, addressing a theme too often overlooked, namely the environmental impact of the IT sector. In fact, both in the development phase and then even more in the phase of finished and deployed projects perhaps in the cloud, the carbon footprint is often very high, although we do not directly notice it. One of the strengths of programming in WASM instead is precisely the lightness of the results and the speed of execution of the code, a combination that allows to greatly reduce both the environmental impact and the maintenance cost of our architectures. By then implementing it as on-demand serverless development, this cost becomes negligible compared to traditional development.
A critical point of the topic was then touched upon in the next talk by Noah Jelich; at the moment the test coverage for Web Assembly is almost zero: this is because it is not possible to test the final artifact, currently. At most, you can test the original code, in the starting language; but this clearly does not provide guarantees for the finished product. In a journey through the functioning of Web Assembly compilation, Noah then presented WasmCov, a tool that allows us to partially solve this problem by testing on the intermediate step between the original language and the bytecode, essentially putting the compilation on "pause" at the most testable step as close as possible to the final artifact.
To close the trio of talks on Wasm, Edoardo Dusi spoke about WebAssembly Components, the development model in WASM that allows you to develop distinct components and make languages that normally could not talk to each other. We also talked about WASI, which is the Web Assembly System Interface that allows components written in Web Assembly to access system interfaces such as the File System. Finally, the talk concluded with the deployment methods of applications that use WASM, using Docker and Kubernetes.
These meetings only increased the desire to experiment with WASM, and in fact I have already started to get my hands on it after the conference. But we'll talk about this later.

### Tooling is fun

Obviously, the tooling part could not be missing, very consistent and clearly Open Source. We started the first day by seeing how to use Elastic Search to search large text bases, with a great example on Harry Potter, which made me very happy. A tool that really excited me was **Remult**, which I intend to explore and tell you about in the coming weeks for sure, and which facilitates the consistency of information between front and back-end JS, managing in a single point the data that should be common and automatically generating CRUD for the indicated resources; within half an hour we saw the writing of an entire app and its deployment.
In more than one talk, we also got to know **Ollama** which, for those who don't know it, is a sort of NPM for LLM models. It allows you to download and run models locally, thus also having in this case an Open and completely detached management from external models and APIs. This allows for much more freedom to experiment without leaving your local environment.



Telling the experience of the OS Day in the lines of a newsletter, but also of an article, is really difficult. 

In two days, ideas, inspirations, and reflections were really many; I bring home a load of things to metabolize and work on, both technically (I'm already thinking about a thousand projects and newsletters, as you can imagine very well), but also ethically, on how we use open source every day, how much we contribute to the ecosystem in general, how much we also participate in community activities. I believe that as developers, in addition to the pleasure of doing a very creative and fun job (despite the bugs that continuously accompany us), we also have the responsibility to respect the work of our colleagues who enable us to work better and do our part in this ecosystem, giving back what we can, how we can: OSS is not to be taken for granted, I believe this is something we all should consider.

It was a pleasure to meet those of you who were there, I hope to meet you at the next conference, whatever it may be; anyway, see you next year for sure here at the open source day. I can't wait already. 

Have a great week everyone, 
Happy Coding! 0_1

> If you want to listen to the talks,  you can find the full live on youtube! I leave the links here so they can be easier to find!
> [Alpha Track - Day 1](https://www.youtube.com/watch?v=_mA4mvYpU68)
> [Beta Track - Day 1](https://www.youtube.com/watch?v=te8tNwnej0M)
> [Alpha Track - Day 2](https://www.youtube.com/watch?v=8owI4xBEIl0)
> [Beta Track - Day 2](https://www.youtube.com/watch?v=Va6vIYCVxj0)