Publier du code sur GitHub avec un appel à l'API publique

Sep 02 2020

Cette question concerne davantage la pratique conventionnelle, donc je n'inclus pas les détails sur le code ou l'environnement. Il doit être appliqué à tous les types d'appels API.

Cette question a été posée sur l'échange SE, mais elle est hors sujet, donc j'en republie une nouvelle ici comme suggéré (avec ajustement de la question). Je ne supprime pas la question sur SE pour conserver les réponses. Mon projet GitHub:https://github.com/hunghvu/dynamic-wallpaper

  1. Disons que je fais un appel à Lorem Picsum (une API d'image publique gratuite sans clé API) dans mon code. Mon intention est de mettre en œuvre la fonctionnalité qui permet d'obtenir une image à partir d'un appel d'API et de la transformer en fond d'écran.
  • Est-il légal de pousser la base de code vers le référentiel public GitHub (sans fichier exécutable)?
  • Est-il légal de créer un fichier exécutable et de le mettre dans la section Release?

Je ne trouve aucune information claire à ce sujet, car ils n'ont pas de section Q&R.

Quand je regarde d'autres API comme Placeholder ou Pexels , il semble qu'il y ait une restriction lors de la mise de l'application sur le serveur de production, ou l'application a une grande quantité de requêtes au serveur API, ce qui fait sens (taux, limite d'accès, etc. ).

Le fait est qu'une application ou un extrait de code que je souhaite publier est simplement un projet hors classe / personnel / étudiant que je réalise pendant mes temps libres. Certes, ce n'est pas la même chose que ce que font les applications commerciales (grand nombre d'appels API, etc.); Eh bien, à moins que mon référentiel ne devienne populaire et que mon application soit téléchargée / utilisée 1 million de fois, ce sera une autre histoire.

  1. Étant donné que Lorem Picsum utilise la base de données Unsplash , comment cette relation affectera-t-elle les règles? Je choisis Lorem Picsum parce qu'ils ne nécessitent pas d'autorisation, il est donc sûr de publier du code sur GitHub (ou est-ce?), Et je peux ignorer la complexité de l'application du processus d'autorisation dans le code (j'apprends l'API).

  2. Pour la question que j'ai posée aux questions 1 et 2, peuvent-elles être appliquées à toutes les API publiques, ou variera-t-elle de l'une à l'autre?

Réponses

4 MadHatter Sep 03 2020 at 18:02
  1. Pour autant que je sache, c'est légal, du moins jusqu'à ce que cela leur pose un problème. Alors ce ne sera peut-être pas le cas.

  2. Ce que Lorem Picsum fait dans le dos est leur problème, pas le vôtre. Vous utilisez leur service, c'est tout.

  3. C'est une question trop générale pour y répondre.

En ce qui concerne les meilleures pratiques, je considérerai une situation similaire: le service de pool NTP . Ils gèrent un réseau mondial de serveurs de temps bénévoles dont l'utilisation n'est pas requise; toute personne qui le souhaite peut configurer ses propres horloges pour se synchroniser à partir du pool de serveurs, sans inscription ni demande requise, ce qui ressemble beaucoup au service Lorem Picsum.

Il est assez clair que les personnes qui vendent du matériel, ou distribuent du code, qui veulent savoir quelle heure il est "ne doivent absolument pas utiliser les noms de zone par défaut pool.ntp.org comme configuration par défaut dans [leur] application ou appareil ".

Au lieu de cela, le projet a une procédure dans laquelle n'importe quel fournisseur peut demander une zone DNS de pool. Acme Corp. configure ensuite leurs FooBoxes pour obtenir l'heure [0123].acme.pool.ntp.org. Les serveurs renvoyés par la requête ne sont que des serveurs de pool ordinaires, mais comme ils sont atteints via une recherche DNS spécifique au fournisseur, si / quand les FooBox fonctionnent mal et effectuent des milliers de requêtes NTP de plus qu'elles ne le devraient, cela peut être détecté et atténué via le DNS. . Lorsque les gens contournent cette politique, soit délibérément, soit en ignorant qu'elle existe, les choses peuvent mal tourner (divulgation complète: j'ai écrit l'article lié).

Donc, en ce qui concerne vous et Lorem Picsum, je pense que la chose à faire est de leur demander ce qu'ils aimeraient que vous fassiez . Soyez prêt à ce que la réponse prenne du temps à venir: si on ne leur a pas demandé auparavant, il leur faudra peut-être du temps pour formuler la politique; en fait, il leur faudra peut-être même du temps pour décider comment formuler une politique. Préparez-vous à ce qu'ils disent non et respectez leurs souhaits s'ils le font. Ne publiez pas de code qui utilise leurs serveurs tant qu'ils ne vous ont pas donné l'autorisation claire de le faire.

Si vous permettez à cette relation de devenir contradictoire, vous risquez que votre base d'utilisateurs installée ait soudainement des liens d'images morts, lorsque Lorem Picsum trouvera comment bloquer les demandes de vos utilisateurs.