2014-10-06 10 views
20

Was genau ist das Verkaufen? (Wie würdest du es definieren?)Was ist "vendoring"?

Bedeutet das dasselbe in verschiedenen Programmiersprachen? Konzeptionell betrachtet man nicht die genaue Implementierung.

+1

Was ist * vendoring *, auch ungefähr? Kein Begriff, dem ich je begegnet bin. Im Moment habe ich Probleme, mein Wissen über das Wort * vendor * zu nutzen und es im Bereich der Programmiersprachen als Verb mit einem * -ing * -Partizip anzuwenden. –

+0

Ich habe festgestellt, dass es in Python, PHP und den Ruby-Welten verwendet wird. Aber es ist kein sehr bekanntes Konzept. Deshalb stelle ich die Frage :-) –

+1

Die Tatsache, dass ich es nicht so oft benutzt habe, trägt auch zu meinem unvollständigen Verständnis des Konzepts bei. –

Antwort

5

Wenn Ihre App davon abhängig ist, dass bestimmter Code von Drittanbietern verfügbar ist, können Sie eine Abhängigkeit deklarieren und Ihr Buildsystem die Abhängigkeit für Sie installieren lassen.

Wenn jedoch die Quelle des Drittanbietercodes nicht sehr stabil ist, könnten Sie diesen Code "vendor". Sie nehmen den Drittanbietercode und fügen ihn Ihrer Anwendung mehr oder weniger isoliert hinzu. Wenn Sie diese Isolation ernst nehmen, sollten Sie diesen Code intern an Ihre Organisation/Arbeitsumgebung "freigeben".

Ein weiterer Grund für das Verkaufen ist, wenn Sie bestimmten Code von Drittanbietern verwenden möchten, aber Sie es ein wenig ändern möchten (eine Gabel in anderen Worten). Sie können den Code kopieren, ändern, intern freigeben und dann Ihr Buildsystem diesen Code installieren lassen.

+2

Ich habe das jetzt schon ein paarmal gelesen, immer noch nicht sicher, ob ich verstehe was * vendoring * sein könnte. Sicherlich muss es mehr sein, als eine Abhängigkeit von einer Verzweigung eines fremden Codes herzustellen oder es würde kein komisches neues Wort für * es * geben, was auch immer * es * sein könnte. Aber bitte, schreibe deine Definition nicht auf mein Konto, ich kenne bereits genug Wörter und vermute, dass ich nicht lernen muss, was * vendoring * bedeutet, wenn überhaupt. –

+1

Ich denke, dass "eine Abhängigkeit von einer Abzweigung von einem anderen Code herzustellen" ziemlich nah an dem liegt, was ich sage, also danke dafür. Allerdings habe ich das Gefühl, dass es ein bisschen mehr ist als das, es ist auch "bauen/veröffentlichen Sie Ihre eigene Version von jemand anderem Code" für eine bestimmte Verwendung. –

+4

Ich möchte mein Verständnis der Etymologie dieses Begriffes hinzufügen: Der 'Vendor' in diesem Fall ist der Schöpfer der Software (vermutlich Sie, da wir auf Stack Overflow sind); und Sie liefern eine vom Verkäufer ausgewählte Version einer Abhängigkeit (im Gegensatz zu einer vom Benutzer ausgewählten oder eher vom Benutzer ausgewählten Version). Der Begriff ist nach meinem besten Wissen ungefähr eine sehr lange Zeit gewesen. – ELLIOTTCABLE

10

Basierend auf this answer

Defined here für Go als:

Vendoring ist der Akt der eigene Kopie der 3rd-Party-Pakete Ihr Projekt verwendet zu machen. Diese Kopien werden normalerweise innerhalb von für jedes Projekt gespeichert und dann im Projekt-Repository gespeichert.

Der Kontext dieser Antwort ist in der Go-Sprache, aber das Konzept gilt immer noch.

+1

Es ist hinzuzufügen, dass das Heranziehen das konzeptuelle Gegenteil der Verwendung eines Abhängigkeitsmanagers ist – konstin