Je peux également utiliser le mode sans échec pour avoir une idée des changements apportés par d’autres distributions Discourse :
Purism n’a que quelques scripts de thème (qui font peut-être partie de Discourse officiel, puisque le mode sans échec bloque tous les thèmes, je pense) et un élément JavaScript interne (c’est-à-dire faisant partie du fichier HTML, pas un fichier JS externe), commençant par const DELAY_TARGET=2e3,POLLING_INTERVAL=50,splashS…
Exercism a ce qui semble être le plugin discourse-spoiler-alert qui a été ajouté plus tard au cœur, ainsi que le même code JS interne que Purism.
Le forum des membres de la FSF n’a que ce même code JS interne que les deux autres.
Discourse Meta (ce forum) semble avoir beaucoup de différences au niveau du JS.
discourse-activity-pub
discourse-customer-flair-plugin (je n’ai trouvé aucune licence pour celui-ci)
discourse-deprecation-collector
discourse-doc-categories
discourse-new-features-feeds (aucune licence trouvée pour celui-ci non plus)
de nombreux autres scripts, y compris certains qui n’ont même pas de lien vers une carte source.
Il semble donc que la plupart des distributions tierces (sur la base de mon petit échantillon de 3) restent assez proches de Discourse principal, mais cela donne l’impression que cette distribution contient des plugins qui ne feraient pas partie de la plupart des distributions. Savez-vous où je pourrais trouver le code source sous licence pour tous ceux-là ? Seraient-ils dans le dépôt principal ? Je n’ai pas réussi à les trouver en recherchant certains de ces noms dans le dépôt principal, mais il est possible que je l’aie manqué.
À partir d’ici, c’est évident, car la plupart d’entre eux ne sont pas de tiers, mais de première partie
Vous devriez consulter les catégories Plugin et Theme component. Mais vous pourriez également trouver intéressantes les catégories Dev et Documentation, par exemple.
J’ai essayé de rechercher sur tout le forum « discourse-new-features-feeds » (par exemple) et je n’ai rien trouvé. Pour certaines extensions, j’ai pu les trouver dans le répertoire des plugins, sur GitHub, ou ici sur les forums, mais pour discourse-new-features-feeds et discourse-customer-flair-plugin, je n’ai rien trouvé. Je n’ai pas vérifié chaque script de plugin, il peut donc y en avoir d’autres que je ne pourrais pas trouver.
Je suppose qu’il y a une raison pour laquelle, par exemple, les personnalisations de Meta ne sont pas publiques. Ou alors vous n’avez pas creusé assez profondément dans le dépôt de Discourse
Il est possible qu’il s’agisse d’un client Enterprise qui a fait personnaliser son forum spécialement pour lui par Discourse.
De plus, si vous voulez utiliser le mode sans échec pour voir les personnalisations côté client, cela ne le désactiverait-il pas plutôt ? Comment l’activer sur ces sites en premier lieu ?
Par curiosité, je me demande quelle est exactement la logique derrière tout ça. On ne peut tout simplement pas naviguer sur Internet avec les préoccupations que vous soulevez, n’est-ce pas ?
Vous parlez de « licence ». Mais votre propre licence d’utilisation d’un forum spécifique en tant qu’utilisateur simple serait différente de la licence d’exécution du logiciel du forum (= si quelqu’un veut mettre en place un autre forum avec). Pourquoi un utilisateur se soucierait-il de ce dernier point ? À cause de certains principes auxquels il veut adhérer ? Toute personnalisation non redistribuée serait « propriétaire », je suppose. Ce qui soulève la question de savoir où cela commence et où cela finit.
Vous pouvez vous méfier du javascript et de ce qu’il pourrait permettre d’exécuter sur votre navigateur (les risques et les possibilités de cela sont souvent débattus. Il est censé être limité). Je ne suis pas sûr que Discourse puisse fonctionner sans lui, cependant. Ou fonctionner correctement, du moins. Vous pouvez toujours essayer. Il existe par exemple l’extension de navigateur populaire « NoScript ».
Je me demande encore sur le raisonnement : s’agit-il de code malveillant potentiel ? Dans ce cas, il ne me semblerait pas très logique que vous vous sentiez mieux avec une licence qui DIT qu’un forum exécute une version non modifiée. Ou de quoi s’agit-il ?
En général, je veux éviter d’exécuter des logiciels non libres. La raison principale est que je pense que je devrais avoir le contrôle sur les logiciels qui s’exécutent sur mon ordinateur, et une raison supplémentaire est que je n’aime pas l’idée de bogues qu’il pourrait être illégal de corriger. Je pense aussi qu’il serait bon que j’obtienne mes logiciels d’un petit nombre de dépôts de confiance, plutôt que de télécharger des logiciels à partir de centaines de sites Web indépendants sans contrôle ni responsabilité de tiers, il est donc important pour moi d’être libre de packager les logiciels que j’utilise pour un dépôt de confiance (bien que ce soit assez peu pratique pour le JS servi par le site avec la technologie actuelle).
Je ne pense pas que je devrais avoir le contrôle sur les logiciels qui s’exécutent sur les ordinateurs des autres, car je pense que l’opérateur du serveur devrait avoir ce contrôle, et il ne me semble pas logique que plusieurs utilisateurs contrôlent entièrement le logiciel.
Non, il est relativement facile d’éviter d’exécuter des logiciels non libres sur Internet si vous n’utilisez pas de programmes qui téléchargent et exécutent automatiquement du code arbitraire de parties non fiables, ou si vous modifiez de tels programmes pour qu’ils ne le fassent pas (par exemple, en installant LibreJS dans votre navigateur Web).
D’après ce que je peux dire, l’exécution du logiciel du forum est nécessaire pour utiliser la plupart des fonctions du forum, bien que la lecture des messages fonctionne sans cela. Si je veux enregistrer un compte et poster des sujets, il semble que je doive exécuter le logiciel du forum. La plupart des gens ne s’en rendent pas compte car la plupart des navigateurs téléchargeront et exécuteront tout logiciel que le site Web envoie, sans en informer l’utilisateur.
Certains logiciels de forum s’exécutent sur le serveur, et les instances Discourse ne distribueront pas nécessairement ce logiciel du tout, ce qui signifie que je n’obtiendrai pas nécessairement de logiciel non libre que l’instance a ajouté côté serveur, donc je n’essaie pas d’éviter les instances qui font cela.
aside about definitions
À mon avis, un logiciel qui n’est jamais distribué est « propriétaire » car il a un seul « propriétaire » (l’auteur) mais il est aussi « libre » car tous ses utilisateurs (un seul, l’auteur) sont libres d’en faire ce qu’ils veulent. Eh bien, je suppose que vous pourriez dire que les personnes qui interagissent avec un serveur sont des « utilisateurs » du logiciel sur ce serveur, donc peut-être que je devrais utiliser un mot différent de « utilisateurs », mais je ne suis pas sûr du mot à utiliser à la place. Peut-être suis-je techniquement un « utilisateur » du logiciel exécuté sur le réseau téléphonique ou sur le téléphone de quelqu’un d’autre si j’appelle quelqu’un.
Oui, j’ai NoScript installé, et lorsque je bloque le logiciel Discourse côté client, bien sûr, Discourse ne peut pas « fonctionner » sans lui, car j’ai empêché le navigateur d’exécuter les scripts. Le logiciel côté serveur, qui ne s’exécute pas sur mon ordinateur, n’est pas empêché de s’exécuter par NoScript. Dans cet état, les sujets et les commentaires servis par le logiciel serveur Discourse sont visibles, mais pour s’inscrire et poster, il semble que vous deviez utiliser le logiciel JavaScript côté client.
Concernant les logiciels malveillants, si un programme de logiciel libre est un logiciel malveillant, alors quelqu’un peut le modifier pour qu’il ne soit pas un logiciel malveillant, puis distribuer cette version modifiée à utiliser à la place. Pour le JavaScript servi par le site, c’est actuellement quelque peu peu pratique. Idéalement, il y aurait une licence indiquant directement que le logiciel est un logiciel libre, de sorte que même si le logiciel était modifié, il serait toujours légal de l’utiliser comme logiciel libre. Tel qu’il est, je dois faire confiance aux distributions que j’utilise pour ne pas « mentir » sur la version du logiciel qu’elles utilisent (par exemple, en modifiant le logiciel serveur Discourse pour prétendre qu’une validation est utilisée alors qu’il s’agit d’une autre).
J’ai probablement rendu cette réponse un peu trop longue, mais l’essentiel est que j’apprécie la liberté du logiciel et que je veux donc éviter d’exécuter des logiciels non libres sur mon ordinateur.
Dans ce cas, “ils” fait référence à Discourse Meta. N’est-ce pas une partie de Discourse (l’entreprise) ?
Oui, ce que je voulais dire, c’est qu’avec le mode sans échec, je peux désactiver les scripts des modifications, puis comparer quel logiciel est envoyé au navigateur dans les deux cas. La différence réside dans les modifications et les thèmes.
Le mode sans échec peut être activé en naviguant vers /safe-mode (par exemple, http://meta.discourse.com/safe-mode) et en sélectionnant les options là-bas. Cette page ne nécessite pas de JavaScript, donc le mode sans échec peut être activé tout en utilisant des extensions comme NoScript, LibreJS et/ou Haketilo pour bloquer le JS ou en définissant javascript.enabled sur false dans les paramètres du navigateur pour les navigateurs basés sur Firefox.
À ce stade, vous pouvez comparer les balises de script sur les deux pages pour voir ce qui a été supprimé avec le mode sans échec. J’ai utilisé un script comme celui-ci :
script-diff.js
// SPDX-FileCopyrightText: 2024 Jacob K
//
// SPDX-License-Identifier: CC0-1.0
// sur la page avec plus de scripts
const scriptSrcArr = [];
for (script of document.scripts) {
if (script.src) {
scriptSrcArr.push(script.src);
} else {
scriptSrcArr.push(script.textContent);
}
}
console.log(scriptSrcArr)
// sur la page avec moins de scripts (vous devrez faire un clic droit sur le tableau et cliquer sur "Copier l'objet" sur la première page)
scriptSrcArr = PASTE_OBJECT_FROM_OTHER_PAGE_HERE
for (script of document.scripts) {
if (!scriptSrcArr.includes(script.src)) {
console.info(script)
}
}
// Je suppose que les scripts sur la première page sont un sur-ensemble des scripts sur la deuxième page
@Jagster (j’essaie une réponse par édition, comme suggéré par Discourse (fonctionnalité de suggestions cool !))
Cela me fait penser que Discourse, tel que distribué par meta.discourse.org, est un logiciel non libre, ce qui signifierait que les affirmations “L’intégralité de la base de code de Discourse est ouverte et librement disponible au public” et “Discourse est un logiciel de forum 100% gratuit et open-source.” (toutes deux de www.discourse.org) semblent trompeuses, même si c’est techniquement vrai parce que le logiciel n’est pas la même chose que ses plugins. J’ai un peu l’impression d’avoir été trompé pour exécuter un logiciel non libre
Je suppose que cette affirmation s’adresse vraiment aux personnes qui ont l’intention d’héberger des instances Discourse, et non de rejoindre des instances existantes.
J’espère que je me trompe et qu’il est vraiment vrai que je n’ai pas regardé assez attentivement le dépôt.
Vous devez ressentir cela très souvent. Pas de smileys, car c’était juste une déclaration sur le fonctionnement d’Internet et des applications qui y sont.
Vous venez de dire que les personnalisations sont mauvaises, et si la base est open source, alors tous les modules complémentaires doivent aussi être gratuits. Eh bien, je pense que WordPress a utilisé cela, mais certainement pas avec wordpress.com, mais si vous visitez mon site WordPress, il y a beaucoup de travail personnalisé. Certains sont propriétaires, certains sont ouverts, certains sont personnalisés et certains sont de moi. Et dans cette réalité, deux choses ne se produiront pas :
tout le code du travail personnalisé serait public
Je vous dirais ou à tout visiteur si j’ai une licence valide ou non
Mais j’ai du mal à comprendre pourquoi Discourse, WordPress, Moodle etc. ne seraient pas gratuits si certains ajouts ne sont pas gratuits. Je ne comprends pas la logique derrière cette pensée.
C’est tout à fait le but
Vous ne pouvez pas prédire ce que les hébergeurs pourraient ensuite adapter pour faire.
En effet, de plus, et par exemple, à la discrétion de l’hébergeur, ils peuvent ajouter :
de la publicité
des abonnements
Et bien que le « logiciel » puisse rester « gratuit à utiliser », certaines fonctionnalités pourraient être limitées et la publicité ne serait activée que pour les abonnés payants.
Tout le monde n’a pas des fonds illimités pour exécuter une instance Discourse gratuitement. De nombreux sites doivent générer des revenus pour payer leurs factures.
Exécuter une instance Discourse n’est jamais « gratuit » à grande échelle. L’hébergeur doit payer les coûts du nom de domaine, du VPS et des services de messagerie, pour ne citer que les principaux.
(… et n’entrons pas dans les coûts de développement de Discourse en premier lieu !)
Les administrateurs de leur propre site Discourse ont la liberté de personnaliser leur propre forum. Les plugins, thèmes, TCs ne doivent pas toujours être open source. Discourse est d’accord avec cela, car il existe des moyens d’utiliser des dépôts privés au lieu de publics pour connecter ces personnalisations.
Il en va de même pour tous les plugins, sauf dans des cas très, très, très rares (peut-être même presque jamais !) où de telles personnalisations seront payantes [1]. Donc rien n’est « non libre » : tout est libre.
Mon propos est que les logiciels open source seront libres. Les plugins sont gratuits - c’est votre choix de les utiliser. Il en va de même pour les thèmes, les TCs, etc. Ce qui n’est pas open source, cependant, peut être payant, mais les administrateurs ont choisi de le rendre gratuit à l’utilisation. Rien ne vous empêche si vous voulez faire une copie d’une personnalisation non open source au mieux de vos capacités et l’utiliser vous-même.
Discourse est gratuit, ses personnalisations publiques [2] sont gratuites, ses personnalisations privées sont également gratuites à l’utilisation (du moins dans un bon nombre d’endroits, mais
. Payer le propriétaire pour le code source est une chose différente, cependant.
Essentiellement, à moins que vous ne créiez vous-même un plugin/thème/TC et que vous ne le partagiez pas, vous pouvez toujours installer des personnalisations gratuitement. Personne ne vous en empêche.
Je suis désolé si cela semble impoli ou bref, ou si je tourne en rond et répète la même chose.
Sauf par des commissions payantes, ce qui est votre propre choix de les sponsoriser. ↩︎
c’est-à-dire celles listées ici sur Meta ou sur github publiquement ↩︎
Ce n’est pas nécessairement vrai. Encore une fois : il s’agit de gratuité au sens de liberté, pas de prix. Il existe des projets open source dont les licences sont trop restrictives pour être considérées comme des logiciels libres selon la définition de la FSF. Des exemples sont MongoDB et ElasticSearch.
Exécuter des logiciels libres n’implique pas que vous ayez le contrôle sur ceux-ci.
Donc, il semble que vous confondiez « fiable » et « libre ». Lorsqu’un administrateur de serveur compile Discourse, le processus de compilation télécharge toutes sortes de paquets depuis NPM. Peut-on toujours leur faire confiance ? (L’histoire nous a appris que ce n’est pas le cas - exemple et un autre).
Vous « supposez » Un administrateur de serveur peut apporter des modifications sans changer le hash de commit. Et un plugin peut également injecter du code Javascript.
Je suis au regret de vous informer, mais c’est faux.
Il ne s’agit pas de libre ou non libre, ou de source ouverte ou fermée, mais de confiance.
Si vous visitez une instance Discourse, vous devrez faire confiance à :
l’administrateur (ou les administrateurs) du serveur
toute personne ayant un accès commit sur l’organisation Discourse github
toute personne ayant un accès commit sur les dépôts de plugins
toute personne chez github
toute la chaîne logicielle NPM
toute personne ayant un accès commit à un dépôt NPM utilisé
toute personne ayant le contrôle sur votre logiciel de navigateur
l’entreprise qui a fourni le certificat SSL et la chaîne de confiance
Ce qui fera au moins quelques milliers de personnes ?
Les plugins et les composants de thème peuvent être trouvés dans des dépôts séparés.
Tous les plugins ne sont pas open source (par exemple, discourse-customer-flair-plugin ne l’est pas, à ma connaissance). Donc voilà. Vous devrez cesser d’utiliser Meta Je plaisante bien sûr. Mon propos est qu’il peut y avoir suffisamment de confiance sans que tout soit open source ou libre.
Juste quelque chose, @JacobK1, as-tu lu la licence de Discourse ?
En citant quelques points qui pourraient être pertinents :
la Licence Publique Générale GNU
est destinée à garantir votre liberté de partager et de modifier des logiciels libres - pour s’assurer que le logiciel est libre pour tous ses utilisateurs.
Vous pouvez modifier votre copie ou des copies du Programme ou de toute partie
de celui-ci, formant ainsi une œuvre basée sur le Programme, et copier et
distribuer ces modifications ou œuvres selon les termes de la Section 1
ci-dessus
J’espère que cela a été répondu ci-dessus et dans la citation ci-dessus.
Si je comprends bien, tout cela est principalement lié à javascript. Et il s’agit de ce qui est exécuté avec javascript dans votre navigateur, qui est servi par chaque instance de Discourse. Il s’agirait aussi principalement de « confiance » et de la capacité de savoir quel code est exécuté (en étant capable de le consulter). Correct ?
C’est bien au-delà de mes compétences, mais pouvez-vous avoir le « contrôle » sur cela ? À moins que vous ne soumettiez un commit qui change les choses pour tout le monde, je ne pense pas que vous puissiez vraiment vous « corriger » quoi que ce soit ici, car ce que vous appelez le « logiciel » exécuté sur votre ordinateur vous est fourni par le serveur à chaque fois.
Même si chaque forum publiait son propre code open-source, avec toutes les modifications possibles, pouvez-vous être sûr que c’est ce qu’ils exécutent réellement à tout moment ? Ce n’est pas comme si vous pouviez télécharger une fois, vérifier et compiler vous-même de votre côté.
Ce que vous voudriez vraiment, c’est soit :
Pas de javascript (pas de chance avec Discourse sur ce point, qui en dépend fortement) ou
Un client open-source indépendant réellement installé sur votre ordinateur. Ce dernier ne devrait pas non plus utiliser de javascript, si tout cela est possible avec Discourse, ce que j’ignore. Vous pourriez alors modifier votre client et avoir le contrôle sur celui-ci que vous recherchez.
Est-ce une compréhension juste ?
(PS : C’est aussi au-delà de mes compétences, mais si je me souviens bien, pas 100 % du code de Discourse est open-source. Maintenant, vous ne vous souciez vraiment que de ce qui s’exécute de votre côté, pas de tout ce qui est côté serveur)
Puisque j’obtiens la grande majorité de mes logiciels via apt install plutôt qu’un navigateur web, et que je fais confiance à ma distribution de logiciels (Trisquel) pour ne distribuer que des logiciels libres, ce n’est généralement pas une préoccupation.
Pour être clair, je ne dis pas que les personnalisations sont nécessairement mauvaises, mais qu’elles peuvent l’être si elles sont non libres. Ainsi, une façon de s’assurer d’éviter l’exécution de logiciels non libres est de désactiver les personnalisations.
Je pense que tous les logiciels devraient être libres/libres.
Pour être clair, je ne cherche pas à dire que Discourse est non libre. C’est seulement cette distribution particulière de Discourse (Discourse Meta) qui semble inclure des logiciels non libres.
J’aurais dû mentionner dans mon message précédent qu’une autre raison pour laquelle je pensais que cette distribution serait libre est que la page « À propos » de Discourse indique : « Il n’existe qu’une seule version de Discourse – la version open source incroyable. ». C’est, encore une fois, techniquement vrai car les plugins ne font pas partie de Discourse, mais cela m’a semblé trompeur.
Discourse n’a peut-être pas le contrôle sur les distributions tierces, mais j’aurais attendu que les instances Discourse hébergées par Discourse soient des logiciels libres si elles disent ce qu’elles disent sur la page « À propos ». J’aurais aussi pu attendre une licence et/ou un cadre qui exigeraient effectivement que les dérivés soient des logiciels libres, ce qui est en quelque sorte le cas, puisque Discourse est sous GPL, mais je suppose que cela ne couvre pas les plugins.
Je pense que facturer de l’argent pour des logiciels ou des services est acceptable ; généralement, le « libre » dans « logiciel libre » signifie « libre » (libre), c’est-à-dire que vous êtes libre de faire ce que vous voulez avec lui (copier, modifier, etc.), une fois que vous l’avez obtenu. Cela ne signifie pas nécessairement qu’il est « gratuit » (gratis), c’est-à-dire à coût nul.
Strictement parlant, oui, personne ne m’empêche, mais ce serait illégal, ce qui semble mauvais. Pour un usage privé, cela pourrait fonctionner, mais en général, les dépôts de logiciels publics et les magasins d’applications ne veulent pas inclure de code illégal, et certaines personnes que je pourrais vouloir utiliser ce logiciel pourraient être mal à l’aise à l’idée d’exécuter du code copié illégalement. Je ne suis pas sûr d’avoir la bonne approche ; peut-être que je devrais simplement ignorer totalement le droit d’auteur, mais cela ne semble pas être la meilleure option lorsqu’il est possible d’éviter les logiciels illégaux et non libres.
Pas de souci ! Je ne pense pas que vous soyez impoli, et je ne sens pas encore que nous tournons en rond.
Que voulez-vous dire par là ? Si le logiciel est libre, cela signifie que je peux le modifier ; donc, j’ai bien le contrôle sur ce qu’il fait.
Je ne pense pas que libre soit la même chose que fiable ; peut-être que j’aurais dû dire « arbitraire » au lieu de « non fiable », mais mon point était que la plupart des navigateurs exécuteront tout code qu’une page web leur donne, et puisque je visite souvent des sites web que je n’ai jamais visités auparavant, de nombreux sites que je visite sont « non fiables ». Pour ces sites, je n’ai aucune raison de penser qu’ils n’enverront pas de logiciels non libres.
En ce qui concerne NPM, je le considère plus fiable qu’un site web arbitraire, mais peut-être pas aussi fiable que mes dépôts apt ou guix. Cependant, la confiance n’est pas unidimensionnelle ; bien que je ne ferais pas confiance à un nouveau paquet sur NPM simplement parce qu’il est sur NPM, je ferais confiance au fait que lorsque je télécharge JQuery depuis NPM, c’est bien JQuery. NPM peut commettre des erreurs permettant à un attaquant de remplacer JQuery, mais NPM pourrait prendre des mesures pour éviter les logiciels malveillants qui ne seraient pas aussi réalistes pour le JavaScript servi par les sites (par exemple, examen automatisé/manualisé avant publication, examen crowdsourcé après publication, vérification automatisée que les scripts minifiés/obfusqués correspondent au code source, règles interdisant le téléchargement et l’exécution de code arbitraire au moment de l’exécution). Il est important de noter que lorsqu’un logiciel malveillant est détecté sur NPM, il y a un tiers (NPM, par opposition au développeur de logiciels) à qui le signaler afin qu’il puisse être supprimé. Ce n’est pas le cas pour le JavaScript servi par les sites : la seule personne qui peut le supprimer est l’opérateur du site.
Cela signifie-t-il que le hachage de validation indiqué serait incorrect si un administrateur de serveur apportait des modifications et ne changeait pas également le hachage de validation indiqué ? Je pensais que la mise à jour du logiciel changerait automatiquement le hachage de validation, et j’ai (incorrectement ?) supposé que le hachage de validation indiqué serait mis à jour automatiquement.
Le JavaScript injecté par un plugin serait-il désactivé avec safe_mode=no_themes,no_unofficial_plugins ?
Donc, la seule façon d’éviter les logiciels non libres tout en utilisant Discourse serait d’emballer un client Discourse en tant qu’extension de navigateur ou paquet Haketilo ou quelque chose de similaire ?
Je ne suis pas sûr de ce que vous voulez dire par là, étant donné que ma question initiale portait sur la liberté des logiciels et non sur la confiance.
Je ne suis pas d’accord pour dire que chacun que vous avez listé doit être fait confiance.
Les administrateurs de serveur n’auraient pas besoin d’être fait confiance si vous n’exécutez pas de logiciels servis par eux, par exemple si vous obtenez le client Discourse depuis GitHub et l’emballer de manière à ce qu’il puisse être utilisé avec ce serveur.
Dans de nombreux cas, les personnes collaborant sur un logiciel peuvent lire certaines des validations de chacun, donc je n’ai pas besoin de faire confiance à tous les auteurs individuellement.
Cela signifierait donc que le client Discourse Meta est un logiciel propriétaire, n’est-ce pas ? Bien qu’il soit possible d’utiliser le mode sécurisé pour désactiver le JavaScript du plugin.
Peut-être, mais cela n’est pas très utile si je veux éviter les logiciels non libres.
@NateDhaliwal
J’ai lu la licence dans le dépôt git de Discourse, mais (en raison du CLA) elle ne s’applique pas nécessairement aux dérivés de Discourse en dehors de ce dépôt. J’aimerais voir une mention sur chaque distribution Discourse indiquant quels logiciels distribués sont libres. Cela irait même (à mon avis) dans l’esprit de la GPL : « vous devez leur montrer ces termes afin qu’ils connaissent leurs droits ».
Oui, il est possible d’exécuter du JavaScript à partir d’une extension de navigateur ou d’un proxy, comme Haketilo ou GreaseMonkey, bien que cela puisse être très peu pratique pour certains logiciels, par exemple s’ils se mettent à jour très souvent, comme ce serait le cas pour des logiciels où les données sont intégrées dans le logiciel JavaScript. Haketilo ne prend également pas en charge certains types de scripts, par exemple les scripts de type « module ».
Oui, je pense que votre compréhension est globalement correcte. Bien que l’emballage du JavaScript en tant qu’extension de navigateur ou pour Haketilo ou GreaseMonkey aboutisse effectivement à un client installé indépendant, même s’il utilise JavaScript.
Je parie que vous voulez dire « Tout » dans le sens de « tout ce qui fait partie de Discourse », c’est-à-dire, sans inclure des plugins comme discourse-customer-flair-plugin ?
Tout ce qui fait partie du produit principal que nous hébergeons (y compris Meta), à l’exception de celle que j’ai notée ci-dessus, est gratuit et open source.
Certains plugins dépendent de plateformes propriétaires pour fonctionner, mais cela n’a rien à voir avec le fait que Discourse soit ou non open source.
Toutes les instances de Discourse hébergées par CDCK ou par nous (je suis le co-fondateur d’une société qui héberge Discourse) exécutent un ou plusieurs plugins propriétaires pour fournir certaines fonctionnalités spécifiques à l’environnement d’hébergement.
Je pense qu’il y a beaucoup de confusion entre une distribution au sens classique (voici un dépôt GitHub et n’hésitez pas à faire ce que vous voulez) et une distribution au sens plus moderne (voici un site Web et il pousse du Javascript dans votre navigateur). De plus, il y a confusion entre Discourse https://github.com/discourse/discourse et Discourse et tous ses plugins et composants de thème de première et tierce partie ajoutés par les administrateurs du site.
C’est un hash de commit, donc si des modifications sont apportées après l’avoir extrait du dépôt et avant de le commiter, alors vous avez déjà une telle situation. Cela n’a pas besoin d’être un acte malveillant, cela se produira également si des correctifs de sécurité sont appliqués (ce qui est généralement fait avant de les commiter dans une branche publique). Maintenant, en général, les correctifs de sécurité ne sont pas côté client, mais ils peuvent introduire du code côté client mis à jour.
Oui - du moins en théorie. Je ne suis pas sûr de la difficulté de contourner cela (délibérément ou accidentellement).
Ce serait une façon, je ne suis pas sûr que ce soit la seule. Si vous faites cela, vous devrez le mettre à jour presque quotidiennement pour éviter de casser des choses.
Même si tout ce sujet est une discussion juridique intéressante, tout cela semble un peu détaché de la réalité.
Existe-t-il un dépôt séparé avec une licence pour les plugins que je n’ai pas trouvés auparavant, comme le plugin discourse-customer-flair ? Le JavaScript servi au navigateur contient un lien vers une carte source mais aucune licence, d’après ce que je peux dire.
Ma compréhension du « code d’hébergement/d’infrastructure » n’inclurait pas le JavaScript côté client ; est-ce correct ?
Je suis d’accord. Je pense que je ne suis pas sûr de ce à quoi le mot « Discourse » s’applique réellement.
Ah, d’accord, donc je suppose qu’il n’y aurait pas vraiment de bon moyen de le savoir.
Bon point, quelqu’un pourrait essayer de cacher une faille comme celle-ci. Mais il semble plus facile d’atténuer ce problème en auditant le code tiers qu’en faisant confiance à chaque personne qui a jamais modifié le code en amont, bien que probablement aucune des deux approches ne soit entièrement pratique.
Oui, bien qu’il soit possible que la plupart des mises à jour puissent être gérées automatiquement.
Je suppose que c’est en grande partie vrai dans ce cas.
Juste pour info, @JacobK1 : Discourse étant bien fait, il n’est pas nécessaire de taguer quelqu’un lorsque vous citez cette personne. La citation elle-même générera déjà une notification (c’était aussi pour créer des sous-sections, certes )