BitDust is a project of a global worldwide distributed computer network for secure data storage, information transfers and independent digital 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.
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.
By default, all nodes trust each other and expect that the remote user accept the same rules and implements exactly the same logic in the software. 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 software on your device should make a negative decision about particular remote node and block it.
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 kind of possible problems. It will take some time to make softare smart enough to resist against most "attacks", but only together we can maximize security level of the network.
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 given node. 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.
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 our World, because we share same environment, but you can make your own digital life as stable and safe as possible and keep it under your control.
We believe that the targeted collection and centralization of personal data is extremely dangerous for human society as a whole. 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 you make your decisions completely independently. We see many similarities between BitDust network structure and human society in general. BitDust contributors should design and create software based not on abstract mathematical structures and formulas, but on the natural human relations. 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 controlable behavior you have in the software running on your personal computer, the more stable, reliable and transparent you will be to others. All services and features offered by the program must be managable - each feature individually. There should not be any functionality, which is hidden or unexpected - every major feature or service that interacts with other nodes needs to be possible to enable/disable without starting/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 looking forward to create a new alternative reality where everyone is equal in rights and opportunities (only in the sense of handling the personal digital information). BitDust philosophy is simple: decentralized/distributed information flows are always better than any centralized services and self-governence is better than centralized management.
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 very 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" - we must stop that.
Control over the program
We fully support the position of the GNU community, and Richard Stallman personally: every user must have full control over the software which is running on his device. BitDust software must always be free and distributed in open sourced codes under free software license so that anyone can run, study, modify and redistribute it independently.
Control over development
We believe that single team of developers, or even a big IT company is not able to create some kind of "super multi-purpose" 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 running on a generic "engine". The objective of BitDust project is not to keep software development under our control, but rather to create such a new foundation and provide support to other people who are doing progressive development of the network and finally influence them in a positive sense.