Codename "dreamchris-link" Always running even during updates, no restart/relaunch/reboot - idea about software that would lead to freedom of 100% uptime and choise of how you want your software

notice about me: I am a newcomer in programming and I am just having some thoughts of how things can be and got an idea and want to discuss it with people that know about programming more so I can reach a conclusion if what I think is a good idea or is already done in some way.

So here it comes:

I envision a software system that would eliminate the need to update or even restart a program or OS.

the basic of the idea is that everything is built upon the most basic components which then are connected through links. the thing that I also want is that if a basic component is updated there is a mechanism that has a smooth transition that leads to the desired outcome of a complex program not needing to restart or an OS to not need a reboot. So the result of all this is the user uses a software that is always on even on updates, no need for refresh or relaunch or reboot, he has the choice to add the new features when them are available.

I would like to know if there is something like that already out there, or if anyone thinks this is interesting lets have a discussion of how I envision it and how to create such a system of software freedom.

-how is this related to safe: I was inspired by safe and I think its the future of internet and I got this idea that could be implemented on the safe network.


This is called modularity. Linux has a modular design.

Linux has this functionality via livepatch.


ok great, but as I can see from a quick readup it is only for top priority security patches and its not for all software am I correct?

edit: for example safe doesnt use it or any app on safe


You might also want to look at microservices, if you haven’t already. This is a way of building programs out of many small units which are loosely coupled together. It means, among other things, that you can replace or update one of these units without affecting the rest of the application. Also it makes it much easier to distribute applications across multiple machines using containers like Docker and an orchestration platform such as Kubernetes.