Ich kann auch den abgesicherten Modus verwenden, um eine Vorstellung davon zu bekommen, welche Änderungen andere Discourse-Distributionen vorgenommen haben:
Purism hat nur ein paar Theme-Skripte (die tatsächlich Teil des offiziellen Discourse sein könnten, da der abgesicherte Modus meines Erachtens alle Themes blockiert) und ein internes (d. h. Teil der HTML-Datei, keine externe JS-Datei) JavaScript-Fragment, das mit const DELAY_TARGET=2e3,POLLING_INTERVAL=50,splashS beginnt…
Exercism hat, was wie das discourse-spoiler-alert-Plugin aussieht, das später in den Kern integriert wurde, sowie exakt dasselbe interne JS wie Purism.
Das FSF Member Forum hat nur exakt dasselbe interne JS wie die beiden anderen.
Discourse Meta (dieses Forum) scheint viele JS-Unterschiede aufzuweisen.
discourse-activity-pub
discourse-customer-flair-plugin (Ich konnte nirgendwo eine Lizenz dafür finden)
discourse-deprecation-collector
discourse-doc-categories
discourse-new-features-feeds (Auch hierfür wurde keine Lizenz gefunden)
viele weitere Skripte, darunter einige, die nicht einmal einen Link zu einer Source Map haben.
Es scheint also, dass die meisten Drittanbieter-Distributionen (basierend auf meiner kleinen Stichprobengröße von 3) ziemlich nah am Mainline-Discourse bleiben, aber dann sieht es so aus, als ob diese Distribution Plugins enthält, die nicht Teil der meisten Distributionen wären. Wissen Sie, wo ich den lizenzierten Quellcode für all diese finden würde? Wären sie im Hauptrepository? Ich konnte sie nicht finden, als ich im Hauptrepository nach einigen dieser Namen gesucht habe, aber es ist möglich, dass ich es übersehen habe.
Von hier aus offensichtlich, denn die meisten davon sind keine Drittanbieter, sondern die Erstanbieter
Sie sollten sich die Kategorien Plugin und Theme component ansehen. Aber Sie könnten zum Beispiel auch Dev und Documentation interessant finden.
Ich habe das gesamte Forum nach „discourse-new-features-feeds“ (zum Beispiel) durchsucht und nichts gefunden. Für einige Erweiterungen konnte ich sie im Plugin-Verzeichnis, auf GitHub oder hier im Forum finden, aber für discourse-new-features-feeds und discourse-customer-flair-plugin konnte ich nichts finden. Ich habe nicht jedes einzelne Plugin-Skript überprüft, daher gibt es möglicherweise noch mehr, die ich nicht finden könnte.
Ich würde vermuten, dass es einen Grund gibt, warum zum Beispiel Metas eigene Anpassungen nicht öffentlich sind. Oder du hast nicht tief genug im Repository von Discourse gegraben
Es ist möglich, dass sie ein Enterprise-Kunde sind und Discourse dazu gebracht haben, ihr Forum speziell für sie anzupassen.
Außerdem, wenn Sie den abgesicherten Modus verwenden möchten, um clientseitige Anpassungen zu sehen, würde dies diese nicht stattdessen deaktivieren? Wie würden Sie sie überhaupt auf diesen Websites aktivieren?
Aus reiner Neugier frage ich mich, was genau die ganze Begründung dafür ist. Mit den von Ihnen geäußerten Bedenken können Sie das Internet einfach nicht durchsuchen, richtig?
Sie sprechen von „Lizenz“. Aber Ihre eigene Lizenz zur Nutzung eines bestimmten Forums als einfacher Benutzer wäre anders als die Lizenz zur tatsächlichen Ausführung der Forensoftware (=wenn jemand damit ein weiteres Forum einrichten möchte). Warum sollte sich ein Benutzer um Letzteres kümmern? Wegen einiger Prinzipien, an die er sich halten möchte? Jede nicht weiterverteilte Anpassung wäre „proprietär“, nehme ich an. Was die Frage aufwirft, wo das anfängt und aufhört.
Sie können misstrauisch gegenüber JavaScript sein und was es auf Ihrem Browser ausführen könnte (die Risiken und Möglichkeiten davon werden oft diskutiert. Es soll begrenzt sein). Ich bin mir nicht sicher, ob Discourse ohne es laufen kann. Oder zumindest korrekt. Sie können es immer ausprobieren. Es gibt zum Beispiel die beliebte Browser-Erweiterung „NoScript“.
Ich frage mich immer noch nach der Begründung: Geht es um potenziellen bösartigen Code? In diesem Fall würde es für mich keinen Sinn ergeben, dass Sie sich mit einer Lizenz besser fühlen, die besagt, dass ein Forum eine unveränderte Version ausführt. Oder worum geht es?
Im Allgemeinen möchte ich vermeiden, unfreie Software auszuführen. Der Hauptgrund dafür ist, dass ich denke, dass ich die Kontrolle über die Software haben sollte, die auf meinem Computer läuft, und ein weiterer Grund ist, dass mir die Vorstellung von Fehlern, die illegal zu beheben sind, nicht gefällt. Ich denke auch, es wäre gut, wenn ich meine Software aus einer kleinen Anzahl vertrauenswürdiger Repositories beziehen würde, anstatt Software von Hunderten verschiedener unabhängiger Websites ohne externe Aufsicht oder Rechenschaftspflicht herunterzuladen. Daher ist es mir wichtig, dass ich die Software, die ich verwende, für ein vertrauenswürdiges Repository paketieren kann (obwohl dies bei serverseitigem JS mit der aktuellen Technologie eher unpraktisch ist).
Ich glaube nicht, dass ich die Kontrolle über die Software haben sollte, die auf den Computern anderer läuft, da ich denke, dass der Serverbetreiber diese Kontrolle haben sollte, und es scheint mir nicht sinnvoll, wenn mehrere Benutzer die Software vollständig kontrollieren.
Nein, es ist relativ einfach, unfreie Software im Internet zu vermeiden, wenn Sie keine Programme verwenden, die automatisch beliebigen Code von nicht vertrauenswürdigen Parteien herunterladen und ausführen, oder wenn Sie solche Programme so modifizieren, dass sie dies nicht tun (z. B. durch Installation von LibreJS in Ihrem Webbrowser).
Soweit ich das beurteilen kann, ist die Ausführung der Forum-Software für die Nutzung der meisten Funktionen des Forums erforderlich, obwohl das Lesen von Beiträgen auch ohne sie funktioniert. Wenn ich ein Konto registrieren und Themen posten möchte, scheint es, dass ich die Forum-Software ausführen muss. Die meisten Leute merken das nicht, weil die meisten Browser jede Software herunterladen und ausführen, die die Website sendet, ohne den Benutzer zu benachrichtigen.
Ein Teil der Forum-Software läuft auf dem Server, und dann verteilen Discourse-Instanzen diese Software nicht unbedingt. Das bedeutet, dass ich nicht unbedingt unfreie Software erhalte, die die Instanz auf der Serverseite hinzugefügt hat, daher versuche ich nicht, Instanzen zu meiden, die dies tun.
Nebenbemerkung zu Definitionen
Meiner Ansicht nach ist Software, die nie verteilt wird, „proprietär“, da sie einen einzigen „Besitzer“ (den Autor) hat, aber sie ist auch „frei“, da alle ihre Benutzer (nur einer, der Autor) frei sind, damit zu tun, was sie wollen. Nun, ich schätze, man könnte sagen, dass Personen, die mit einem Server interagieren, „Benutzer“ der Software auf diesem Server sind, also sollte ich vielleicht ein anderes Wort als „Benutzer“ verwenden, aber ich bin mir nicht sicher, welches Wort ich stattdessen verwenden soll. Vielleicht bin ich technisch gesehen ein „Benutzer“ der Software, die im Telefonnetz oder auf dem Telefon eines anderen läuft, wenn ich jemanden anrufe.
Ja, ich habe NoScript installiert, und wenn ich die clientseitige Discourse-Software blockiere, kann Discourse natürlich nicht „laufen“, weil ich den Browser daran gehindert habe, die Skripte auszuführen. Die serverseitige Software, die nicht auf meinem Computer läuft, wird von NoScript nicht am Laufen gehindert. In diesem Zustand sind die vom Discourse-Server bereitgestellten Themen und Kommentare sichtbar, aber um sich zu registrieren und zu posten, scheint es, dass Sie die clientseitige JavaScript-Software verwenden müssen.
In Bezug auf Malware: Wenn ein freies Softwareprogramm Malware ist, dann kann jemand es modifizieren, um keine Malware mehr zu sein, und dann diese modifizierte Version zur Verwendung verteilen. Für serverseitiges JavaScript ist dies derzeit etwas unpraktisch. Idealerweise gäbe es eine Lizenz, die direkt besagt, dass die Software freie Software ist, so dass sie auch dann legal als freie Software verwendet werden könnte, wenn die Software modifiziert wurde. So wie es jetzt ist, muss ich darauf vertrauen, dass die von mir verwendeten Distributionen nicht über die von ihnen verwendete Softwareversion „lügen“ (z. B. indem sie die Discourse-Server-Software modifizieren, um zu behaupten, ein Commit werde verwendet, obwohl es ein anderes ist).
Ich habe diese Antwort wahrscheinlich etwas zu lang gemacht, aber der Kernpunkt ist, dass ich Softwarefreiheit schätze und daher vermeiden möchte, unfreie Software auf meinem Computer auszuführen.
In diesem Fall ist “sie” Discourse Meta. Ist das nicht Teil von Discourse (dem Unternehmen)?
Ja, was ich meinte war: Mit dem sicheren Modus kann ich die Skripte von Modifikationen deaktivieren und dann vergleichen, welche Software in beiden Fällen an den Browser gesendet wird. Der Unterschied sind die Modifikationen und Themes.
Der sichere Modus kann aktiviert werden, indem Sie zu /safe-mode navigieren (z. B. http://meta.discourse.com/safe-mode) und dort die Optionen auswählen. Diese Seite benötigt kein JavaScript, sodass der sichere Modus aktiviert werden kann, während Erweiterungen wie NoScript, LibreJS und/oder Haketilo zum Blockieren von JS verwendet werden oder indem javascript.enabled in den Browsereinstellungen für Firefox-basierte Browser auf false gesetzt wird.
An diesem Punkt können Sie die Skript-Tags auf beiden Seiten vergleichen, um zu sehen, was im sicheren Modus entfernt wurde. Ich habe ein Skript wie dieses verwendet:
script-diff.js
// SPDX-FileCopyrightText: 2024 Jacob K
//
// SPDX-License-Identifier: CC0-1.0
// auf Seite mit mehr Skripten
const scriptSrcArr = [];
for (script of document.scripts) {
if (script.src) {
scriptSrcArr.push(script.src);
} else {
scriptSrcArr.push(script.textContent);
}
}
console.log(scriptSrcArr)
// auf Seite mit weniger Skripten (Sie müssen mit der rechten Maustaste auf das Array klicken und auf der ersten Seite auf "Objekt kopieren" klicken)
scriptSrcArr = PASTE_OBJECT_FROM_OTHER_PAGE_HERE
for (script of document.scripts) {
if (!scriptSrcArr.includes(script.src)) {
console.info(script)
}
}
// Ich gehe davon aus, dass die Skripte auf der ersten Seite eine Obermenge der Skripte auf der zweiten Seite sind
@Jagster (versuche eine Antwort per Bearbeitung, wie von Discourse vorgeschlagen (coole Vorschlagsfunktion!))
Das lässt mich denken, dass Discourse, wie es von meta.discourse.org vertrieben wird, proprietäre Software ist, was bedeuten würde, dass die Behauptungen “Der gesamte Discourse-Code ist offen und frei für die Öffentlichkeit zugänglich” und “Discourse ist 100% kostenlose Open-Source Forum-Software.” (beide von www.discourse.org) irreführend erscheinen, auch wenn es technisch gesehen wahr ist, weil die Software nicht dasselbe ist wie ihre Plugins. Es fühlt sich irgendwie so an, als wäre ich dazu verleitet worden, proprietäre Software zu verwenden
Ich schätze, diese Behauptung richtet sich wirklich an Leute, die beabsichtigen, Discourse-Instanzen zu hosten, und nicht an bestehende Instanzen.
Ich hoffe, ich irre mich und es ist wirklich so, dass ich das Repository nicht genau genug angesehen habe.
Das Gefühl hast du wahrscheinlich sehr oft. Keine Smileys, denn das war nur eine Aussage, wie das Internet und die Apps darin funktionieren.
Du hast gerade gesagt, dass Anpassungen schlecht sind, und wenn die Basis Open Source ist, dann müssen alle Add-ons auch kostenlos sein. Nun, ich denke, WordPress hat das benutzt, aber sicherlich nicht mit wordpress.com, aber wenn du meine WordPress-Seite besuchst, gibt es viel benutzerdefinierte Arbeit. Einige sind proprietär, einige sind offen, einige sind benutzerdefiniert und einige sind von mir. Und in dieser Realität werden zwei Dinge passieren:
Der gesamte Code der benutzerdefinierten Arbeit wäre öffentlich
Ich würde dir oder jedem Besucher sagen, ob ich eine gültige Lizenz habe oder nicht
Aber ich habe Schwierigkeiten zu verstehen, warum Discourse, WordPress, Moodle usw. nicht kostenlos sein sollten, wenn einige Zusätze nicht kostenlos sind. Ich verstehe die Logik hinter diesem Denken nicht.
Das ist definitiv der Punkt
Man kann nicht vorhersagen, wozu Hoster es dann anpassen könnten.
In der Tat kann der Hoster nach eigenem Ermessen Folgendes hinzufügen:
Werbung
Abonnements
Und während die „Software“ „kostenlos zu nutzen“ bleiben mag, sind einige Funktionen möglicherweise gesperrt und Werbung wird nur für zahlende Abonnenten ausgeschaltet.
Nicht jeder hat unbegrenzte Mittel, um eine Discourse-Instanz kostenlos zu betreiben. Viele Websites müssen Einnahmen erzielen, um ihre Rechnungen zu bezahlen.
Der Betrieb von Discourse ist in großem Maßstab niemals „kostenlos“. Der Hoster muss die Kosten für den Domainnamen, den VPS und die E-Mail-Dienste bezahlen, um die wichtigsten zu nennen.
(… und lassen wir die Kosten für die Entwicklung von Discourse überhaupt nicht erst erwähnen!)
Admins ihrer eigenen Discourse-Seite haben die Freiheit, ihr eigenes Forum anzupassen. Plugins, Themes, TCs müssen nicht immer Open Source sein. Discourse hat damit kein Problem, da es Möglichkeiten gibt, private Repos anstelle von öffentlichen zu verwenden, um diese Anpassungen zu verbinden.
Das gilt auch für alle Plugins, außer in sehr, sehr, sehr seltenen Fällen (vielleicht sogar fast nie!) werden solche Anpassungen bezahlt [1]. Also ist nichts “nicht-frei”: alles ist frei.
Mein Punkt ist, Open-Source-Software wird frei sein. Plugins sind frei – es ist deine Wahl, sie zu nutzen. Das gilt auch für Themes, TCs usw. Was jedoch nicht Open Source ist, kann bezahlt sein, aber die Admins haben sich entschieden, es kostenlos zur Verfügung zu stellen. Niemand hindert dich daran, wenn du eine Kopie einer Closed-Source-Anpassung nach bestem Wissen und Gewissen erstellen und selbst verwenden möchtest.
Discourse ist kostenlos, seine öffentlichen Anpassungen [2] sind kostenlos, seine privaten Anpassungen sind ebenfalls kostenlos zu nutzen (zumindest an vielen Orten, aber
. Dem Eigentümer für den Quellcode zu bezahlen, ist jedoch etwas anderes.
Im Wesentlichen, es sei denn, du erstellst selbst ein Plugin/Theme/TC und teilst es nicht weiter, kannst du Anpassungen immer kostenlos installieren. Niemand hält dich davon ab.
Es tut mir leid, wenn das unhöflich oder kurz angebunden klingt oder wenn ich mich im Kreis drehe und dasselbe wiederhole.
Außer durch bezahlte Aufträge, die deine eigene Wahl sind, sie zu sponsern. ↩︎
d.h. die hier auf Meta oder auf GitHub öffentlich aufgeführten ↩︎
Das ist nicht unbedingt wahr. Nochmals: Hier geht es um Freiheit im Sinne von Freiheit, nicht um Preis. Es gibt Open-Source-Projekte, deren Lizenzen zu restriktiv sind, um als freie Software gemäß der FSF-Definition zu gelten. Beispiele sind MongoDB und ElasticSearch.
Die Ausführung freier Software bedeutet nicht, dass Sie die Kontrolle darüber haben.
Es scheint also, dass Sie „vertrauenswürdig“ und „frei“ vermischen. Wenn ein Serveradministrator Discourse erstellt, lädt der Erstellungsprozess alle möglichen Pakete von NPM herunter. Können diese immer vertrauenswürdig sein? (Die Geschichte hat uns gezeigt, dass dies nicht der Fall ist – Beispiel und ein weiteres).
Sie „vermuten“ Ein Serveradministrator kann Änderungen vornehmen, ohne den Commit-Hash zu ändern. Und ein Plugin kann auch JavaScript-Code injizieren.
Ich muss Sie leider enttäuschen, aber das ist unwahr.
Hier geht es nicht um frei oder unfrei oder Open Source oder Closed Source, sondern um Vertrauen.
Wenn Sie eine Discourse-Instanz besuchen, müssen Sie vertrauen
dem/den Serveradministrator(en)
jedem mit Commit-Zugriff auf den Discourse-Github-Org
jedem mit Commit-Zugriff auf Plugin-Repositorys
jedem bei Github
der gesamten NPM-Softwarekette
jedem mit Commit-Zugriff auf ein beliebiges NPM-Repository, das verwendet wird
jedem, der die Kontrolle über Ihre Browser-Software hat
dem Unternehmen, das das SSL-Zertifikat und die Vertrauenskette bereitgestellt hat
Das werden mindestens ein paar tausend Leute sein?
Plugins und Theme-Komponenten finden Sie in separaten Repositorys.
Nicht alle Plugins sind Open Source (z. B. discourse-customer-flair-plugin ist meines Wissens nicht Open Source). Da haben Sie es. Sie müssen aufhören, Meta zu benutzen Nur ein Scherz natürlich. Mein Punkt ist, dass es genug Vertrauen geben kann, ohne dass alles Open Source oder Libre ist.
Nur etwas, @JacobK1, hast du die Lizenz von Discourse gelesen?
Einige Punkte, die relevant sein könnten:
Die GNU General Public
Lizenz soll Ihre Freiheit gewährleisten, freie Software zu teilen und zu ändern – um sicherzustellen, dass die Software für alle ihre Benutzer frei ist.
Sie dürfen Ihre Kopie oder Kopien des Programms oder eines Teils davon modifizieren, wodurch ein auf dem Programm basierendes Werk entsteht, und solche Modifikationen oder Werke gemäß den Bedingungen von Abschnitt 1 oben kopieren und verbreiten.
Ich hoffe, das wurde oben und im Zitat über diesem beantwortet.
Wenn ich das richtig verstehe, hängt das alles hauptsächlich mit JavaScript zusammen. Und es geht darum, was mit JavaScript in deinem Browser ausgeführt wird, der von jeder Discourse-Instanz bereitgestellt wird. Es würde auch hauptsächlich um „Vertrauen“ gehen und darum, die Fähigkeit zu haben zu wissen, welcher Code ausgeführt wird (ihn einsehen zu können). Richtig?
Das übersteigt zwar meine Kompetenzen, aber kannst du das wirklich „kontrollieren“? Es sei denn, du würdest einen Commit einreichen, der Dinge für alle ändert, glaube ich nicht, dass du hier wirklich etwas selbst „reparieren“ könntest, da das, was du als „Software“ bezeichnest, die auf deinem Computer läuft, jedes Mal vom Server an deinen Browser geliefert wird.
Selbst wenn jedes Forum seinen eigenen Open-Source-Code veröffentlicht hätte, mit allen möglichen Modifikationen, kannst du dann sicher wissen, dass dies das ist, was sie tatsächlich die ganze Zeit laufen lassen? Es ist nicht so, dass du es einmal herunterladen, überprüfen und selbst kompilieren könntest.
Was du wirklich willst, ist entweder:
Kein JavaScript (kein Glück mit Discourse, das stark darauf angewiesen ist) oder
Ein unabhängiger Open-Source-Client, der tatsächlich auf deinem Computer installiert ist. Letzterer müsste auch kein JavaScript verwenden, wenn das alles mit Discourse möglich ist, was ich nicht weiß. Dann könntest du deinen Client modifizieren und die Kontrolle darüber haben, die du suchst.
Wäre das ein faires Verständnis?
(PS: Das übersteigt zwar auch meine Kompetenzen, aber wenn ich mich richtig erinnere, ist nicht 100 % des Discourse-Codes Open-Source. Jetzt interessierst du dich wirklich nur für das, was auf deiner Seite läuft, nicht für alles auf der Serverseite.)
Because I get the vast majority of my software using apt install instead of a web browser, and I trust my software distribution (Trisquel) to only distribute free software, this isn’t usually a concern.
Just to be clear, I am not saying customizations are necessarily bad, just that they may be bad if they are nonfree, so a way to be sure you avoid running nonfree software is to disable customizations.
To be clear, I am not trying to say Discourse is nonfree. It’s only this particular distribution of Discourse (Discourse Meta) that appears to include nonfree software.
I should have mentioned in my previous post that another reason I thought this distribution would be free is that the about page for Discourse says " There is only one version of Discourse – the awesome open source version.". This is, again, technically true because the plugins are not part of Discourse, but it felt misleading to me.
Discourse might not have control over third party distributions, but I would have expected Discourse instances hosted by Discourse to be free software if they are saying what they say on the about page. I might have also expected a license and/or framework that would effectively require derivatives to be free software, which there kind of is, since Discourse is GPL, but I guess it doesn’t cover plugins.
I think charging money for software or services is fine; usually the “free” in “free software” means “libre”, as in you are free to do what you want with it (copy, modify, etc.), after you get it. It does not necessarily mean that it is “free” as in “gratis” i.e. zero cost.
Strictly speaking, yes, there is no one stopping me, but it would be illegal, which seems bad. For private use this might work out, but generally public software repos and app stores don’t want to include code illegally, and some people who I might want to use the software may be uncomfortable running illegally copied code. I’m not sure I have the right approach; maybe I should just totally ignore copyright, but that seems like not the best option when it’s feasible to avoid illegal and nonfree software.
No worries! I don’t think you’re being rude, and I don’t yet feel like we’re going in circles.
What do you mean by this? If the software is free that means I can modify it; therefore I do have control over what it does.
I don’t think free is the same as trusted; perhaps I should have said “arbitrary” instead of “untrusted”, but my point was that most browsers will execute whatever code a webpage gives them, and since I often visit websites I have never visited before, many websites I visit are “untrusted”. For these websites, I have no reason to think they will not send nonfree software.
Regarding NPM, I consider it more trusted than an arbitrary website, but maybe not as trusted as my apt or guix repos. Though, trust is not one-dimensional; although I would not trust a new package on NPM just because it is on NPM, I would trust that when I download JQuery from NPM it really is JQuery. NPM may make mistakes that allow an attacker to replace JQuery, but NPM could take measures to avoid malware that would not be as realistic for site-served JavaScript (e.g. pre-publish automated/manual review, post-publish crowd-sourced review, automated checking that minified/obfuscated scripts match source code, rules against downloading and running arbitrary code at runtime). Importantly, when malware is found on NPM, there’s a third party (NPM, as opposed to the software developer) to report it to so it can be removed. This is not the case for site-served JavaScript - the only one who can remove it is the site operator.
Does that mean the listed commit hash would be incorrect if a server administrator made modifications and didn’t also change the listed commit hash? I thought updating software would change the commit hash automatically, and I (incorrectly?) assumed the listed commit hash would be updated automatically.
Would plugin-injected JavaScript be disabled with safe_mode=no_themes,no_unofficial_plugins?
So, would the only way to avoid nonfree software while using Discourse be to package a Discourse client as a browser extension or Haketilo package or something similar?
I’m not sure what you mean by that considering my original question is about software freedom, and not trust.
I disagree that everyone you listed has to be trusted.
The server administrators would not have to be trusted if you don’t run software served by them, for example if you get the Discourse client from GitHub and package it so it can be used with that server.
In many cases, people collaborating on software might read some of each others’ commits, so I don’t have to trust all authors individually.
So that would mean the Discourse Meta client is proprietary software, right? Though, it is possible to use safe mode to disable the plugin JS.
Maybe, but that’s not very helpful if I want to avoid nonfree software.
@NateDhaliwal
I have read the license in the Discourse git repo, but (because of the CLA) it does not necessarily apply to derivatives of Discourse outside of that repo. I would like to see a notice on every Discourse distribution that says which of the distributed software is libre. It would even (IMO) fit with the spirit of the GPL: “you must show them these terms so they know their rights”.
Yes, it is possible, to run JavaScript from a browser extension or proxy, such a Haketilo or GreaseMonkey, though this can be very impractical for some software, for example if it updates very often, as would be the case for software where data is baked into the JavaScript software. Haketilo also doesn’t have support for some kinds of scripts, for example scripts with a type of “module”.
Yes, I think your understanding is correct overall. Though packaging the JavaScript as a browser extension or for Haketilo or GreaseMonkey would effectively result in an independent installed client, even though it would be using JavaScript.
Alle von CDCK oder uns gehosteten Discourse-Instanzen (ich bin Mitbegründer eines Unternehmens, das Discourse hostet) laufen mit einem oder mehreren proprietären Plugins, um bestimmte Funktionalitäten bereitzustellen, die für die Hosting-Umgebung spezifisch sind.
Ich denke, es gibt viel Verwirrung zwischen einer Distribution im guten alten Sinne (hier ist ein Github-Repo und du kannst damit machen, was du willst) und einer Distribution im moderneren Sinne (hier ist eine Website und sie sendet Javascript an deinen Browser). Außerdem gibt es Verwirrung zwischen Discourse https://github.com/discourse/discourse und Discourse und all seinen von den Website-Administratoren hinzugefügten First- und Third-Party-Plugins und Theme-Komponenten.
Es ist ein Commit-Hash, also wenn Modifikationen vorgenommen werden, nachdem er aus dem Repo gezogen wurde und bevor er committet wird, dann hast du bereits eine solche Situation. Das muss keine böswillige Handlung sein, es passiert auch, wenn Sicherheitspatches angewendet werden (was typischerweise geschieht, bevor sie in einem öffentlichen Branch committet werden). Nun, im Allgemeinen sind Sicherheitspatches nicht clientseitig, aber sie können einige aktualisierte clientseitige Codes einführen.
Ja - zumindest theoretisch. Ich bin mir nicht sicher, wie schwer es ist, das zu umgehen (absichtlich oder versehentlich).
Es wäre ein Weg, ich bin mir nicht sicher, ob es der einzige ist. Wenn du das tust, müsstest du es fast täglich aktualisieren, um Probleme zu vermeiden.
Obwohl sich dieser gesamte Thread um eine interessante juristische Diskussion dreht, scheint alles ein wenig von der Realität abgekoppelt zu sein.
Gibt es ein separates Repository mit einer Lizenz für die Plugins, die ich zuvor nicht gefunden habe, wie z. B. discourse-customer-flair-plugin? Das an den Browser ausgelieferte JavaScript hat einen Link zu einer Source Map, aber soweit ich das beurteilen kann, keine Lizenz.
Mein Verständnis von “Hosting/Infrastruktur-Code” würde clientseitiges JavaScript nicht einschließen; ist das richtig?
Ich stimme zu. Ich glaube, ich bin verwirrt darüber, wofür das Wort “Discourse” eigentlich gilt.
Ah, okay, dann gäbe es wohl keine gute Möglichkeit, das herauszufinden.
Guter Punkt, jemand könnte versuchen, eine solche Schwachstelle zu verbergen. Aber es scheint einfacher zu sein, dieses Problem durch die Prüfung von Drittanbieter-Code zu mildern, als jeder einzelnen Person zu vertrauen, die den Code jemals im Upstream geändert hat, obwohl wahrscheinlich keiner der Ansätze vollständig praktikabel wäre.
Ja, obwohl es möglich ist, dass die meisten Updates automatisch gehandhabt werden könnten.
Ich nehme an, das stimmt in diesem Fall größtenteils.
Nur zur Info, @JacobK1: Da Discourse gut gemacht ist, musst du niemanden markieren, wenn du diese Person zitierst. Das Zitat selbst erzeugt bereits eine Benachrichtigung (es diente auch dazu, Unterabschnitte zu erstellen, zugegeben )