fsfe-france
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fsfe-france] [Analyste] Modèle de licence


From: Mathieu Trentesaux
Subject: [Fsfe-france] [Analyste] Modèle de licence
Date: Fri, 1 Mar 2002 17:44:16 +0100

Bonjour

    Je désire aborder avec vous, la spécification d'un modèle cohérent de
mon système Analyste. C'est une tâche délicate, du moins de par ma pauvre
expérience en la matière. J'espère obtenir une synthèse viable et
exploitable rapidement.
    Mon désir, c'est de réaliser un texte (celui-çi), de le modifier
progressivement, jusqu'a obtention d'un concensus avec vous d'abord et le
maximum de gens ensuite, sur d'autres forums. Tout ce que je met est
critiquable, si c'est pour s'approcher de ce but.
    Il y aura un moment qui sera peut être chaud dans la discussion, peut
être pas. Cela concerne la confidentialité de l'application finale. Je n'en
fais pas un cheval de bataille, mais j'aimerais comprendre les implications.
Il se peut qu'une solution simple soit envisageable ensuite (du type de
MySql ou d'autres que j'ignorerais).

    Jusqu'alors, je n'ai obtenu qu'un conseil interressant qui est de tout
mettre sous GPL. Idéalement, c'est mon but. Mais le cahier des charges est
un peu plus compliqué que ça. J'exposerais donc deux hypothèses extrèmes,
sans désir de polémique, juste celui d'exposer les limites et aberrations de
ces deux positions.


    Pour plus de clarté, je vais commencer par exposer certains des termes
qui seront utilisés ensuite.

    *Termes généraux*
    L'appellation /Analyste/ concerne l'ensemble des composants qui
constituent le générateur d'applications sgbdr sous Access.

    L'/application finale/ est la somme des fichiers de définitions systèmes
et spécifiques additionnés des objets ou code necessaires à leur
fonctionnement. L'application finale n'a pas besoin du générateur pour
exister mais doit s'accompagner au minimum de la bibliothèque système. Elle
peut aussi fonctionner en l'absence de licence Access, grace à la version
run-time de celui çi.

    L'/application/ est un sous ensemble de l'application finale, qui
comporte un fichier de définition plus des objets et du code. On peut
distinguer, dans toute application finale une application 'système', une app
lication 'superviseur' et au moins une application spécifique.

    Le terme générique /système/ est employé par opposition au terme
/spécifique/. Ce qui est système est associé à l'ensemble des programmes qui
constituent l'Analyste. Ce qui est spécifique est tout ce qui est fait par
ou autour de l'analyste par un analyste ou un programmeur.

    le /programme générateur/ est le composant de l'Analyste qui transforme
le fichier de définition en deux bases d'exploitation qu'il maintient lors
des cycles d'analyse.

    l'/Application générateur/ est l'application finale qui englobe le
programme générateur dans un environnement d'exploitation.

    *Rôles*
    Les rôles sont les suivants :
        - le /client/ détient les droits patrimoniaux.
        - l'/utilisateur/ exploite l'application.
        - l'/analyste/ construit le fichier de définition de l'application
        - le /programmeur/ ajoute les objets et le code complémentaire

    Le client et l'utilisateur définissent les besoins.
    L'analyste et le programmeur les réalisent.

    Il est necessaire d'ajouter à ces rôles, le rôle de concepteur du
système. Aujourdhui une seule personne. Le concepteur est celui qui
intervient directement sur les applications système, par opposition aux
applications spécifiques. Bien que n'intervenant que sur le système, il sera
soit concepteur de modifications /à vocation/ système ou spécifiques, selon
qu'il intègre ou non l'équipe de co-développement.

    Ces rôles ne concernent pas des personnes physiques distinctes, mais le
rôle rempli par chaque intervenant, en fonction de son type d'implication ou
de travail. Quand, par exemple, j'améliore la gestion de mon entreprise, je
joue necessairement les quatre premiers rôles et parfois même le cinquième.


    *Règles généralistes*
    Le point d'entrée dans le système se fait par un /nouveau/ langage de
définition de bases de données relationnelles.
    Un fichier écrit selon ce langage par une personne analyste est le
dessin de l'application.
    Le générateur Analyste fabrique deux bases de données. Une base
comportant la structure de l'application destinée à recevoir les données du
client, une autre comportant des objets d'exploitations, destinée à être la
base front end (les programmes) de l'application.
    Le générateur et l'application générée s'appuient sur une bibliothèque
de programmes.
    La base générée front-end est modifiable par le programmeur de
l'application.
    Le programmeur est susceptible de développer sa propre bibliothèque de
programmes.
    Le générateur, l'application et la bibliothèque se comportent eux même
en fonction d'une analyse qui est définie dans un fichier de définition sous
le langage.


    *Un classement des composants du système Analyste*

    Avec ces quatre catégories j'ai la sensation d'obtenir une approche
exhaustive.

    - Langage
    - Feuilles
    - Programmes
    - Données

    Chacune d'entre ces catégories peut être scindée en deux sous-catégories
"système" et "spécifique". Ce qui me donne cette approche :

    - Langage
            Système : le langage 'dans l'état'
            Spécifique : toute modification particulière apportée au format
du langage.
    - Feuilles
            Système : les feuilles du système (zSystème et Superviseur)
            Système : les feuilles du programme générateur.
            Spécifique : les feuilles l'application générateur.
            Spécifique : la ou les feuilles de l'application finale.
    - Programmes
            Système : le programme générateur
            Système : la bibliothèque
            Spécifique : l'application générée, puis modifiée par le
programmeur
            Spécifique : la bibliothèque du programmeur.
    - Données
            Système : les données système généres
            Système : les données du programme générateur.
            Spécifique : les données de l'application générateur.
            Spécifique : les données du client

    Suis je exhaustif, hors sujet, autre chose ?

    Le rôle particulier du générateur m'a conduit à l'inscrire dans ce
shéma. Mais s'il est bien entendu que le génateur à deux faces qui le
placent dans les deux mondes, il est possible de réduire le shéma précédent

    - Langage
            Système : le langage 'dans l'état'
            Spécifique : toute modification particulière apportée au format
du langage.
    - Feuilles
            Système : les définitions du système (zSystème et Superviseur)

            Spécifique : la ou les définitions de l'application finale.
    - Programmes
            Système : le programme générateur
            Système : la bibliothèque
            Spécifique : l'application générée, puis modifiée par le
programmeur
            Spécifique : la bibliothèque du programmeur.
    - Données
            Système : les données système généres
            Spécifique : les données du client


    *Les hypothèses*

    - Tout ce qui est système est sous GPL. Tout ce qui est spécifique est
libre en fonction du client (ou détenteur des droits patrimoniaux).

    - Tout est sous GPL.

    J'insiste bien sur le fait qu'il s'agit de deux hypothèses absurdes.

    Mais au moins on voit bien qu'il s'agit d'une prise de position claire,
dans la mesure ou il n'y a pas d'équivoque sur la partie système. Au plus,
il y a besoin de confirmation et de précision quand à la façon de placer les
items concernés en GPL. Langage, définitions, Programme et Données.
    Pour le spécifique, c'est autre chose. Bien sur les données
appartiennent au client. Mais que conclure, de part la propriété 'virale' de
la GPL, de ce qui est défini ?

    Comment ça vit tout ça ? je ne peux pas le sortir tout seul de ma petite
tête.

    J'en ai un peu marre de me casser la tête sur tout ça pour rien. Tout ce
que j'expose ici, non seulement je l'ai déjà décrit et mis à votre
disposition, mais je peux aussi le redéfinir, le remettre en cause,
l'expliquer le préciser. Ce courrier n'est pas un quizz. J'engage de
l'énergie et du temps et j'espère simplement un peu d'enthousiasme pour
m'aider à obtenir un résultat concrêt, sur lequel m'engager pour trois ans,
de base. Je me suis laissé dire qu'un forum permettait d'avoir des
informations gratuitement. On parlait d'argent bien sur... Mais si une
journée de travail me rapporte 650euros, combien j'ai déjà dépensé ? plus de
1500 ? oui, largement. Et dire que tout ça, c'est pour parvenir à partager
quelque chose.

Mathieu







reply via email to

[Prev in Thread] Current Thread [Next in Thread]