• [^] # Re: Contenu du CD d'installation

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Haiku R1 bêta 2. Évalué à 3.

    Alors il y a une petite erreur: c'est 3 ans et pas 5. Mais sinon oui, c'est écrit clairement dans la license:

    1. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

    Dans cette version, on a la section a (ce qu'on fait actuellement: donner les sources sur le même DVD), la section b (distribution physique, sur un "medium" des sources pendant 3 ans après la publication de chaque version, et donc non, un lien vers un serveur git ne suffit pas) et la section c (laisser les gens qui ont écrit le code GPL qu'on utilise se débrouiller, mais il faut quand même donner les infos aux gens sur comment récupérer les sources, et c'est interdit en cas de vente commerciale comme c'est peut-être le cas pour nos DVD).

    Dans la GPL 3 c'est devenu un peu plus spécifique:

    1. Conveying Non-Source Forms.

    You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

    a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.

    d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.

    Même principe pour les sections a et c. La section b est un peu reprécisée et moins restrictive: s'il y a distribution des binaires sur un support physique (c'est le cas de notre DVD), il faut que les sources soient disponibles par le même moyen ou via un serveur. Il faut quand même faire une offre écrite à ce sujet et y'a pas la place pour ça sur la pochette du DVD. Les sections d et e sont ajoutées pour la diffusion de binaires via des moyens en ligne (téléchargement depuis un serveur et p2p).

    Donc, oui, on peut dire "ouais, bon, ça vaaaa, personne va se plaindre si on le fait pas". Mais comme la FSF classe Haiku dans sa liste de "ça pue c'est pas libre", qui contient aussi des distros Linux louches comme Arch, CentOS, Debian, Fedora, Mandriva, Manjaro, OpenSUSE, RedHat, Slackware, Tails, Ubuntu; et tous les BSD, on a envie d'être un peu procédurier et de dire que c'est leur faute, tout ça.

    Sur le long terme, le plan est de se débarasser petit à petit des morceaux sous license GPL pour ne plus avoir ce genre de contrainte. Ceci par plusieurs moyens:
    - Remplacement du code par des alternatives (par exemple des morceaux de la glibc par des morceaux de musl ou de FreeBSD, en faisant attention de rester compatible au niveau binaire avec BeOS). On prévoit de faire ça également pour le driver NTFS (remplacer ntfs-3G par la version de Apple, remplacer bash peut-être par mksh ou zsh, ...)
    - Contacter les auteurs pour leur demander un changement de license (pour ProcessController, MediaPlayer, l'implémentation de ReiserFS et du RAM-FS, par exemple)
    - Réécrire les derniers morceaux qui resteront, le cas échéant.

    Ceci dit ce n'est pas la première priorité dans le projet non plus, et ça se fait petit à petit en profitant d'autres raisons (par exemple, le travail sur les versions sparc et arm64 qui demande de pas mal toucher à la libc de toutes façons)