molily: github Dateien direkt verlinken

Beitrag lesen

In letzter Zeit benutze ich oft folgendes Pattern um Bibliotheken einzubinden:

<script src="https://raw.github.com/user/project/master/build/example.min.js"></script>


>   
> Jetzt frage ich mich, ob das überhaupt legal ist, denn immerhin verursache ich Traffic bei github. … Kennt sich jemand mit der Rechtslage aus?  
  
Technisch gesehen kannst du das tun, auch wenn es mit vielen Nachteilen verbunden ist. Rechtlich darfst du das, solange Github es explizit verbietet oder sich beschwert. Github wird sich bei dir beschweren, sobald du ihnen massiv Traffic verursachst. Bis dahin wird es ihnen egal sein, da sie es nicht bemerken werden. Wenn du sie fragen würdest, würden sie dir davon abraten, höchstwahrscheinlich aus technischen Gründen.  
  

> Ähnliche Vorgehensweisen sind zum Beispiel oft bei jQuery-Einbindungen zu finden, aber bei jQuery empfiehlt man es den Nutzern ja sogar, um immer die aktuelle Version zu benutzen.  
  
Da verwechselst du etwas. jQuery wird auf CDNs gehostet und das Team rät keinesfalls dazu, jQuery aus dem Master-Branch von Github einzubinden. Sie raten auch nicht, automatisch die aktuellste Version einzubinden. Best Practice ist, eine bestimmte, sich nicht ändernde Version von einem CDN einzubinden.  
  
Diese verteilten CDNs sind dafür optimiert, statische, minifizierte JavaScript-Bibliotheken performant, komprimiert und cachebar auszuliefern. Githubs Raw-Export hingegen ist zentral und mit viel Serveraufwand verbunden. Der MIME-Typ stimmt nicht und Caching-Header gibt’s auch keine. Es macht keinen Sinn, JavaScripte so einzubinden, es sei denn, man macht aus einem bestimmten Grund Tests mit dem aktuellen HEAD des Master-Branches (z.B. um Regressions zu suchen oder Bugfixes zu verifizieren). Für den Produktiveinsatz oder auch das Entwickeln von Scripten, die bloß auf der fraglichen Bibliothek aufsetzen, ist das nicht geeignet.  
  
Mathias

-- 
[Chaplin - An Application Architecture Using Backbone.js](https://github.com/chaplinjs/chaplin)