Pubblica codice su GitHub con una chiamata all'API pubblica

Sep 02 2020

Questa domanda riguarda più la pratica convenzionale, quindi non includo i dettagli sul codice o sull'ambiente. Dovrebbe essere applicato a tutti i tipi di chiamate API.

Questa domanda è stata posta sullo scambio SE, ma è fuori tema, quindi ne riposto una nuova qui come suggerito (con adattamento alla domanda). Non elimino la domanda su SE per preservare le risposte. Il mio progetto GitHub:https://github.com/hunghvu/dynamic-wallpaper

  1. Supponiamo che effettui una chiamata a Lorem Picsum (un'API di immagine pubblica gratuita senza chiave API) nel mio codice. La mia intenzione è quella di implementare la funzionalità che ottiene un'immagine da una chiamata API e la rende come sfondo.
  • È legale inviare la codebase al repository pubblico di GitHub (senza file eseguibile)?
  • È legale creare un file eseguibile e metterlo nella sezione di rilascio?

Non riesco a trovare informazioni chiare su questi, poiché non hanno una sezione Domande e risposte.

Quando guardo altre API come Placeholder o Pexels , sembra che ci sia una restrizione quando si inserisce l'applicazione sul server di produzione, o l'applicazione ha una quantità elevata di richieste al server API, il che ha senso (velocità, limite di accesso, ecc. ).

Il fatto è che un'applicazione o uno snippet di codice che voglio pubblicare sono semplicemente un progetto fuori classe / personale / studente che realizzo durante il tempo libero. Certamente, non è la stessa cosa che fanno le app commerciali (quantità elevate di chiamate API, ecc.); beh, a meno che il mio repository non diventi in qualche modo popolare e la mia applicazione venga scaricata / utilizzata 1 milione di volte, allora sarà una storia diversa.

  1. Poiché Lorem Picsum utilizza il database di Unsplash , in che modo questa relazione influenzerà le regole? Scelgo Lorem Picsum perché non richiedono l'autorizzazione, quindi è sicuro pubblicare codice su GitHub (o lo è?) E posso ignorare la complessità dell'applicazione del processo di autorizzazione nel codice (sto imparando a conoscere l'API).

  2. Per la questione che ho posto nelle domande 1 e 2, possono essere applicate a tutte le API pubbliche o variano da una all'altra?

Risposte

4 MadHatter Sep 03 2020 at 18:02
  1. Per quanto ne so, è legale, almeno finché non causa loro un problema. Allora potrebbe non esserlo.

  2. Quello che Lorem Picsum fa alle spalle è un problema loro, non tuo. Stai usando il loro servizio, tutto qui.

  3. È una domanda troppo generica a cui rispondere.

Per quanto riguarda le migliori pratiche, prenderò in considerazione una situazione simile: il servizio pool NTP . Gestiscono una rete globale volontaria di timeserver che non è richiesta alcuna autorizzazione per utilizzare; chiunque desideri può configurare i propri orologi per la sincronizzazione dal pool di server, senza registrazione o richiesta richiesta, il che sembra molto simile al servizio Lorem Picsum.

È abbastanza chiaro che le persone che vendono apparecchiature, o distribuiscono codice, che vogliono sapere che ore sono "non devono assolutamente usare i nomi di zona pool.ntp.org predefiniti come configurazione predefinita nella [loro] applicazione o appliance ".

Invece, il progetto ha una procedura in cui qualsiasi fornitore può richiedere una propria zona DNS del pool. Acme Corp. configura quindi i propri FooBox per ottenere il tempo da [0123].acme.pool.ntp.org. I server restituiti dalla query sono solo normali pool server, ma poiché vengono raggiunti tramite una ricerca DNS specifica del fornitore, se / quando i FooBox non funzionano correttamente ed eseguono migliaia di query NTP in più di quanto dovrebbero, questo può essere rilevato e mitigato attraverso il DNS . Quando le persone eludono questa politica, deliberatamente o non sapendo che esiste, le cose possono andare male (divulgazione completa: ho scritto l'articolo collegato).

Quindi, per quanto riguarda te e Lorem Picsum, penso che la cosa da fare sia chiedere loro cosa vorrebbero che tu facessi . Preparati affinché la risposta richieda del tempo: se non gli è stato chiesto prima, potrebbe volerci del tempo per formulare la politica; anzi, potrebbe anche volerci del tempo per decidere come formulare la politica. Preparati a dire di no e onora i loro desideri se lo fanno. Non rilasciare codice che utilizza i loro server fino a quando non ti hanno dato la chiara approvazione per farlo.

Se permetti a questa relazione di diventare contraddittoria, rischi che la tua base di utenti installata improvvisamente si sporga dappertutto link a immagini morte, quando Lorem Picsum scopre come bloccare le richieste dei tuoi utenti.