Veröffentlichen Sie Code auf GitHub mit einem Aufruf der öffentlichen API

Sep 02 2020

Diese Frage bezieht sich eher auf die konventionelle Praxis, daher füge ich keine Details zu Code oder Umgebung hinzu. Es sollte auf alle Arten von API-Aufrufen angewendet werden.

Diese Frage wurde beim SE-Austausch gestellt, ist aber nicht thematisch, daher poste ich hier wie vorgeschlagen eine neue (mit Anpassung an die Frage). Ich lösche die Frage auf SE nicht, um die Antworten zu erhalten. Mein GitHub-Projekt:https://github.com/hunghvu/dynamic-wallpaper

  1. Angenommen , ich rufe Lorem Picsum (eine öffentliche kostenlose Bild-API ohne API-Schlüssel) in meinem Code an. Meine Absicht ist es, die Funktion zu implementieren, mit der ein Bild von einem API-Aufruf abgerufen und als Hintergrundbild erstellt wird.
  • Ist es legal, die Codebasis in das öffentliche GitHub-Repository zu verschieben (ohne ausführbare Datei)?
  • Ist es legal, eine ausführbare Datei zu erstellen und in den Release-Bereich zu stellen?

Ich kann keine klaren Informationen zu diesen finden, da sie keinen Abschnitt mit Fragen und Antworten haben.

Wenn ich mir andere APIs wie Platzhalter oder Pexel anschaue , scheint es eine Einschränkung zu geben, wenn die Anwendung auf den Produktionsserver gestellt wird, oder die Anwendung hat eine große Anzahl von Anforderungen an den API-Server, die Sinn machen (Rate, Zugriffsbeschränkung usw.) ).

Die Sache ist, dass eine Anwendung oder ein Code-Snippet, die ich veröffentlichen möchte, einfach ein außerschulisches / persönliches / studentisches Projekt ist, das ich in meiner Freizeit mache. Sicherlich ist es nicht dasselbe wie das, was kommerzielle Apps tun (hohe Anzahl von API-Aufrufen usw.). Nun, wenn mein Repository nicht irgendwie populär wird und meine Anwendung 1 Million Mal heruntergeladen / verwendet wird, wird es eine andere Geschichte sein.

  1. Wie wirkt sich diese Beziehung auf die Regeln aus, da Lorem Picsum die Datenbank von Unsplash verwendet ? Ich habe mich für Lorem Picsum entschieden, weil keine Autorisierung erforderlich ist. Daher ist es sicher, Code auf GitHub zu veröffentlichen (oder?), Und ich kann die Komplexität der Anwendung des Autorisierungsprozesses auf den Code ignorieren (ich lerne etwas über API).

  2. Können die für Frage 1 und 2 gestellten Fragen auf alle öffentlichen APIs angewendet werden oder variieren sie von einer zur anderen?

Antworten

4 MadHatter Sep 03 2020 at 18:02
  1. Soweit ich das beurteilen kann, ist es legal, zumindest bis es ihnen ein Problem bereitet. Dann könnte es nicht sein.

  2. Was Lorem Picsum auf der Rückseite tut, ist ihr Problem, nicht deins. Sie nutzen ihren Service, ist alles.

  3. Das ist eine zu allgemeine Frage, um sie zu beantworten.

Als Best Practice werde ich eine ähnliche Situation betrachten: den NTP-Pool-Service . Sie betreiben ein freiwilliges globales Netzwerk von Zeitservern, für deren Verwendung keine Erlaubnis erforderlich ist. Jeder, der möchte, kann seine eigenen Uhren so konfigurieren, dass sie aus dem Serverpool synchronisiert werden, ohne dass eine Registrierung oder Anforderung erforderlich ist. Dies ähnelt dem Lorem Picsum-Dienst.

Sie sind sich ziemlich sicher , dass Leute, die Geräte verkaufen oder Code verteilen, die wissen möchten, wie spät es ist, " die Standardzonennamen pool.ntp.org absolut nicht als Standardkonfiguration in [ihrer] Anwendung oder Appliance verwenden dürfen ".

Stattdessen verfügt das Projekt über ein Verfahren, bei dem jeder Anbieter eine eigene Pool-DNS-Zone beantragen kann. Die Acme Corp. konfiguriert dann ihre FooBoxen so, dass sie Zeit abrufen [0123].acme.pool.ntp.org. Die von der Abfrage zurückgegebenen Server sind nur normale Poolserver. Da sie jedoch über eine herstellerspezifische DNS-Suche erreicht werden und FooBoxes fehlerhaft funktionieren und Tausende mehr NTP-Abfragen ausführen als sie sollten, kann dies über den DNS erkannt und gemindert werden . Wenn Leute diese Richtlinie absichtlich umgehen oder wenn sie nicht wissen, dass sie existiert, können Dinge schlecht laufen (vollständige Offenlegung: Ich habe den verlinkten Artikel geschrieben).

In Bezug auf Sie und Lorem Picsum denke ich, dass Sie sie fragen müssen, was sie von Ihnen erwarten . Seien Sie darauf vorbereitet, dass die Antwort einige Zeit in Anspruch nimmt: Wenn sie noch nicht gefragt wurden, kann es einige Zeit dauern, bis sie eine Richtlinie formuliert haben. In der Tat kann es sogar einige Zeit dauern, bis sie entscheiden, wie sie eine Politik formulieren. Seien Sie darauf vorbereitet, dass sie Nein sagen , und erfüllen Sie ihre Wünsche, wenn sie dies tun. Geben Sie keinen Code frei, der ihre Server verwendet, bevor Sie keine eindeutige Genehmigung dazu erhalten haben.

Wenn Sie zulassen, dass diese Beziehung kontrovers wird, riskieren Sie, dass in Ihrer installierten Benutzerbasis plötzlich tote Bildverknüpfungen auftauchen, wenn Lorem Picsum herausfindet, wie Sie die Anforderungen Ihrer Benutzer blockieren können.