Open Source Day: A Report
What I saw at Open Source Day, a conf by Schrödinger Hat
Introduction
On the 7th and 8th of March we were at the Open Source Day organised by Schrödinger Hat, and it was a two-day conference full of enthusiasm and innovation in the framework of the innovative Nana Bianca coworker space in Florence, but if you were not there you can at least follow on YouTube their amazing talks https://www.youtube.com/@SchrodingerHat/streams or https://www.youtube.com/@SchrodingerHat/videos and the agenda https://2024.osday.dev/it/agenda.
As you can see there were a lot of amazing ones and I will try to help you decide which talk you should definitely follow.
Technology Trends
There were 2 main trends:
- AI tools, especially LLM related ones, how to build LLM RAG based applications using open source tools from Hugging Face and Ollama.
- WebAssembly and its wider implications for software development.\
And there was also a “shadow trend”, not an explicit trend, but an ecosystem of similar technologies, namely:
- CDC (change data capture), CRDT (conflict-free replicated data types) and concurrent collaboration or real-time update platforms.
If you don’t have experience with these tools, I recommend Stefano Fiorucci’s talk on what an LLM application is, how it works, how to implement it, what it is and how to implement Retrieval Augmented Generation applications with Haystack, our Edoardo Dusi with his talk on WebAssembly, how it works and how it could become a new future standard due to its interoperability, versatility and great performance, Wasm component wrappers, integration with Docker and Kubernetes and much more, and Federico Terzi with a technical explanation of CRDT and what challenges you need to face to achieve real-time collaboration utilities.
My favourite technology tool talks
I will briefly report on my favourite talks and start with some lesser known extensions to a very famous tool, Iulia Feroli’s talk, Senior Developer Advocate at Elastic, showed us how easy and powerful Elasticseach could become with the use of some specialised clients allowing us to perform sentiment analysis and semantic search for example.
Sentiment analysis is an NLP technique that allows you to identify the positive or negative polarity of a given query, while semantic search is the search or ranking of content based on contextual relevance and intent.
For example, you could analyse a list of customer comments and intercept those that could lead to an escalation, or perform a search without having to know the exact terminology (e.g. a search for ‘brave’ could also return ‘courage’ and so on).
The client used to import LLM into Elasticsearch was Eland, the ELSER NLP model was used to perform semantic searches, she also did a little briefing on how vertex search allowed us to perform semantic searches and remembered that vertex search could also be used to search for similar images for example.
Noam Honig, creator of Remult showed us a new way from backend to frontend, a full-stack CRUD framework that removes all code duplication between frontend and backend like dtos creation, data validation and so on, providing ORM-like database interaction and archiving a Typesafe and DRY architecture. With a live coding session, he showed us how fast it is to build a full-stack application with Remult. It has a lot of features, but the one I find most interesting is the ability to do live queries, long-lived queries that automatically update as results change. It can be integrated with many JavaScript frameworks and many databases.
Give it a try, maybe with fast prototyping, and you will love the philosophy behind this tool with a clear focus on improving the developer experience.
Mario Fiore Vitale, Senior Software Engineer at Red Hat, talked about Debezium, an open source platform that enables Change Data Capture (CDC), the ability to intercept changes in your database and propagate them across different systems, which could be very useful for synchronising multiple linked data sources, data replication, updating or invalidating a cache, updating search indexes, data synchronisation or propagating database changes via Kafka or a WebSocket. CDC enables incremental loading and eliminates the need for bulk updates. Debezium captures database changes by monitoring the database transaction log, so it doesn’t impact the database itself.
Other interesting technologies included Nanocl, a Rust alternative to Kubernetes that grew out of a study project, Irine Kokilashvili’s talk, Camunda, a tool based on business process modelling (BPM), which is a way to orchestrate and describe complex microservices processes and flows, as shown by Samantha Holstine, LavinMq a very performant message broker described by Christina Dahlén, Scrapoxy the amazing web scraping Swiss knife by Fabien Vauchelles and finally Graziano Casto showed us Rönd, a lightweight Kubernetes sidecar that distributes security policy enforcement throughout your application based on OpenPolicy Agent.
A broad view of the conference
As you can imagine, an open source conference doesn’t just focus on tools, but also on high-level analysis and experiences of open source development.
There was a focus on accessibility in a broad sense, not only for people with disabilities, but also for people with neurodivergence or temporary disabilities for example, and how to create an environment that helps them to be productive and satisfied with their work, improve their development experience and develop an inclusive workplace.
Also, although it hurts, I learned that Linux doesn’t currently have great accessibility tools, so if you want to start an open source project for Linux, consider that we’re trying to fill that gap!
Another topic was what open source is, its different forms, how to monetise or develop a business model for an open source project, how to protect it from being appropriated by big vendors and the differences between FOSS and OSS.
They also talked about the security of the software supply chain and how reliable open source technologies can be, with a presentation on the use of Linux in space missions.
There was also space for ethics, like a UNICEF talk on the challenge of making digital solutions and services accessible and ‘profitable’ for the most vulnerable, and also a focus on web sustainability, like that of our Valeria Salis, who wasn’t able to be present at the event, but which you can watch from this link https://www.youtube.com/watch?v=KWK8Upl9-wU.
I would also like to focus on the talk by Andrey Sitnik, the maintainer of a widely used library such as Post-CSS and so on, who gave us a complete manual on how to manage an open source project, recalling how it is fully linked to relationship management, the need to give quick feedback, to trust contributors and to consider them as the people behind what they are asking for, inviting us to empathise with them, to gain insight into why, for example, your detailed documentation is never read as carefully as you expected, or to understand why some projects that you thought might be more popular are instead ignored despite their potential, to remember how the adoption of a framework or so on depends more on irrational processes than cold analysis.
Why Open Source
What emerged from the talks was enthusiasm and positivity, open source as a tool that could spread values of commitment, collaboration and tolerance, and develop social communities of mutual respect and status quo challenging innovation, a kind of friendly world utopia, a tool to indirectly promote a better world.
As PJ Hagerty’s talk points out, don’t expect this to always be true, we need to foster good open source citizenship ourselves first.
Nowadays many companies claim that their products are OSS as a marketing strategy, but this is not always completely true (especially for some AI tools) and some big projects started to change their licences to some more restrictive or sometimes closed ones.
However, open source adoption is still very high and it’s growing, with more than 90% of developers relying on open source components in their proprietary applications.
But probably in the future, the need to protect large projects from being forked and the business models of the companies behind them, the adoption of open core strategies will change the definition of open source and it will only define projects where the source code is public/available for inspection and there will be a clear distinction between OSS and FOSS where redistribution will be free.
Until then, open source is still a philosophy, and to embrace it, to claim it, is to have a mentality around it.
And speaking of mentality, I want to focus on a term that is rarely quoted, but I think it should be a core concept related to OSS, and that is the autotelic concept.
Autotelic is an adjective that describes activities that exist for their own sake, because experiencing them is the main goal, but also people who do things moved by intrinsic motivation, not by wealth, fame, power research, not by concern for money, status, applause or recognition by others, and it’s linked to the ability to experience flow more often and is used to describe some art, sport or play activities.
This perspective overwhelms the idea of contributors being driven by ego, which is relevant in open source development.
Public opinion perceives OSS as a tool that promotes free culture and considers it to be a more transparent system, and therefore a more secure system, without any dark patterns inside.
Can free access to source code be a professional standard in the future, demanded by people in the same way that we demand the components of a medicine in the package leaflet?
We don’t know yet, a lot will depend on how events affect public opinion, whether people start to care more about concepts like their privacy and whether they start to trust open source software more than proprietary software.
Will FOSS continue to exist? Probably yes, because libraries or tools for developers focus on usage and if they’re free it’s easier for them to be adopted, also the development of these tools gives prestige to the people or companies that have worked on them and is also a way to create a process of continuous improvement.
The affirmation of open source lies in the transformation of users into active actors, able to report bugs and sometimes suggest new features, and this is very common in tools for developers, but still a little lacking in general-use tools for the general public.
There are also adoptions of the open source model outside of software development, such as in the arts or education, which probably need more resonance, and we probably need to spread the open source mentality beyond the boundaries of software development.
There are several challenges to overcome, but we hope that open source will be able to flourish, because “a mind is like a parachute. It doesn’t work if it’s not open” - and that certainly applies to software!