Mercurial > libervia-backend
view CONTRAT_SOCIAL @ 4212:5f2d496c633f
core: get rid of `pickle`:
Use of `pickle` to serialise data was a technical legacy that was causing trouble to store
in database, to update (if a class was serialised, a change could break update), and to
security (pickle can lead to code execution).
This patch remove all use of Pickle in favour in JSON, notably:
- for caching data, a Pydantic model is now used instead
- for SQLAlchemy model, the LegacyPickle is replaced by JSON serialisation
- in XEP-0373 a class `PublicKeyMetadata` was serialised. New method `from_dict` and
`to_dict` method have been implemented to do serialisation.
- new methods to (de)serialise data can now be specified with Identity data types. It is
notably used to (de)serialise `path` of avatars.
A migration script has been created to convert data (for upgrade or downgrade), with
special care for XEP-0373 case. Depending of size of database, this migration script can
be long to run.
rel 443
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 23 Feb 2024 13:31:04 +0100 |
parents | 7550ae9cfbac |
children |
line wrap: on
line source
Le projet « Libervia » est né d'un besoin de protection de nos libertés, de notre vie privée et de notre indépendance. Il se veut garant des droits et libertés qu'un utilisateur a vis à vis de ses propres informations, des informations numériques sur sa vie ou celles de ses connaissances, des données qu'il manipule; et se veut également un point de contact humain, ne se substituant pas aux rapports réels, mais au contraire les facilitant. Libervia lutte et luttera toujours contre toute forme de main mise sur les technologies par des intérêts privés. Le réseau global doit appartenir à tous, et être un point d'expression et de liberté pour l'Humanité. À ce titre, « Libervia » et ceux qui y participent se basent sur un contrat social, un engagement vis à vis de ceux qui l'utilisent. Ce contrat consiste en les points suivants: - nous plaçons la Liberté en tête de nos priorités: liberté de l'utilisateur, liberté vis à vis de ses données. Pour cela, « Libervia » est un logiciel Libre - condition essentielle -, et son infrastructure se base également sur des logiciels Libres, c'est à dire des logiciels qui respectent ces 4 libertés fondamentales - la liberté d'exécuter le programme, pour tous les usages, - la liberté d'étudier le fonctionnement du programme et de l'adapter à ses besoins, - la liberté de redistribuer des copies du programme, - la liberté d'améliorer le programme et de distribuer ces améliorations au public. Vous avez ainsi la possibilité d'installer votre propre version de « Libervia » sur votre propre machine, d'en vérifier - et de comprendre - ainsi son fonctionnement, de l'adapter à vos besoins, d'en faire profiter vos amis. - Les informations vous concernant vous appartiennent, et nous n'aurons pas la prétention - et l'indécence ! - de considérer le contenu que vous produisez ou faites circuler via « Libervia » comme nous appartenant. De même, nous nous engageons à ne jamais faire de profit en revendant vos informations personnelles. - Nous incitons fortement à la _décentralisation_ généralisée. « Libervia » étant basé sur un protocole décentralisé (XMPP), il l'est lui-même par nature. La décentralisation est essentielle pour une meilleure protection de vos informations, une meilleure résistance à la censure ou aux pannes, et pour éviter les dérives autoritaires. - Luttant contre les tentatives de contrôle privé et les abus commerciaux du réseau global, et afin de garder notre indépendance, nous nous refusons à toute forme de publicité: vous ne verrez *jamais* de forme de réclame commerciale de notre fait. - L'Égalité des utilisateurs est essentielle pour nous, nous refusons toute forme de discrimination, que ce soit pour une zone géographique, une catégorie de la population, ou tout autre raison. - Nous ferons tout notre possible pour lutter contre toute tentative de censure, y compris en protégeant la parole des victimes de harcèlement, discours haineux, menaces, humiliations et tout ce qui pourrait mener à de l'autocensure. Le réseau global doit être un moyen d'expression pour tous. - Nous refusons toute idée d'autorité absolue en ce qui concerne les décisions prises pour « Libervia » et son fonctionnement, et le choix de la décentralisation et l'utilisation de logiciel Libre permet de lutter contre toute forme de hiérarchie. - L'idée de Fraternité est essentielle, aussi: - nous ferons notre possible pour aider les utilisateurs, quel que soit leur niveau - de même, des efforts seront fait quant à l'accessibilité pour tous - « Libervia », XMPP, et les technologies utilisées facilitent les échanges électroniques, mais nous désirons mettre l'accent sur les rencontres réelles et humaines: nous favoriserons toujours le réel sur le virtuel.