Kann ich dies zu Recht als mein eigenes Projekt beanspruchen, wenn ich online Hilfe erhalten habe? [geschlossen]

9

Grundsätzlich bin ich neu in der Netzwerkprogrammierung in Python, daher habe ich ein Online-Tutorial besucht, um mehr darüber zu erfahren. Unter Verwendung der im Lernprogramm gelehrten Informationen (Erstellen eines Sockets, Herstellen einer Verbindung zu Ports usw.) habe ich den Code so geändert, dass ein Programm erstellt wurde, in dem zwei Computer Nachrichten aneinander senden können.

Wenn ich mich für eine Stelle bewerben und dies meinen Interviewern zeigen würde, wäre der Code dafür technisch meiner? Es ist fair zu sagen, dass ich den Code nicht so stark verändert habe; Was wäre, wenn ich es zum Beispiel in ein Tic-Tac-Toe-Spiel umwandeln würde, in dem zwei Benutzer von verschiedenen PCs aus gegeneinander spielen? Wäre der Code dann mein Code? Ich möchte einfach nicht wie ein Plagiat aussehen, deshalb frage ich.

Brad Guy
quelle
9
Robert hat recht, aber nur um klar zu sein: Das ist kein Negativ. "Ich habe mit einem Code aus einem beginnenden Python-Tutorial begonnen und daraus diesen gemacht!" ... aus beruflicher Sicht kann dies als genauso gut oder besser angesehen werden, als wenn Sie von vorne anfangen würden. Wenn Sie mit Code von jemand anderem begonnen haben, bedeutet dies, dass Sie den Code anderer lesen können, zusätzlich zum Erweitern, Umgestalten, Umgestalten usw. Etwas Eigenes zu haben, ist für die meisten Jobs nicht der große Fokus - und wenn Sie kann ihnen zeigen, womit du angefangen hast und was du daraus gemacht hast, noch besser!
BrianH
Wie viel Code haben Sie addiert oder subtrahiert? Wenn Sie mit 100 Codezeilen aus dem Tutorial begonnen haben und 110 Zeilen haben - wahrscheinlich nicht. Wenn Sie 1000 Zeilen haben, gehört es Ihnen, aber sprechen Sie darüber, wie Sie sie erhalten haben, und erwähnen Sie, woher Sie Hilfe haben. (Ja, ich weiß, dass Codezeilen keine gute Metrik sind, aber sie können eine Idee geben).
1
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da es sich um eine ethische Frage handelt, die für Programmierer nicht zum Thema gehört.
Durron597

Antworten:

11

Nein.

Sie können jedoch behaupten, dass Sie den Code so geändert haben, dass Sie ein Programm erstellt haben, in dem zwei Computer Nachrichten aneinander senden können. Oder Sie können behaupten, dass Sie es in ein Tic-Tac-Toe-Spiel geändert haben, in dem zwei Benutzer von verschiedenen PCs aus gegeneinander spielen.

Stellen Sie einfach wahrheitsgemäß die Menge an Arbeit dar, die Sie in sie gesteckt haben. Sie können nicht den Besitz eines Projekts im Internet beanspruchen, wenn andere einen Teil der Arbeit geleistet haben.

Robert Harvey
quelle
1

Ich würde mit der klassischen Linie "es kommt darauf an" gehen .

Da Sie bereits sagen, dass Sie nicht viel geändert haben, bin ich voll auf Roberts Seite. Es ist nicht dein Projekt.

Aber auf der anderen Seite: Wir Entwickler diskutieren, recherchieren und kopieren manchmal gerne für unsere Projekte. Es ist ziemlich üblich, mit dem Code anderer Leute herumzuspielen. Wenn Sie es häufig ändern, einige Anstrengungen unternehmen, neue Funktionen oder einen anderen Ansatz für das Problem bereitstellen, ist es Ihr Code.

Halten Sie sich einfach an die Wahrheit über die Menge an Arbeit, die Sie wirklich selbst geleistet haben, und ich bin sicher, niemand wird Sie als Plagiat bezeichnen.

mhr
quelle
1

Wenn Sie den Code einer Person geändert hätten, um etwas zu tun, das Sie wollten, wäre es unehrlich zu behaupten, Ihr Code sei "Ihr". Es handelt sich vielmehr um ein Programm, das Sie basierend auf vorhandenem Code erstellt haben.

Jetzt haben Sie vielleicht bemerkt, dass viele Programmierer den Code anderer Leute verwenden. Die ganze Zeit. Bibliotheken und APIs sind im Wesentlichen eine formalisierte Methode zur Verwendung von Code, den jemand in Ihrem eigenen Projekt erstellt hat. Das, was Sie getan haben, war zwar nicht dasselbe wie die Verwendung einer Bibliothek oder API, hat jedoch den gleichen Effekt.

Im Fall des einfachen P2P-Programms können Sie behaupten, dass Sie eine Messaging-Anwendung geschrieben haben, die die Implementierung einfacher Webprotokolle durch einen anderen Programmierer verwendet. Sie können weitermachen und es Ihr Programm nennen. Sie sollten nur demjenigen die Ehre erweisen, der die geliehenen Teile geschrieben hat. Und es ist am besten, dem Code unter Angabe der Quelle Kommentare hinzuzufügen, damit andere ihn bei Bedarf finden können.

Und im Fall des Spiels haben Sie ein Spiel geschrieben. Sie können dies als Ihren Code beanspruchen. Dieses Spiel verwendet dann eine Reihe von Funktionen, die Sie von einer anderen Quelle erhalten haben, um Multiplayer-Funktionen zu aktivieren. Auch hier sollten Sie die Quelle dieses Codes wahrscheinlich zumindest in Kommentaren in Ihrem Code veröffentlichen. In dieser Situation können Sie jedoch wahrscheinlich davonkommen, dies anderen außerhalb des Codes nicht explizit mitzuteilen, da Sie das Spiel wirklich geschrieben haben.

Viele Entwickler verlassen sich auf Bibliotheken, um einige der komplexeren Probleme zu lösen, mit denen sie konfrontiert sind. Dinge wie Netzwerkprotokolle, Grafiken und fortgeschrittene Mathematik werden von vielen Menschen verwendet, daher gibt es Bibliotheken, die all diese Dinge gut variieren. Die Verwendung dieser Art von Code ist nicht nur völlig akzeptabel, sondern auch normal.

Wenn Sie "Dies ist ein IM-Client" oder "Dies ist ein Videospiel" sagen, wird sich niemand wundern, wenn der Netzwerkcode von einem Drittanbieter stammt. Behaupten Sie nur nicht, dass Sie der alleinige Autor aller Teile des Codes sind, und es sollte Ihnen gut gehen.

Sie sollten jedoch eine andere Möglichkeit prüfen: Ist der betreffende Code durch Nutzungsbedingungen geschützt? Bis jetzt habe ich über Code gesprochen, der entweder ohne oder mit sehr offenen Begriffen zur Verfügung gestellt wird. Wenn der Autor jedoch spezifischere Begriffe hat, befolgen Sie diese . Wenn sie nur beabsichtigten, den Code für Bildungszwecke zu verwenden, ist es nicht in Ordnung, ihn in einer darüber hinausgehenden Funktion zu verwenden. Es gibt alle möglichen Einschränkungen für diesen Code. Seien Sie also vorsichtig, wie Sie ihn verwenden.

zeel
quelle
Dies ist bis auf den letzten Absatz völlig nebensächlich. Die Wiederverwendung von Code über Bibliotheken unterscheidet sich (ethisch und rechtlich) erheblich von der Wiederverwendung von Code über Copy & Paste.
Amon
Nicht wirklich, da der Compiler im Wesentlichen sowieso nur kopiert / einfügt. Es gibt keinen wirklichen Unterschied, am Ende sind es nur Sequenzen von Prozessorbefehlen. Soweit es "ethisch und rechtlich" betrifft, geht es in meinem letzten Absatz darum. Solange der ursprüngliche Ersteller mit der Verwendung des Codes einverstanden ist, entspricht dies im Wesentlichen der Verwendung einer Bibliothek.
Zeel