Buckyos is a Cloud OS (Network OS) for everyone. Its primary design goal is to allow consumers to have their own cluster/cloud (we call this cluster Zone).Consumers can install Service in their own Zone just like installing App. Based on buckyos, users can have AI Agents that can access all their data, devices, and services.
From the perspective of performance and dependability, events in distributed systems are not easy to implement simply. And events are very easy to use. If provided, application developers will definitely use them extensively.
What we should provide is a simple, reliable, and strongly consistent query interface. We can tell the upper layer that the status has changed by carrying the version number in the return.
When designing a package management system, it's important to consider the purpose of installations, how to handle version conflicts, dependency resolution, the process of building and installing packages, as well as how to integrate with CI/CD workflows.
I believe a key issue is understanding the goals of our package management system. Different systems like Cargo, NPM, and Pip have their own unique approaches, and clarifying our objectives can help shape our architectural design. For instance:
Cargo has a cargo install command which installs packages into a user-level directory, but it is more commonly used for project directory installations.
NPM allows differentiation in installation levels using the -g flag for global installations.
This means both Cargo and NPM have considered project isolation, which is convenient for project builds and CI/CD.
Pip usually installs packages at the user level, which can lead to version conflicts across different projects. Python attempts to address this with the use of virtual environments (venv).
The questions that we need to address are as follows:
Which package management philosophy does our system align with more closely?
Is our package management system intended to manage agents or apps, i.e., non-system component packages?
Should the installation be at the user level (system level) or the project level?