Modèle de développement sponsorisé d'Inkscape

1. Levée de fonds

En utilisant le modèle que nous décrivons ci-dessous, quiconque peut démarrer une levée de fonds officielle pour le développement d'Inkscape. Nous laissons à votre imagination le soin de structurer et effectuer votre campagne de levée de fonds, et vous permettons d'effectuer une sélection depuis une liste d'objectifs de développement à financer définis, sous réserve que certaines conditions soient respectées.

La personne qui organise et supervise une campagne de levée de fonds est appelée un Coordinateur de levée de fonds. On peut avoir plusieurs coordinateurs si on a plusieurs campagnes, mais seulement un coordinateur par levée de fonds. Il a trois responsabilités :

  1. Administrer la levée de fonds
  2. Allouer les fonds récupérés aux projets
  3. (Éventuellement) Être impliqué dans la signature finale des projets terminés

La première responsabilité est laissée à la discrétion du Coordinateur de levée de fonds.

La deuxième responsabilité devrait être directe. Lorsque la levée de fonds est terminée, tous les fonds doivent être alloués à un ou plusieurs projets dans la Liste de travaux officielle. Il n'y a aucune garantie qu'un projet donné sera entrepris si l'intérêt des développeurs est insuffisant, mais les levées de fonds futures peuvent augmenter les fonds alloués pour attirer les candidats potentiels.

Nous espérons que certaines campagnes souhaiteront cibler un ou plusieurs projets spécifiques, et l'annonceront en avance pour stimuler les dons. Cela peut être sympa à faire, mais souvenez-vous que les projets peuvent changer (ou être implantés) pendant que la campagne est en cours. Donc au lieu de nommer des projets spécifiques, il peut être préférable de décrire les types de projets que la campagne souhaite financer, et de prendre les décisions spécifiques lorsque la levée de fonds est terminée.

Pour les levées de fonds en cours, le coordinateur responsable de sa mise en place peut spécifier le déroulement de la distribution (par ex. « distribuer équitablement aux quatre plus anciens projets dans la liste à la fin de la campagne », ou « 10 % à chacun des dix projets les plus financés au cours des campagnes passées », ou « allouer équitablement à tous les projets de documentation enregistrés au début de cette campagne »). Le coordinateur demeurera responsable des tâches administratives aussi bien au cours de la levée de fonds qu'une fois qu'elle est terminée. S'il doit se retirer, il doit alors nommer un remplaçant qui gérera les tâches restant à faire. S'il disparaît sans nommer de remplaçant, ou s'il y a d'autres exceptions ou questions, le problème doit être rapporté au Bureau d'Inkscape pour résolution.

La troisième responsabilité — apposer une signature une fois le projet terminé — est décrite plus en détail ci-dessous. Le Coordinateur de levée de fonds *ne peut pas* effectuer cette tâche s'il contribue personnellement à la majorité du financement, car nous serions alors débordé par des règles d'imposition.

2. Proposer de nouveaux projets

Nous maintenons une liste des projets proposés (et non financés). Tout peut être proposé, qu'il s'agisse du développement de fonctionnalité, de classement de bogues, de documentation, d'administration, etc. mais cela doit inclure une description détaillée (> 100 mots) du travail à faire. Quiconque peut investir ces projets comme des tâches de développement habituelles (non financées), des projets du GSoC, etc. (ainsi, les projets intéressants ou faciles peuvent amenés à être faits par des bénévoles, et l'investissement peut se concentrer sur le travail plus dur et moins sexy, et pour rendre l'abus plus difficile).

Une fois qu'un projet proposé a atteint un certain âge, il devient éligible au financement. Nous appellerons ces projets éligibles des « travaux », une fois qu'ils respectent les conditions suivantes :

  1. A été sur la liste des Projets proposés pendant ≥ 6 mois
  2. Un délivrable a été défini
  3. Les critères d'acceptation ont été définis (voir l'appendice)
  4. Une limite de temps a été estimée pour la durée de réalisation du travail
  5. Il a été Confirmé par un autre Développeur que le changement proposé, dans son concept, a sa place dans le cœur du code d'Inkscape

Une fois qu'une proposition vérifie ces 5 conditions, elle est considérée comme un Travail approuvé.

3. Liste de travaux pouvant être investis

L'argent issu de ces levées de fonds est envoyé au compte de la fondation Inkscape administré par le Software Freedom Conservancy, qui prend un petit pourcentage de chaque don. Le Conservancy est une association publique des États-Unis US 501(c)(3), et tous les dons sont déductibles des impôts aux États-Unis comme la loi le permet.

Nous maintenons une liste d'allocations-aux-travaux afin de suivre quel montant « appartient » à tel travail, de sorte que le montant correct soit payé quand le travail est effectué. Ce montant est affiché sur le web, visible par les développeurs pour les aider à choisir un travail à effectuer.

Seules les personnes enregistrées dans le fichier AUTHORS d'Inkscape sont éligibles à la réalisation d'un travail. Le développeur doit soumettre une Proposition de travail, qui identifiera les qualifications du développeur pour faire le travail, et résumera la manière dont il envisage l'implantation.

Le Bureau d'Inkscape déléguera l'un de ses membres à examiner et vérifier les candidats pour assurer que les meilleurs candidats sont sélectionnés pour chaque travail. Pour les travaux plus ambitieux, plus longs ou plus compliqués, la consultation peut prendre du temps, mais pour les travaux de taille modérée il est souhaité que la décision soit prise en quelques jours. Le Bureau d'Inkscape peut décider de marquer des travaux (tels que les plus petits) comme pré-approuvés ; une fois qu'un candidat fournit un résultat, il peut commencer le travail immédiatement, sans qu'aucune examination ne soit effectuée. Les membres du Bureau sont exclus de ce processus en raison du conflit d'intérêt ; ils peuvent candidater aux travaux mais doivent toujours être vérifiés. Personne ne peut s'affecter à plus d'un travail pré-approuvé à la fois, et le Bureau se réserve le droit de consulter le résultat et de le désapprouver en cas de problèmes.

Lorsqu'un candidat est affecté au travail, le chronomètre est lancé. Le candidat doit publier au moins un rapport de progression chaque mois (par ex. sur un blog ou sur le wiki d'Inkscape). Au cours de la limite de temps, tant que les rapports mensuels sont clairement délivrés, personne ne peut candidater au même travail. Si deux mois passent sans rapport, ou lorsque le délai de 6 mois est écoulé, et le travail n'est pas terminé, le candidat ne reçoit pas les fonds et ne peut pas réessayer le même travail avant 6 mois. Le travail est considéré terminé lorsque les délivrables identifiés sont délivrés en accord avec les critères spécifiés.

4. Critères de validation

L'Examinateur décide si le travail a été correctement accompli, en utilisant les critères originellement spécifiés.

Par défaut, le Coordinateur de levée de fonds est l'Examinateur ; si le projet a été financé par plusieurs sources, celle qui a alloué le montant le plus élevé au financement (ou une personne déléguée par cette source) est l'Examinateur. Cette personne doit accepter formellement le rôle d'Examinateur par courriel en une semaine. Pour quelque raison, elle peut décider de refuser le rôle d'Examinateur. Si elle ne répond pas ou refuse le rôle, il passe au Coordinateur de levée de fonds suivant. Si aucun Coordinateur de levée de fonds ne prend ou ne délègue le rôle, le Bureau d'Inkscape déléguera alors un examinateur.

L'Examinateur étant sélectionné, il ne doit pas être la personne ayant originellement proposé le projet, et ni l'Examinateur ni son employeur ne doivent avoir contribué à plus de 50 % du financement total du projet. Nous souhaitons éviter qu'une personne ou son employeur ait un intérêt d'affaire indépendant dans la réalisation de la tâche, et soit sur-impliqué dans la gestion du travail.

5. Achèvement et modification

La personne ayant originellement proposé le Projet ou le Travail peut le retirer ou modifier sa définition à tout moment, tant que personne ne s'y est affecté. Si le projet est retiré, tous les fonds alloués pour lui retournent au fonds général d'Inkscape.

Les Travaux non assignés expirent 24 mois après la proposition initiale du projet. Cela vise à se débarrasser des projets anciens et à encourager les développeurs à sélectionner des projets avec des fonds alloués avant qu'ils expirent, et à décourager la proposition de projets qui n'obtiendraient pas d'attention en 24 mois. Tous les fonds alloués aux travaux non réalisés sont envoyés au fonds général d'Inkscape.

À sa discrétion, par un vote à la majorité, le bureau peut décider d'étendre la date d'expiration de Travaux sur le point d'expirer avec fonds alloués de 12 mois.

6. Exceptions du processus

Historiquement, tout le travail de développement financé par le Projet Inkscape requiert une autorisation par le Bureau des directeurs d'Inkscape ; ce modèle de financement permet d'établir une structure pour le financement du développement qui ne nécessite pas l'implication du Bureau. Cependant, le Bureau garde le droit d'autoriser des exceptions pour tout ce qui peut sortir du cadre de cette politique, pour une gestion au cas par cas, les décisions étant prises au vote à la majorité.

En particulier, le Bureau peut sélectionner par vote certains projets pour qu'ils soient immédiatement finançables, sans qu'il soit nécessaire d'attendre que la période de 6 mois habituelle soit écoulée. Il peut aussi retirer tout projet ou travail à tout moment, par un vote à la majorité, incluant même les projets affectés ou en cours (bien que cela devrait être hautement inhabituel).

Le Bureau peut aussi modifier cette politique en passant par un vote à la majorité.

7. Résolution de conflits

S'il y a des problèmes ou désaccords une fois qu'un projet a été affecté à un Développeur, un Rendez-vous peut être lancé par l'une des personnes concernées (la personne ayant proposé le projet, le Développeur, les Campagnes de levée de fonds, l'Examinateur, ou un Membre du Bureau d'Inkscape). Pour un quorum approprié, le Rendez-vous doit réunir au minimum le Développeur, soit la personne ayant proposé le projet soit l'Examinateur, au moins l'un des Coordinateurs de levée de fonds impliqué dans le financement du projet, un Membre du Bureau, et un Collègue développeur (qui peut être n'importe qui étant listé dans le fichier AUTHORS d'Inkscape sélectionné par le Développeur). Toute décision unanime atteinte lors de ce Rendez-vous concerne toutes les parties.

Tout conflit qui ne peut être résolu par un Rendez-vous doit remonter au Bureau des directeurs d'Inkscape, qui sera l'arbitre ultime.

Les conflits d'intérêt, incluant les conflits avec le bureau, sont gouvernés par la politique de conflit d'intérêt pour les organisations du Software Freedom Conservancy.

Appendice A : Exemple de critères de livraison et d'acceptation

# Ceci est un exemple d'ensemble de critères de livraison et d'acceptation ;
# chaque projet peut utiliser, modifier, ou remplacer l'une de ces conditions
# comme approprié.
  1. Des cas de tests sont fournis pour ajouter de la couverture à toutes les fonctionnalités nouvellement ajoutées.
  2. Des patchs à la documentation sont fournis pour décrire toutes les fonctionnalités nouvellement ajoutées.
  3. Des mises à jour aux notes de livraisons, notes, NEWS, rapports de bogue, etc. doivent être fournies.
  4. Tous les patchs doivent passer par le dépôt amont officiel. Soit dans l'arbre principal, ou dans une branche officiellement désignée comme telle par une politique amont.
  5. Le code doit compiler et s'exécuter sur les plateformes majeures supportées par le projet.
  6. Le code doit avoir le style désigné par le projet amont, vérifié par des outils.
  7. Les textes visibles par l'utilisateur sont traduisibles comme dans la politique du projet.
  8. Les suites de tests unitaires et de régression s'exécutent sans aucun nouvel échec.
  9. À la fin du projet, une fois que les critères ci-dessus sont vérifiés, 70 % des fonds payables sont délivrés. 30 % sont conservés en réserve pour le suivi de correction de bogues. Un mois après la finalisation, une liste des bogues identifiés peut être spécifiée par l'Examinateur afin qu'ils soient corrigés ; s'ils sont tous corrigés dans le mois, les 30 % restants du financement sont fournis au développeur. S'il n'y a aucun bogue, ou qu'aucun n'est spécifié avant six semaines après la finalisation, le développeur est alors directement payé avec le montant restant.