------------------------------------------------------------------------------- | Nom : | Prénom : | ------------------------------------------------------------------------------- | Réponse erronée : -1 | Aucune réponse : 0 | Réponse correcte : +1 | ------------------------------------------------------------------------------- Si votre total dans ce questionnaire sera négatif, votre note courante sera RÉDUITE : vous êtes encouragés à répondre juste où vous êtes sûrs. Pour chaque question il y a une et seulement une réponse correcte. ------------------------------------------------------------------------------- 1. Pouvez-vous lier un logiciel A sous la licence de X11 avec un logiciel B sous une licence propriétaire ? [ ] Oui, toujours, et le résultat est sous la licence de X11 [ ] Oui, toujours, et le résultat est sous la licence de B [ ] Oui, toujours, et je peux choisir la licence du résultat [ ] Oui, toujours, et le résultat est dans le domaine publique [X] La réponse dépende de la licence de B [ ] Non, jamais Ça dépende de la licence de B : est-ce qu'elle permet la liaison avec un autre logiciel ? Est-ce qu'elle donne des contraints sur la licence du résultat ? Une licence propriétaire est simplement une licence qui n'est pas de Logiciel Libre (ou Open Source) ; mais la question ne dit pas beaucoup sur la licence de B. ------------------------------------------------------------------------------- 2. Pouvez-vous lier un logiciel A sous une licence propriétaire [j'avai écrit «la licence propriétaire» ; personne m'a signalé l'erreur] avec un logiciel B sous une autre licence propriétaire différente ? [ ] Oui, toujours, et le résultat est sous la licence de A *ou* de B (je dois choisir la licence de A ou la licence de B) [ ] Oui, toujours, et le résultat est sous les licences de A *et* de B (je dois respecter les deux licences) [ ] Oui, toujours, et je peux choisir la licence du résultat (pas nécessairement la licence de A ou de B) [ ] Oui, toujours, et le résultat est dans le domaine publique [X] La réponse dépende des licences de A et de B [ ] Non, jamais Voire question 1. ------------------------------------------------------------------------------- 3. Pouvez-vous lier un logiciel A sous la licence GNU GPL avec un logiciel B sous une licence propriétaire ? [ ] Oui, toujours, et le résultat est sous la licence GNU GPL [ ] Oui, toujours, et le résultat est sous la licence de B [ ] Oui, toujours, et je peux choisir la licence du résultat : je peux choisir juste la GNU GPL ou la licence de B [ ] Oui, toujours, et je peux choisir la licence du résultat (pas nécessairement la GNU GPL ou la licence de B) [ ] Oui, toujours, et le résultat est dans le domaine publique [ ] La réponse dépende de la licence de B [X] Non, jamais La GNU GPL est une licence de Logiciel Libre (ou Open Source) avec copyleft fort : le copyleft fort est un contraint d'une licence de logiciel libre imposant : i) la conservation de la même licence (GNU GPL) dans les versions modifiées ii) la conservation de la même licence (GNU GPL) dans le résultat des liaisons Une licence propriétaire n'est pas une licence de logiciel libre, donc elle viole au moins une des «quatre libertés» : ce n'est pas possible qu'un ouvre dérivée par un logiciel sous une licence propriétaire soit compatible avec i) et ii) (sinon la licence de B serait déjà de logiciel libre) ------------------------------------------------------------------------------- 4. Pouvez-vous lier un logiciel A sous la licence GNU GPL avec un logiciel B sous une licence différent avec copyleft fort ? [ ] Oui, toujours, et le résultat est sous la licence GNU GPL [ ] Oui, toujours, et le résultat est sous la licence de B [ ] Oui, toujours, et je peux choisir la licence du résultat : je peux choisir juste la GNU GPL ou la licence de B [ ] Oui, toujours, et je peux choisir la licence du résultat (pas nécessairement la GNU GPL ou la licence de B) [ ] Oui, toujours, et le résultat est dans le domaine publique [ ] La réponse dépende de la licence de B [X] Non, jamais [J'avais marqué une réponse erronée dans la solution que j'avais distribué sur papier] Voire la définition du copyleft fort dans la question précédente. - La licence de A demande que le résultat de la liaison ait la licence de A - La GNU GPL demande que le résultat de la liaison ait la licence GNU GPL Le deux licences sont différents, donc ce n'est pas possible de les satisfaire au même temps. ------------------------------------------------------------------------------- 5. GCC est un compilateur générant code pour beaucoup d´architectures (hardware) différents, sous la GNU GPL. J. Random Hacker, un génie de l'électronique, a construit son propre ordinateur en créant une nouvelle architecture, incompatible avec tous les autres. Peut-il modifier GCC de façon qu'il génère du code pour son ordinateur ? [ ] Oui, mais il est obligé de publier le GCC modifié au moins en format binaire [ ] Oui, mais il est obligé de publier le GCC modifié au moins en format binaire et les spécifications de sa machine doivent être publiques [ ] Oui, mais il est obligé de publier le GCC modifié en format source [ ] Oui, mais il est obligé de publier le GCC modifié en format source et les spécifications de sa machine doivent être publiques [ ] Oui, et il n'est pas obligé de publier la version modifiée ; mais il doit envoyer une copie du source aux auteurs de GCC [ ] Oui, et il n'est pas obligé de publier la version modifiée ; mais il doit envoyer une copie au moins en format binaire aux auteurs de GCC [ ] Oui, et il est obligé de publier la version modifiée en format source juste si sa machine est produite commercialement [ ] Oui, et il est obligé de publier la version modifiée au moins en format binaire juste si sa machine est produite commercialement [X] Oui, et il n'est jamais obligé de publier la version modifiée [ ] Non La GPL donne la liberté de distribuer les version modifiées, à certaines conditions (essentiellement, il faut distribuer les sources aussi et maintenir la même licence). Mais c'est une liberté, pas une *obligation*. ------------------------------------------------------------------------------- 6. Linux est... [ ] avec copyright mais sans copyleft [ ] avec copyleft mais sans copyright [ ] de domaine publique et sans copyright [ ] de domaine publique et sans copyleft [ ] avec copyright et copyleft, de domaine publique [X] avec copyright et copyleft, pas de domaine publique [ ] Open Source mais pas Logiciel Libre [ ] Logiciel Libre mais pas Open Source Linux est distribué sous la GNU GPL, une licence avec copyleft fort, acceptable pour le mouvement du Logiciel Libre et pour le mouvement Open Source. Le copyleft est toujours basé sur le copyright (qui est la fondation légale des licences), donc Linux n'est pas de domaine public («domaine publique» signifie simplement «sans copyright»). ------------------------------------------------------------------------------- 7. X11 est... [X] avec copyright mais sans copyleft [ ] avec copyleft mais sans copyright [ ] de domaine publique et sans copyright [ ] de domaine publique et sans copyleft [ ] avec copyright et copyleft, de domaine publique [ ] avec copyright et copyleft, pas de domaine publique [ ] Open Source mais pas Logiciel Libre [ ] Logiciel Libre mais pas Open Source La licence de X11 est une licence de logiciel libre (ou Open Source) sans copyleft. C'est une licence, donc il y a le copyright. ------------------------------------------------------------------------------- 8. Il y a un «licence header» comme cela : Copyright (C) 1992 Jacques Dupoint Ce logiciel est libéré sous licence GNU GPL, version 2 (voyez le fichier COPYING). Il n'y a aucune garantie. [ ] incorrect, les logiciels sous licence X11 sont couverts par le copyright, mais les logiciels GPL sons sans copyright [ ] incorrect, les logiciels LGPL sont couverts par le copyright, mais les logiciels GPL sons sans copyright [ ] incorrect, les logiciels LGPL et LGPL ne sont pas couverts par le copyright [ ] incorrect, l'auteur doit fournir la garantie si le logiciel est GPL [ ] incorrect, la GPL est avec copyleft, donc la licence est valide juste si l'auteur écrit «Copyleft (C)» en lieu de «Copyright (C)» [ ] correct, mais le copyright est expiré : aujourd'hui le logiciel est devenu de domaine publique [ ] correct, mais le copyright est expiré : aujourd'hui le logiciel est devenu avec copyleft [X] correct et encore valide En France et dans la majorité de pays du monde le copyright expire 70 ans après la mort de l'auteur (encore plus tard dans certain cas particuliers). Une note de copyright comme «Copyright (C)» est reconnue légalement, même si elle n'est pas obligatoire. Mais le copyleft est un concept «implanté» sur le copyright : il n'y a pas une loi sur le copyleft ; il y a juste un loi sur le copyright, qui permet aussi de «créer» le copyleft avec les licences. Une note comme «Copyleft (C)» n'est pas reconnue par la loi dans aucun pays. ------------------------------------------------------------------------------- 9. Une pièce Le logiciel qui est Logiciel Libre pour vous... [ ] est toujours gratuite [ ] est toujours disponible sur Internet [ ] est toujours de domaine publique [ ] n'est jamais de domaine publique [ ] est toujours avec copyleft [ ] est toujours avec copyright [ ] n'est jamais avec copyright [ ] n'est jamais commerciale [X] peut être toujours modifiée par vous [ ] est toujours Logiciel Libre pour tout le monde aussi Beaucoup d'étudiants ont choisi «est toujours Logiciel Libre pour tout le monde aussi». Ce n'est pas vrai si la licence est libre sans copyleft. Une licence libre sans copyleft permet de changer la licence des copies et des ouvres dérivées. ------------------------------------------------------------------------------- 10. Une pièce Le logiciel qui est Open Source pour vous... [ ] est toujours gratuite [ ] est toujours disponible sur Internet [ ] est toujours de domaine publique [ ] n'est jamais de domaine publique [ ] est toujours avec copyleft [ ] est toujours avec copyright [ ] n'est jamais avec copyright [ ] n'est jamais commerciale [X] peut être toujours modifiée par vous [ ] est toujours Open Source pour tout le monde aussi La philosophie du mouvement du Logiciel Libre est différente de la philosophie du mouvement Open Source, mais les licences sont les mêmes. ------------------------------------------------------------------------------- 11. En utilisant Guile on peut... [ ] produire exclusivement du logiciel libre [ ] produire exclusivement du logiciel sans copyleft [ ] produire facilement des applications avec une architecture similaire à Linux [ ] produire facilement des applications avec une architecture similaire à X11 [X] produire facilement des applications avec une architecture similaire à Emacs [ ] produire facilement des applications avec une architecture similaire à GCC Guile est un interprète Scheme distribué dans une bibliothèque et facile à lier à du code C : les applications C devenant extensibles, comme Emacs. ------------------------------------------------------------------------------- 12. GNU est [ ] Open Source mais pas Logiciel Libre [ ] Logiciel Libre mais pas Open Source [ ] Un noyau [X] Un système d'exploitation [ ] Un compilateur [ ] Une interface graphique [ ] Un éditeur de texte [ ] Un interpréteur Scheme [ ] Une collection de programmes en ligne de commande GNU est un système d'exploitation, typiquement utilisé avec le noyau Linux. Il y a un noyau GNU aussi qui s'appelle Hurd, mais ce n'est pas encore mature. ------------------------------------------------------------------------------- 13. La majorité de GNU est écrit en : [ ] Assembleur [ ] Scheme [ ] plusieurs dialectes différents de Lisp (Scheme n'est pas majoritaire) [X] C [ ] C++ [ ] Java [ ] Fortran [ ] Perl [ ] Python Cette question etait la plus «difficile» : il faisait juste savoir la réponse. ------------------------------------------------------------------------------- 14. Pouvez-vous demander l'argent en échange d'une copie d'un logiciel sous la licence de X11 ? [X] Oui, toujours, sans limitations de prix [ ] Je ne peux pas demander plus de 100 dollars [ ] Je ne peux pas demander plus de 1000 dollars [ ] Je ne peux pas demander plus de 10000 dollars [ ] Seulement si le logiciel est distribué avec son code source [ ] Seulement si le logiciel est Libre mais pas Open Source [ ] Seulement si le logiciel est Open Source mais pas Libre [ ] Seulement si le logiciel est de domaine publique [ ] Seulement si le logiciel est avec copyleft [ ] Non, jamais Il n'y a aucune limitation de prix dans les licences de logiciel libre : elle permettent de vendre de copies à n'importe quel prix. ------------------------------------------------------------------------------- 15. C'est une vraie citation : « Pratiquement tous sont ; les deux termes décrivent pratiquement la même catégorie de logiciel. Mais ils représentent des vues basées sur des valeurs fondamentalement différentes. est une méthodologie de développement ; est un mouvement social. Pour , est un impératif éthique, [...] » et sont, respectivement: [ ] « logiciel propriétaire » et « logiciel libre » [ ] « logiciel propriétaire » et « open source » [ ] « logiciel libre » et « logiciel propriétaire » [ ] « open source » et « logiciel propriétaire » [ ] « logiciel libre » et « open source » [X] « open source » et « logiciel libre » [ ] « logiciel libre » et « domaine publique » [ ] « domaine publique » et « logiciel libre » [ ] « open source » et « domain publique » [ ] « domaine publique » et « open source » La phrase est de Richard Stallman. C'est une bonne comparaison des différences philosophiques dans les deux mouvements. ------------------------------------------------------------------------------- Rappelez-vous que (null? X) retourne #t si X est la liste vide, et #f sinon. null? n´échoue jamais. (define (f g x) (if (null? x) '() (cons (g (car x)) (f g (cdr x))))) (define (s x) (+ x 1)) Pour les questions suivantes vous devez «interpréter manuellement» le code. Il est très court. La première fonction est la fonction «map», la deuxième est la fonction «successeur». map prend une fonction et une liste, et elle retourne la liste des résultats des applications de la fonction donnée aux éléments de la liste donnée, dans le même ordre. ------------------------------------------------------------------------------- 16. (f s '(1 2 3)) Quel est le résultat ? [ ] Il y a une erreur [ ] Boucle infinie [ ] (1 2 3) [ ] (1 3 2) [ ] (2 1 3) [ ] (2 3 1) [X] (2 3 4) [ ] (3 2 1) [ ] (3 2 4) [ ] (4 3 2) [ ] (4 2 3) La map du successeur sur la liste (1 2 3) donne la liste (2 3 4). ------------------------------------------------------------------------------- 17. ((lambda () (f s '(1 2 3)))) Quel est le résultat ? [ ] Il y a une erreur [ ] Boucle infinie [ ] (1 2 3) [ ] (1 3 2) [ ] (2 1 3) [ ] (2 3 1) [X] (2 3 4) [ ] (3 2 1) [ ] (3 2 4) [ ] (4 3 2) [ ] (4 2 3) C'est la même expression de la question 16, imbriquée dans une fonction a zéro paramètres qui est appelée. Naturellement le résultat est le même. ------------------------------------------------------------------------------- 18. (f (lambda (s) s) '(1 2 3)) Quel est le résultat ? [ ] Il y a une erreur [ ] Boucle infinie [X] (1 2 3) [ ] (1 3 2) [ ] (2 1 3) [ ] (2 3 1) [ ] (2 3 4) [ ] (3 2 1) [ ] (3 2 4) [ ] (4 3 2) [ ] (4 2 3) (lambda (s) s) est la fonction identité, qui prend un object s et retourne s. La map de l'identité sur une liste donne une copie de la même liste. ------------------------------------------------------------------------------- 19. (f (lambda (x) (s x)) '(1 2 3)) Quel est le résultat ? [ ] Il y a une erreur [ ] Boucle infinie [ ] (1 2 3) [ ] (1 3 2) [ ] (2 1 3) [ ] (2 3 1) [X] (2 3 4) [ ] (3 2 1) [ ] (3 2 4) [ ] (4 3 2) [ ] (4 2 3) Si s est la fonction successeur, (lambda (x) (s x)) est encore la fonction successeur. ------------------------------------------------------------------------------- 20. (f (lambda (x) (x)) '(1 2 3)) Quel est le résultat ? [X] Il y a une erreur [ ] Boucle infinie [ ] (1 2 3) [ ] (1 3 2) [ ] (2 1 3) [ ] (2 3 1) [ ] (2 3 4) [ ] (3 2 1) [ ] (3 2 4) [ ] (4 3 2) [ ] (4 2 3) (lambda (x) (x)) est une fonction qui prend un paramètre x et l´appelle avec zéro paramètres. La map de cette fonction sur une liste de nombres provoque une erreur de type, parce que un nombre ne peux pas être appelé : il n'est pas une fonction. -------------------------------------------------------------------------------