]> Git — Sourcephile - sourcephile-txt.git/blob - ddc/ddc7-une-assoce.md
ddc8: développe l'analyse des motivations
[sourcephile-txt.git] / ddc / ddc7-une-assoce.md
1 # Une association pour Plurasoft
2 - Demande de Critiques: 7
3 - De: Julien Moutinho (julm)
4 - À: Plurasoft
5 - Phase: Écriture
6 - Révision: 3 (2019-12-04)
7 - Licence: Creative Commons BY-SA
8 - Complémente:
9 - DDC6: un nom pour la logiciellerie
10 - Préoccupations: financement, reconnaissance, ralliement
11
12 # Bilan approximatif
13 ## Analyses reconnues
14 - [T] financement
15 - [T] julm: une association autorise la réception de dons (éventuellement partiellement déductibles de l'impôt sur le revenu) et des subventions (publiques après un an d'existence).
16 - [A] ralliement
17 - [A] julm: il faudrait d'abord trouver des co-"porteurs de projet". Trouver des gens qui codent "comme moi" paraît improbable.
18 - reconnaissance
19 - [A] julm
20
21 ## Mentions possibles
22 - R: « À rejeter »
23 - C: « À clarifier »
24 - A: « À améliorer »
25 - T: « À tester »
26 - G: « À garder »
27
28 # Explications
29 ## Motivations
30 Il ne va pas de soi que faire une association (ou n'importe qu'elle autre structure juridique) soit une bonne idée pour faire de bons logiciels libres.
31 A commencer par le fait qu'il existe déjà des associations qui font cela (eg. Framasoft, le projet GNU, et autres assoces plus spécifiques), il y aurait peut-être même moyen de rejoindre un institut comme l'Inria ou le CNRS.
32
33 ### Entraînement solitaire ou performance productive : comment considérer le travail déjà accompli ?
34 Ce qui est fait est fait, et n'est pas en soi une raison valable pour décider de persévérer ou pas. "L'erreur est humaine". Avoir fait "tout ça pour rien", ou du moins pas pour ce qui était envisagé, est une éventualité qu'il faut considérer. J'ai déjà abandonné 2 ans de travaux en C pour TI-89, 5 ans de travaux en OCaml, plusieurs mois de travaux en XSLT, et déjà certains en Haskell. Ces abandons proviennent essentiellement d'une perte d'intérêt de ma part pour les technologies en jeu, mais aussi parce qu'une bonne idée de produit n'est pas nécessairement une bonne idée à vendre (directement par des services ou indirectement via des dons ou subventions).
35
36 Dans mon cas, ces produits restent aussi confidentiels qu'invendables en grande partie parce qu'ils ne s'adressent pas directement aux personnes qui m'entourent physiquement, mais seulement au microcosme en ligne où j'évolue. Pour les plus aboutis, il s'agit de bibliothèques (qui au mieux ne peuvent être utiles qu'à d'autres développeurs) ou d'outils en ligne de commande voire en texte brut (qui ne peuvent intéresser au mieux que d'autres geeks n'ayant pas peur du terminal). Et dans de très nombreux cas il s'agit de logiciels certes à l'architecture élégante, mais remplissant des tâches pour lesquelles il existe déjà des alternatives suffisamment efficaces.
37
38 On apprend énormément en (ré)écrivant soi-même les logiciels que l'on utilise, mais cela ne veut pas forcément dire que c'est une bonne idée de les utiliser ou de les promouvoir comme outil de production. L'archétype de cela étant les outils cryptographiques (comme hjugement-protocol), ou les cadriciels (comme symantic-http), mais également des outils moins sensibles comme un processeur de texte (hdoc). Peut-être que ces réécritures seront meilleures que les alternatives déjà établies, mais ne le seront probablement que sur des aspects très étroits.
39
40 Et cela vaut également pour les travaux que je n'ai pas encore totalement abandonnés, et qui sont les suivants, par ordre alphabétique :
41 - hcompta (avec hcompta-lcc, hcompta-cli) : implémentation d'un logiciel de comptabilité. Alternatives concurrentes remarquables : hledger, beancount.
42 - hdoc : implémentation d'un compilateur de texte depuis un format original (TCT, une sorte de mélange entre Markdown et YAML) vers du XML puis du HTML (et potentiellement du PDF). Alternatives concurrentes remarquables : tous les outils Markdown.
43 - hjugement (hjugement-protocol, hjugement-cli, hjugement-web) (probablement à renommer "hvote") : implémentation du mode de scrutin du Jugement Majoritaire adossé au protocole cryptographique de vote Helios-C ainsi que diverses recherches originales (rang majoritaire, intégration dans les sections de hdoc). Alternatives concurrentes remarquables : moje (de MieuxVoter) et belenios (de la Loria).
44 - htirage (probablement à renommer "hreloto") : implémentation d'un algorithme original de tirage au sort publiquement vérifiable. Alternative concurrente remarquable : NomCom (de l'IETF).
45 - symantic (avec symantic-lib) : Mini-compilateur permettant à l'utilisateur.rice finale d'écrire et exécuter des requêtes dans un langage customisable, inspiré de Haskell. Développé pour hcompta, utilisé par hcompta-cli. Alternatives concurrentes remarquables : hint, bound.
46 - symantic-cli : Cadriciel pour écrire et documenter des logiciels en ligne de commande. Utilisé par hjugement, hcompta, hdoc, htirage. Alternatives concurrentes remarquables : options-applicative.
47 - symantic-document : Bibliothèque pour formater du texte dans affiché dans un terminal. Alternative concurrente remarquable : wl-ansi-text.
48 - symantic-grammar : Cadriciel pour parser et documenter des grammaires (non-contextuelles). Alternative concurrente remarquable : certainement beaucoup.
49 - symantic-http (avec symantic-http-client, symantic-http-server, symantic-http-pipes) : Cadriciel pour interroger, fournir et documenter des API Web. Utilisé par : hjugement-server (en prévision). Alternative concurrente remarquable : Servant.
50 - symantic-xml : Cadriciel pour lire, écrire et documenter du XML. Utilisé par hdoc. Alternatives concurrentes remarquables : haxml, HXT
51
52 ### Seul ou accompagné face aux critiques et confrontations : quel chemin pour aller vite et loin selon une boussole pas trop désalignée de la mienne ?
53 Lorsqu'on travaille dans une niche intellectuelle ou un mouchoir de poche, on ressent rapidement de manière aiguë des besoins : de faire comprendre ce que l'on fait, de marques de reconnaissances qu'on fait quelque chose d'utile et qui vaut la peine, de respect du travail accompli ou poursuivi voire d'être un modèle à suivre, de camaraderie voire de loyauté, d'inspiration voire d'exaltation, de sympathie ou d'avoir au moins quelqu'un.e à qui se plaindre, et pas seulement un canard en plastique.
54
55 Mais, il ne va pas de soi que rallier des co-équipier.res permette de produire de logiciels plus corrects et progressistes (une page Wikipédia est généralement moins didactique (présentation n'allant pas du simple au correct), moins claire sur ses biais et moins cohérente/architecturée qu'un ouvrage à un, deux, voire trois auteur.res). Avec du temps il m'a été possible de faire quelques uns de ces logiciels. Et je pourrais probablement les faire progresser et les maintenir tous (par vague) encore un moment (et trouver à force de persévérance plus de confort et de reconnaissance).
56
57 Il ne va donc pas de soi qu'il soit pertinent d'être pro-actif dans la recherche de co-équipier.res, aux besoins, intérêts et aspirations potentiellement conflictuels avec les miens. Il vaut mieux être seul que mal accompagné. Alors que pourtant une équipe peut avancer plus vite, et qu'un groupe d'équipes peut prendre de meilleures décisions qu'une seule personne ou qu'une seule équipe de personnes aux parcours et sensibilitées similaires.
58
59 Mais en l'état actuel même les personnes les plus alignées avec les préoccupations que j'ai, peuvent difficilement savoir ce que j'ai fait qui peut leur être utile et ce dont j'ai besoin pour progresser. Ce n'est pas simplement parce que mes travaux sont trop peu aboutis pour le grand public ou parce que je suis trop radical ou trop perfectionniste ou trop pénible que depuis 10 ans je n'ai jamais été rejoins par personne (dév ou pas) sur mes travaux, et que seuls mes contributions pour corriger des bugs sont acceptées (et pas les contributions les plus substancielles). C'est aussi parce que je ne suis pas dans un cadre permettant à autrui de prendre au sérieux mes travaux (sans expertise préalable), et de clarifier comment contribuer à tenir ces travaux avec moi.
60
61 La bonne nouvelle c'est que si je ressens ce besoin de compagnie dans une niche intellectuelle extrèmement petite, alors glasbalement les autres personnes se trouvant dans cette niche, doivent ressentir la même chose. Ce que semble confirmer le voyage de Sandy Maguire. L'existence quelque part d'une e-compagnie potentielle semble donc certaine, du moins sur certaines préoccupations, et il suffirait d'augmenter la luminosité de mes travaux vers Internet pour la rallier, sur le même principe que gagner au loto est improbable, sauf si l'on joue des milliards de coups. Mais, sans noyau dur préexistant, s'ouvrir aussi largement c'est s'exposer à se retrouver avec toute sorte de gens pénibles par bien d'autres aspects, ne se révélant pas forcément aux premiers échanges.
62
63 La bonne nouvelle c'est que cette peur parfaitement raisonnable, est très probablement réciproque chez des personnes réfléchies ou expérimentées sur les relations sociales, ce peut donc étre un critère pour apprécier des futurs éventuels co-équipier.res. Cela incite donc à des collaborations très ponctuelles (bug report, écriture d'un papier), voire non-concertées (écriture ou utilisation de bibliothèques logicielles) ou très circoncises (par logiciel ou par domaine de compétences ou par préoccupation) ou très progressives (bénévoler avant de se faire embaucher, faire preuve de ses préoccupations prioritaires avant d'accéder à des postes de pouvoirs-responsabilités).
64
65 Il apparaît donc important de circonscrire voire compartimenter clairement l'organisation du travail, selon des interfaces d'intégration plus ou moins renégociables, mais toujours spécifiques, cependant pas nécessairement par mission, mais plutôt par préoccupation, acceptant toutes d'être minoritaires au sens deleuzien du terme, c'est-à-dire n'étant chacune qu'une préoccupation parmi d'autres. De sorte à ne pas renégocier toutes les interdépendances à la fois lorsqu'une personne porte une préoccupation qui est adverse à la notre. Toutefois, une seule association est trop petite pour faire société en interne de manière aussi idéalisée. Ce ne pourra donc être qu'une approximation.
66
67 ### Agir au delà de penser l'action : quelles règles se donner, mais surtout avec qui ?
68 Une association, ça sert à s'associer avec d'autres personnes, et voilà plus de 5 ans que je passe par des vagues de réflexions, de lectures et d'écritures de plusieurs mois sur le comment faire cela au mieux. Cependant, je ne trouve ainsi personne avec qui m'associer, ou plus exactement personne qui partage réellement les préoccupations pour lesquelles j'aimerais m'associer. Soit c'est du logiciel libre et alors ce ne sont pas des technologies que j'aime ou alors des communautés qui demandent trop d'efforts pour faire accepter les modifications que je souhaite apporter. Soit c'est des technologies que j'aime et ce n'est pas du logiciel libre ou alors des logiciels guidés par des intérêts capitalistiques ou des recherches qui ne m'intéressent pas, ce qui dans tous les cas me pousserait à délaisser mes propres recherches et logiciels.
69
70 De ce travail préliminaire il ressort qu'on peut se donner des règles au niveaux des interactions (sur la manière dont nous devrions en tant qu'individu interagir entre-nous), mais pas au niveau de l'émergence (sur la manière dont l'association (cette mini-société) va fonctionner). Et qu'au plus une règle sera contraignante pour des individus ou d'usage peu commun, au plus elle demandera d'accumuler de nombreuses justifications, comme des jurisprudences suite à d'anciennes dérives contre lesquelles ces règles existent. Le meilleur moyen abordable de se donner des règles au niveau d'un "petit bain" est de faire une nouvelle entité juridique, qui assume qu'on puisse s'organiser avec d'autres règles et en portant d'autres préoccupations, mais ailleurs et pour d'autres, afin de poser clairement que dans notre association ce sont ces règles là qu'on explore et auxquelles on tient pour aller nager dans le "grand bain".
71
72 Absolument aucun des logiciels que j'ai initié depuis 10 ans n'est pris au sérieux, parfois même pas par moi-même. Ce que je fais ce n'est considéré comme important pour personne en dehors ´ventuellement de moi. Donc, soit je me raconte effectivement des histoires, et il me faut probablement réviser ce que je fais. Soit c'est important, et alors il faut que je ne sois pas le seul à me donner les moyens que cela aboutisse à quelque chose. Mais la principale raison de ce manque de considération vient probablement d'un manque communication, car je n'ai pas l'assurance nécessaire pour "délivrer" sur la moindre promesse de faire quelque chose d'utile, de fonctionnel, d'ergonomique, et si je l'étais tout porte à croire ce ne serait probablement pas de la recherche que je ferais, mais du simple développement.
73
74 ### Un playbook et une boussole pour « se jeter à l'eau » : quelles garanties et quel détournement d'énergies ?
75 Je ne veux m'encombrer que le moins possible des contraintes ou tâches qui ne concernent pas directement la recherche, le développement et l'expérimentation des seuls outils dont je ressens qu'ils peuvent être utiles à des personnes ayant les mêmes préoccupations que moi. Et je veux me laisser au maximum le droit à l'échec - à ne pas "délivrer", à changer et rechanger, à prioriser et reprioriser ce que je fais, au grès de mes vagues d'intérêts, et des solutions que je souhaite approfondir et appliquer.
76
77 Mes trois intérêts principaux à faire ou rejoindre une structure sont de chercher du soutien moral, éventuellement économique et parfois technique. En rendant mieux visible que, moi aussi, je me préoccupe de faire tel ou tel outil en m'y prenant de telle ou telle manière, et donc en appelant à l'aide d'autres personnes disposées à collaborer de manière concertée avec moi dans ce sens. Plus de collaboration concertée ne signifie pas nécessairement que les outils seront forcément meilleurs, mais si peu de concertation, si peu d'aide comme actuellement est assez épuisant voire peu rassurant quant à l'avenir.
78
79 ## Objectif
80 ### Objectif minimal : améliorer les conditions de travail
81 Je veux un bureau avec de l'électricité à volonté et tout le confort. J'en ai marre de vivre sur la brèche, dans le froid ou la fumée, sans électricité ni Internet ou sans calme studieux, sans ordinateurs et serveurs adaptés et dédiés à mon travail.
82
83 ### Objectif modeste : mieux offrir en partage le travail effectué
84 ### Objectif honorable : trouver des personnes avec qui travailler
85 ### Objectif ambitieux : trouver des financements
86 ### Objectif maximal :
87
88 ## Inspirations
89
90 # Actions
91 ## « À l'aide ! » : rallier des associé.es
92 Il est fortement souhaitable que je trouve à m'associer avec des personnes desquelles je sâche assez bien à quoi m'attendre, car les pratiquant depuis un moment, dans un milieu professionnel et en mode professionnel ! Mais je ne connais pas de telles personnes compétentes dans les domaines qu'il faudrait, ni même désirant le devenir. Il me faudra donc faire des inférences, des paris et aller progressivement. L'idéal serait d'être rejoint par des personnes de mon niveau ou plus dans l'informatique, et d'un niveau équivalent ou plus dans les autres domaines nécessaires. Autant j'aime partager mes connaissances, autant je n'aime pas prendre les gens par la main et les babysitter. Cependant il est très improbable que j'ai le budget pour assumer leur niveau de compétence et donc les retenir face aux offres concurrentes et face aux coûts de leurs trains de vie. Dès lors je ne peux qu'essayer de faire vibrer d'autres cordes et attracteurs : camaraderie, entraides, utilités, libertés, expérimentations, ...
93
94 sévy peut s'occuper de la compta, mais pas du cahier des charges ni rien des soucis d'une co-"porteuse de projet".
95
96 ### Demande de ralliement
97 #### Spontanée
98 Une demande ciblée peut se faire suite à la rencontre d'une contribution intéressante, sur un champ commun.
99
100 Exemple :
101 > Bonjour Martin,
102 >
103 > Julien, développeur Haskell comme toi. Je cherche de l'aide pour porter le logiciel htoto. Serais-tu intéressé pour en parler ?
104
105 #### À l'aveugle
106 - Billet de blog
107 - Annonce sur le Fediverse
108 - Annonce sur HaskellNews
109
110 ## « Let's break into teams » : se partager le travail et le réintégrer
111 ## Rédaction de statuts
112 ## Rédaction d'un règlement intérieur
113 ## Rédaction d'un code de conduite
114
115 ## Travaux futurs
116
117 # Critiques
118 ## Inconvénients
119 ### Il faut commencer à deux
120 Une association étant un contrat de droit privé, il faut être minimum 2 personnes dès le début.
121
122 ### Chaque révision officielle des statuts est payante
123 Problème : la révision des statuts auprès de la préfecture n'est pas payante, mais leur publication au journal officiel l'est.
124
125 Réponse : on a plutôt intérêt à bien penser les statuts dès le début en ce qui concerne l'intérêt général, l'utilité sociale et les principes coopératifs.
126
127 ## Questions non-résolues
128 ### Avec qui s'associer ?
129 Ou plus exactement, avec qui s'associer comme co-porteur du projet associatif.
130 Force est de constater que les refus des personnes qui ne sont pas informaticiennes ou qui font ni du Haskell ni du NixOS me limitent aux personnes partageant les mêmes compétences que moi. Ce qui ne garantit en rien qu'elles partagent les mêmes préoccupations que moi (programmation fonctionnelle, logiciel libre, démocratie critique, régime général). Autant de niches intellectuelles, dont l'intersection est quasiment nulle (on en croise quand même sur le Fediverse, mais pas nécessairement dans le même besoin d'association que moi).
131
132 ## Alternatives
133 ### Continuer de manière informelle
134 ### Rejoindre GNU
135 - htps://gnu.org
136
137 GNU a une renommée dans le monde informatique, ce qui peut rassurer voire rallier des supports. Cependant la forge logicielle (savannah.gnu.org) qui est proposée n'est pas du tout fiable (complètement hors-ligne ce 25 nov. 2019), donc déjà ça ne démontre pas d'un grand sérieux dans la gestion des ressources, une fois la page des statistiques revenue en ligne, on constate qu'il n'y a quasiment plus d'activité sur savannah GNU ou non-GNU, toutefois https://git.savannah.gnu.org/cgit montre presque une centaine de dépôts actifs (les non-actifs sont faussement indiqués avec une dernière activité de 3 semaines, ce qui ne correspond pas au log de leurs commits). De GNU, la structuration a l'air un plus verticale (Chief GNUisance) que par préoccupation. Les contraintes forcées sur les formats (TexInfo, gettext) demanderaient des efforts techniques pour adapter symantic-document. Point positif, le transfert du copyright n'est pas requis, après tout, devoir imposer le respect de la GPL semble un problème très improbable, réglé généralement à l'amiable si je me souviens bien du constat d'Eben Moglen. Un point intéressant est l'utilisation d'Hydra (et donc de NixOS), et bien sûr également l'existence de GNU Guix.
138 Dans tous les cas, rejoindre le projet GNU ne permet pas d'avoir un salaire, et donc ne répond pas à la préoccupation économique.
139
140 ### Rejoindre Gnome
141 Un dépôt de projets morts ?
142
143 ### Rejoindre Apache
144 - https://incubator.apache.org
145 - http://labs.apache.org
146
147 Apache a une renommée dans le monde informatique, ce qui peut rassurer voire rallier des supports. C'est une personne juridique qui relève du droit du Delaware (USA), pas du droit Français, ce qui n'est pas tellement rassurant sur le plan juridique. D'autant plus qu'Apache n'accepte que la participation d'individus, pas d'autres personnes morales, et par conséquent pas d'une assoce française pour me protéger par ailleurs. C'est de l'open source sans copyleft, pas du logiciel libre : obligation d'utiliser une licence Apache. L'utilisation de Git est expérimentale, SVN semble favorisé (normal, c'est une production d'Apache). La mesure du consensus a l'air davantage prise au sérieux qu'ailleurs, un mélange de scrutin majoritaire et de "consensus paresseux" : https://www.apache.org/foundation/voting.html
148 L'organisation interne a l'air de se faire essentiellement par projet, pas par préoccupation. Les individus parlent en leur nom propre, et peuvent donc sauter d'une préoccupation à l'autre, et pas seulement d'une casquette à l'autre.
149 Les services proposés aux développement sont décents, sans être hors de portée d'une petite assoce : https://www.apache.org/dev/services.html
150 Quasiment aucun des projets Apache n'est en Haskell, ceux qui le sont (Thrift, OpenWhix) offrent juste des interfaces comme ils en offrent pour d'autres langages.
151 Dans tous les cas, la clarification publique de leur fonctionnement est une source d'éducation, d'inspiration et d'exemplarité précieuse : https://www.apache.org/foundation/how-it-works.html
152
153 ### Faire une micro-entreprise
154
155 ### Rejoindre une CAE
156 Une CAE (Coopérative d'Activité et d'Emploi) permet de bénéficier du statut de salarié dans une grande entreprise, tout en gardant une maîtrise de son travail concret comparable à un.e artisan.ne. Une CAE facilite aussi l'obtention de marchés (gros chiffre d'affaires, coopération internes, support administratif, ...).
157 Cependant il peut y avoir un problème d'assurance quand il s'agit de base de données (raison invoquée par Coopaname pour ne pas me prendre circa 2013).
158 Mais surtout, cette structure n'est pas adaptée à recevoir des dons, ni aux petits salaires qui vont avec.
159
160 ### Faire une Scic
161 Une Scic est une (Société Coopérative d'Intérêt Collectif).
162 Une Scic permet du bénévolat et du salariat tout comme une association.
163 Une Scic est adaptée à la collaboration avec les entités publiques (mairies, collectivités territoriales, ....), ce qui n'est pas d'actualité pour l'instant.
164 Une Scic impose des collèges de vote pondérés à priori. Cette pondération est compatible avec le Jugement Majoritaire (il suffit de donner un nombre de bulletins au prorata de cette pondération), mais oblige à décider à priori quelles seront les préoccupations ou combinaisons de préoccupations qui vont s'affronter. Et donc, oblige de décider à priori et pour toutes les décisions, quelles seront les préoccupations ou combinaisons de préoccupations qui pourront être décisives en dernière instance, ou ne pourront jamais l'être. Ce fonctionnement est d'une rigidité défavorable à la composition (et recomposition) du pluralisme de nos préoccupations, que je souhaite explorer avec Zabl.
165
166 ### Faire une association par but de logiciels
167 Cela semble à terme être le meilleur moyen de faire société, de mieux construire des préoccupations différentes et de ne pas forcer "une même taille pour tout" ("one size fits all"). Mais le coût supplémentaire au démarrage est trop important (j'ai déjà du mal à faire une assoce, alors plusieurs..). Cependant, avoir un objet spécifique est important pour faire converger des supports par ailleurs divergents. Il faudra donc veiller à bien s'organiser en équipes aux préoccupations distinctes.
168
169 # Références
170 - "Une association à but non lucratif peut-elle avoir une activité commerciale ?" https://www.service-public.fr/associations/vosdroits/F31838