BitDust philosophy

The goal

BitDust is a project of a global worldwide distributed computer network for secure data storage, information transfers and safe communications. The purpose of BitDust is to make all interactions in the network simple, safe and ethical for each user and thus benefit to the whole society in general. In other words, BitDust is another way for collective security.

Personal security

When you are using other nodes for your own purposes, you have to trust them, but do not provide the possibility of fraud. Any private information must be encrypted before leaving your device. However, service information, which relates to the infrastructure and operation of the network as a whole, should be open and accessible.

Confidence

By default, all nodes must trust each other, expecting that the remote peer accepts the same game rules and implements similar logic in software running on his device. By providing resources of your own device to another user you trust him initially and expect that his device is running same copy of BitDust software. Only in case of unexpected or dangerous behaviour you should make a negative decision about this particular node.

Software protection

So if the software running on your own device, found unpredictable, dubious, dangerous or malicious behavior of some other nodes in the network, it must take retaliatory measures against such "attacks". Developers can foresee and implement methods of protection of well-known types of "attacks" in the program, but it is impossible to foresee and solve all possible problems. Only together we can maximize the security level in the software.

Reputation

The history of relations between the nodes must always be open to everyone and must be stored in some kind of global and immutable database, so nobody can overwrite it. This way every user can decide/calculate a "trust level" to any other user and made independent decision about him. This does not apply to personal/private data of users (files, correspondence, pictures, contact list, etc.), but only to so-called "service" information that relates to network infrastructure itself: (amount of donated/consumed resources, facts of payments, taxes, etc.).

Self governance and Independency

Each member of the network should operate autonomously as much as possible. A node can support other members of the network and provide them with resources of his own device, but they must not entirely depend on it. It must be possible at any time in the normal order to break the connection with any of the nodes and switch to another node automatically. We believe it is not possible to be fully independent in this world, but you can make your own life as stable and safe as possible and keep it under your control.

Personal mystery

We believe that the targeted collection and centralization of personal data is extremely dangerous for human society. In a world where the digital information acquires more and more importance, it could lead to discrimination, corruption and fraud, restrict freedom of speech and eventually suppression of human individuality. So-called "personal mystery" should always be respected, private information should not be available to any higher court, even with permissions by law.

"Humanity" behaviour patterns

Nodes in the BitDust network are connected directly and depend on each other, but make decisions completely independently. We see many similarities between the nodes community in BitDust network and human society in general. In our opinion, the developers should design and create software based not on abstract mathematical structures and formulas, but on the natural human relationships. Software must be smart and we will implement a lot of various methods and automations of interactions between nodes, but they must be understandable and predictable and finally looks like a normal human behaviour patterns.

Predictability and controllability

The more clear, predictable and controlled behavior you have in a program running on your personal computer, the more stable, reliable and transparent you will become to the entire network as a whole. All services and features offered by the program must be controlled - each individually. There should not be any functionality, which is only possible to disable, by stopping the program itself.

Decentralization and distribution

Any centralization in human society, in our understanding, leads to social inequality and divides people. We do not deny and do not enter into a confrontation with the existing order, but creates a new alternate reality where everyone is equal to everyone in rights and opportunities (only in the sense of handling the information). BitDust philosophy is simple: decentralized information flows are always better than any centralized services and any distributed flows are always preferred than decentralized.

Forgot your password?

Conventional methods of remote login based on the user's credentials - it is an evil that must disappear. Local password is protecting your device, and this is good practice. However, the password to access a remote server where your personal information was stored, puts you in the position of "slave", and the owner of the server becomes your "master".

Control over the program

We fully support the position of the GNU community, and Richard Stallman: every user must have full control over the software that is running on his device. Software BitDust software must always be free for and distributed as a source codes under free software license.

Control over development

We believe that single team of developers, or even big IT company is unable to create a single application that meets the needs of all users in the world. Only the community itself, as a number of independent developers, operating autonomously and independently, will create a wide variety of applications with a common core and are running on a generic "engine". The objective of BitDust project is not to keep software development under our full control, but rather to create such a new foundation and provide support for other people doing progressive development of the network.

Control over the source code

Our plan is to redistribute the source code deployments as well as other aspects of the project. Imagine, you can share exactly the same source code version of the program you are running with other users. You know, just to notify about latest version. Or to help new users join the network and start quickly. Ideally you must be able to always fetch full sources from any of nodes, only question is trust. So we must build and support a global list of BitDust "remotes" - anyone can just create an own "sources mirror" and join the community. BitDust software will automate some git operations for your needs, but final decision will always be from your side.: who to trust when selecting a mirror location? ... We believe, it must be established a full-cycle Agile public review process for software releases in BitDust. Finally pushing a commit to some well-trusted "master" brunch in that repo must pass a fully open public PR review process.