Southerngraceoutfitters.com

  

Beste Artikel:

  
Main / So schützen Sie den Quellcode vor Auftragnehmern

So schützen Sie den Quellcode vor Auftragnehmern

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie, Datenschutzrichtlinie und unsere Nutzungsbedingungen gelesen und verstanden haben. Mein Unternehmen wird einen externen Entwickler einstellen, um einige neue Module zu erstellen und einige Fehler in unserer PHP-Software zu beheben. Wir haben noch nie zuvor einen externen Entwickler eingestellt. Wie können wir den Quellcode schützen? Es ist uns unangenehm, Quellcode herauszugeben, und wir dachten, dass alles unter einem überwachungsfähigen VPN verbleibt, bei dem sich ein externer Entwickler anmelden würde.

Hat jemand ein ähnliches Setup? Edit 2: NDA ist nur eine Formalität. Bearbeiten 3: Lassen Sie mich klarstellen, dass wir uns keine Sorgen darüber machen, dass der Entwickler einen Algorithmus oder eine Lösung aus dem Code kopiert. Code kommt aus seinem Gehirn, also ist er natürlich der Schöpfer und er kann das wieder erschaffen. Unser Code wurde jedoch über mehrere Jahre hinweg mit Dutzenden von Entwicklern erstellt, die daran arbeiten. Nehmen wir an, ich stelle versehentlich einen inkompetenten Programmierer ein, der unsere jahrelange Arbeit stiehlt und sie dann an den Konkurrenten verkauft.

Das kann dazu führen, dass wir unsere Schneide verlieren. Ich weiß, dass dies selten ist, aber eine solche Bedrohung muss berücksichtigt werden, wenn Sie im Geschäft sind. Ich werde auf meine Kommentare hinweisen, damit jeder leicht kommunizieren kann:

Warum saugt NDA? Nehmen wir dieses Szenario, wenn jemand in der Lage ist, eine Lösung für dieses Szenario vorzuschlagen, werde ich die NDA als effektiv betrachten. Ok, hier ist es: Wir stellen 2 externe Entwickler ein, von denen einer unseren Code nach einem Jahr so ​​verkauft, wie er ist.

Sie haben keinen Kontakt mehr mit einem der Entwickler. Wie sollen Sie herausfinden, wer Sie verarscht hat? NDA bietet einen Zweck, aber darauf können Sie sich nicht vollständig verlassen.

Zumindest können wir nicht. Ich wollte niemanden beleidigen, während ich diese Frage stellte, obwohl ich es ungewollt tat. Es geht nicht um Sie, es geht um die Frage, wie machbar eine bestimmte technische Lösung wäre. Und wenn jemand in dieser Community in einem solchen Umfeld gearbeitet hat. In Bezug auf "Vertrauen" werden wir natürlich niemanden einstellen, dem wir nicht vertrauen.

Aber ist es das? Kann jemand nicht zuerst betrügerisch sein? Wir alle haben vielen Politikern vertraut, um unser Land zu regieren. Haben sie uns nie im Stich gelassen? Ich sage also, "Vertrauen" ist eine völlig andere Schutzschicht wie NDA, und meine Frage war nicht darauf gerichtet. Meine Frage richtet sich eher auf technische Maßnahmen, die wir ergreifen können, um so etwas zu vermeiden. Wir suchen nach langen Antworten, die Erklärungen und Zusammenhänge liefern.

Geben Sie nicht nur eine einzeilige Antwort. Erklären Sie, warum Ihre Antwort richtig ist, idealerweise mit Zitaten. Antworten, die keine Erklärungen enthalten, werden möglicherweise entfernt. Diese Frage wurde bereits gestellt und hat bereits eine Antwort. Wenn diese Antworten Ihre Frage nicht vollständig beantworten, stellen Sie bitte eine neue Frage. Abgesehen davon sollten Sie, je nachdem, was Sie unter "schützen" verstehen, den richtigen Vertrag mit ihm haben, einschließlich NDA.

Noch ein Hinweis: Warum sollten Sie überhaupt einen externen Entwickler einstellen, wenn Sie ihm nicht vertrauen wollen? Nachdem Sie klargestellt haben, dass Sie mit "schützen" "nicht zulassen, dass der vertrauliche Code abgerufen wird" meinen, bleiben meine obigen Punkte zu NDAs und Vertrauen unverändert. Wenn es um die Quellcodeverwaltung geht, wenn Sie mehrere Repositorys haben, in denen Sie unterschiedliche Ebenen der Code-Boilerplate haben - nicht sensibel, Infrastruktur - nicht sensibel, Geschäftslogik - sehr sensibel usw. ...

Dies hängt natürlich davon ab, ob Sie auf diese Weise trennen können und noch eine funktionierende Anwendung haben, damit dies funktioniert. Bei einigen Repositorys müssen möglicherweise binäre Abhängigkeiten eingecheckt werden. Hierbei handelt es sich um Kompilierungsartefakte aus den vertraulichen Repositorys. Die Machbarkeit hängt davon ab, woran der Entwickler arbeiten soll. Im Wesentlichen geht es mir darum, dass Sie, wenn Sie eine vertrauliche Codebasis schützen möchten, nur Personen, denen Sie vertrauen, Zugriff auf die vertraulichen Teile gewähren sollten.

Du gehst wählen. Aber meiner Meinung nach sollten Sie nicht erwarten, dass Menschen, die Sie offen als potenzielle Kriminelle behandeln, Sie als Reaktion fair behandeln. Also hier ist eine verrückte Idee: Wenn Sie den Menschen das Gefühl geben, in einer zufriedenstellenden, produktiven und lukrativen Geschäftsbeziehung zu sein, bleiben sie bei Ihnen.

Und genau das gilt auch für Auftragnehmer und Mitarbeiter. Nichts kann Ihre Mitarbeiter davon abhalten, den Quellcode zu verlassen und mitzunehmen, außer einem Anreiz zu bleiben.

Machen Sie Ihre Arbeit also angenehm und es lohnt sich, daran zu arbeiten, anstatt Ressourcen für verrückte Kontrolle zu verschwenden. Professionelle Entwickler nehmen solche Dinge ernst. Sie sind sich der Bedeutung des Codes und der Konsequenzen des Diebstahls von Teilen bewusst. Wenn sie erwischt werden, beeinträchtigt dies ihren Ruf als Fachmann und kann ihren Lebensunterhalt auf sinnvolle Weise beeinträchtigen.

Andere haben eine NDA vorgeschlagen, und obwohl dies kein technologisches Mittel zum "Schutz des Codes" ist, ist es oft alles, was benötigt wird. Funktionell gibt es keinen Unterschied zwischen internen und externen Programmierern. Sie müssen allen ein gewisses Maß an Vertrauen abtreten.

Sie sollten niemals ausgelagerten Unternehmen erlauben, oder ich würde argumentieren, dass temporäre Auftragnehmer Zugriff auf Code haben, der hochgradig proprietär, äußerst sensibel oder Code ist, der wertvolle Algorithmen oder andere Geschäftsgeheimnisse enthält. Selbst wenn sie eine NDA oder ein Wettbewerbsverbot unterzeichnen, ist dies wahrscheinlich nutzlos, da sie sich normalerweise nicht vor Gericht behaupten. Diese verrückte Orgie des Offshoring aller möglichen Entwicklungen ist eine Pocken für die Branche und eine Strategie, die sich selbst besiegt. Offshoring oder Outsourcing ist bei geringfügigen, langwierigen oder gut gelösten und verstandenen Entwicklungsproblemen sinnvoll.

Es war nie dazu gedacht, Geld für die einzigartige Arbeit und Brot und Butter zu sparen. Wenn Sie Ihrem Unternehmen den proprietärsten und branchenspezifischsten Code zur Verfügung stellen, den die Welt sehen kann, laden Sie zukünftige Wettbewerber buchstäblich ein, sich zu erheben und Sie herauszufordern.

Wenn dies gesagt ist, führen Sie eine genaue Bewertung Ihrer Codebasis durch und entscheiden Sie, welchen Code sie nicht sehen sollen, und sehen Sie, wie einfach es wäre, ihren Zugriff darauf durch Quellcodeverwaltung einzuschränken.

Wenn Ihr Code nicht störend oder besorgniserregend ist, hat die Anwendung wahrscheinlich nur einen sehr geringen Wert, den Sie stehlen können. Viele Unternehmen denken gerne, dass ihre Codebasis speziell und hochgradig proprietär ist, obwohl es sich in Wirklichkeit nur um eine einfache CRUD-App handelt.

In diesem Fall geht es Ihnen möglicherweise mehr darum, alle Ihre Geschäftsanforderungen und möglicherweise Ihr Datenmodell offenzulegen, in dem das meiste Geschäftswissen gespeichert wird. Dies kann gemindert werden, indem man sich darauf konzentriert, ihnen Zugriff auf Präsentationscode zu gewähren und den Zugriff auf Datenzugriffscode einzuschränken.

Schließen Sie mit dem externen Entwickler einen Vertrag ab, wonach er den Quellcode nicht an Außenstehende weitergeben oder nach Beendigung seiner Einstellung behalten darf. Wenn er gegen den Vertrag verstößt, handelt es sich um einen Rechtsstreit. Sie können den Quellcode jedoch nicht vor den Augen der Entwickler schützen! Sofern es sich nicht um einen supergeheimen Start handelt, der das Spiel verändert, ist der Quellcode für Dritte im Wesentlichen wertlos.

Mein Rat ist, eine NDA zu verlangen und bereit zu sein, diese in dem äußerst unwahrscheinlichen Fall, dass Ihre IP ohne Ihre Erlaubnis irgendwie verwendet wird, mit Rechtsstreitigkeiten zu verteidigen. Es ist höchst unwahrscheinlich, dass jemand außer Ihnen und Ihrem Unternehmen dem Quellcode einen Wert beimisst.

Wenn Sie Ihre PHP auf einer öffentlichen Website veröffentlichen, kann jeder kompetente Entwickler Ihren Algorithmus in Tagen oder Wochen zurückentwickeln, es sei denn, Ihre Kodierungs-DNA oder etwas an sich Komplexes. Warum stellt ein externer Mitarbeiter ein höheres Risiko dar als ein Mitarbeiter, der Büroreiniger oder eine andere Person, die auf den Code zugreifen kann?

Wenn der Code wirklich wertvoll ist, bietet Ihnen ein freiberuflicher Standardvertrag den erforderlichen Rechtsschutz. Der beste Weg, um sicherzustellen, dass Sie einen armen Entwickler bekommen, besteht darin, ihn wie einen Verbrecher zu behandeln, wobei jede seiner Bewegungen durch ein Überwachungssystem überwacht wird. Niemand, der kompetent ist, würde das auch nur ein paar Sekunden lang ertragen. Warum geben Sie dem Auftragnehmer nicht einen Firmen-Laptop, der nur eine Verbindung zu Ihrem VPN herstellen kann? Sie können sensible Teile Ihres Projekts mit Blackboxen versehen und vom Rest trennen.

Geben Sie eine einfache, gut dokumentierte Oberfläche für die Interaktion mit diesen Modulen, ohne zu offenbaren, was im Inneren vor sich geht. Auf diese Weise können angestellte Programmierer problemlos an Ihrem Projekt arbeiten, ohne zu sehen, was sie nicht sehen müssen, während sie weiterhin das verwenden können, was sie benötigen. Wie schützt Ihr Unternehmen den Quellcode vor Ihnen und Ihren Mitentwicklern?

Was hindert Sie und Ihre Mitarbeiter daran, den wertvollen Quellcode zu stehlen und an den Konkurrenten zu verkaufen? Microsot hat seinen Code geschützt. Hat jemand eine Idee, wie? Ich habe viele juristische Bücher gelesen, die es unmöglich machen, festzustellen, ob der Code zu einer bestimmten Organisation gehört. Wenn Sie wirklich so nervös sind, einem externen Entwickler Zugriff auf Ihren Quellcode zu gewähren, stellen Sie ihn einfach ein, um die neuen Module zu erstellen und die vorhandenen Fehler selbst zu beheben.

Home Fragen Tags Benutzer unbeantwortet. Wie schütze ich den Quellcode vor Remote-Entwicklern? Diese Frage hat hier bereits eine Antwort: DukeBrymin 3 1 1 Bronze-Abzeichen.

Rajat Rajat 128 1 1 Goldabzeichen 1 1 Silberabzeichen 5 5 Bronzeabzeichen. Ich kann mir nicht wirklich vorstellen, wie "hier sind die Fehler, die wir haben, sie beheben, ohne sie zu berühren oder gar anzusehen! Wie ist es wichtig, wo der Code tatsächlich physisch gespeichert ist?

Wenn sie den Code auf irgendeine Weise sehen können, können sie den Code kopieren - selbst wenn sie beim Scrollen durch die Codebasis alle Low-Tech-Funktionen nutzen und ihren Bildschirm auf Video aufnehmen mussten, oder sogar einen Blick darauf werfen, eine Zeile auswendig lernen und erneut eingeben Wiederholen Sie dies für jede Zeile in einer anderen Maschine.

Stellen Sie keinen externen Entwickler ein. Dann wird Ihr Code geschützt. Sollte ich erwähnen, dass ich niemals, niemals, niemals jemanden mit Ihrem Verhalten und Ihrem Geisteszustand als externer Entwickler arbeiten würde?

(с) 2019 southgraceoutfitters.com