Чи можу я справедливо заявити це як власний проект, якщо отримав допомогу в Інтернеті? [зачинено]


9

В основному я новачок у мережевому програмуванні в Python, тому я пішов підручник в Інтернеті, щоб дізнатися про це. Використовуючи те, що було навчено в підручнику (створення сокета, підключення до портів тощо), я змінив код, щоб створив програму, де два комп’ютери можуть надсилати повідомлення один одному.

Якби я подав заявку на роботу і показав це своїм інтерв'юерам, чи був би код для неї технічно моїм? Справедливо сказати, що я настільки не змінив код; Однак, що, якби, наприклад, я змінив це на щось на зразок гри «tic-tac-toe», де два користувачі грають один з одним на різних комп'ютерах, тоді код буде моїм? Я просто не хочу виглядати як плагіат, тому я запитую.


9
Роберт має рацію, але просто для того, щоб зрозуміти: це не негатив. "Я почав з деякого коду з початкового підручника Python, і перетворив його на це!" ... з точки зору роботи це можна вважати настільки ж хорошим чи кращим, ніж якби ви починали з нуля. Якщо ви почали з коду від когось іншого, це означає, що ви можете читати код інших, на додаток до розширення, рефакторингу, переназначення і т. Д. Наявність чогось "свого" - це для більшості робочих місць не велика увага - і якщо ви може показати їм, з чого ви почали, і що ви зробили з цього, ще краще!
BrianH

Скільки коду ви додали чи віднімали? Якщо ви розпочали зі 100 рядків коду з підручника, і маєте 110 рядків - напевно, ні. Якщо у вас є 1000 рядків, так, це ваше, але поговоріть про те, як ви їх отримали, і вкажіть, де ви отримали допомогу. (Так, я знаю, що рядки коду не є великою метрикою, але це може дати уявлення).

1
Я голосую, щоб закрити це питання поза темою, оскільки мова йде про етичне питання, яке є поза темою для програмістів.
durron597

Відповіді:


11

Ні.

Але ви можете стверджувати, що ви змінили код, щоб ви створили програму, де два комп’ютери можуть надсилати повідомлення один одному. Або ви можете стверджувати, що ви змінили його на щось на зразок гри «тик-так-носок», де двоє користувачів грають один з одним на різних ПК.

Просто правдиво представляйте обсяг роботи, яку ви вкладаєте в неї. Ви не можете претендувати на право власності на якийсь проект в Інтернеті, якщо інші виконували частину роботи.


1

Я б пішов з класичним рядком "це залежить" .

Як ви вже говорили, що ви не дуже змінили його, я повністю на стороні Робертса. Це не ваш проект.

Але з іншого боку: Ми всі розробники любимо обговорювати, досліджувати та інколи копіювати вставки для наших проектів. Спілкування з кодом інших народів досить поширене. Якщо ви її багато модифікуєте, докладете певних зусиль, надаючи нові функції або інший підхід до проблеми, то це ваш код.

Просто дотримуйтесь правди про кількість роботи, яку ви справді зробили самі, і я впевнений, що ніхто не назве вас плагіатором.


1

Якщо ви зробили щось, щоб змінити чийсь код, щоб зробити щось, що ви хотіли, тоді було б нечесно стверджувати, що код ви "ваш". Скоріше, це програма, яку ви створили на основі існуючого коду.

Тепер ви, можливо, помітили, що багато програмістів використовують код інших народів. Весь час. Бібліотеки та API - це, по суті, формалізований спосіб використання коду, який створив хтось у вашому власному проекті. Хоча те, що ви робили, було не таким, як використання бібліотеки чи API, воно має той же ефект.

У випадку простої програми P2P ви можете стверджувати, що ви написали додаток для обміну повідомленнями, яке використовує іншу програмістів реалізацію простих веб-протоколів. Ви можете піти вперед і називати це своєю програмою, ви просто повинні дати кредит тому, хто написав позичені частини. І було б найкраще додати коментарі до коду із посиланням на джерело, щоб інші могли знайти його за потреби.

А у випадку гри ви написали гру. Ви можете заявити це як свій код. Потім ця гра використовує набір функцій, які ви отримали з іншого джерела, щоб увімкнути багатокористувацьку функціональність. Знову ж таки, ви, ймовірно, повинні розмістити джерело цього коду хоча б у коментарях до свого коду. Однак у цій ситуації ви, ймовірно, можете уникнути, не прямо розповідаючи про це іншим за межами коду, як ви справді писали гру.

Багато розробників покладаються на бібліотеки для вирішення деяких складніших проблем, з якими вони стикаються. Такі речі, як мережеві протоколи, графіка та розширена математика, використовуються багатьма людьми, тому існують бібліотеки, які всі ці речі добре відрізняються. Використання цього виду коду є не тільки цілком прийнятним, але й нормальним.

Якщо ви скажете «це клієнт чату» або «це відеоігра», ніхто не здивується, якщо код мережі від третьої сторони. Просто не заявляйте, що ви є єдиним автором всіх частин коду, і вам слід добре.

Однак слід розглянути іншу можливість: чи захищений даний код будь-якими умовами використання? До цього моменту я говорив про код, який стає доступним або без термінів, або з дуже відкритими умовами. Однак якщо автор має якісь більш конкретні умови, дотримуйтесь їх . Якщо вони призначені лише для коду o для освітніх цілей, ніж використовувати його в будь-якій якості поза цією, це не добре. Існує різного роду обмежень, які вони можуть містити в цьому коді, тому будьте уважні, як ви його використовуєте.


Це зовсім крім пункту, за винятком останнього абзацу. Повторне використання коду через бібліотеки сильно відрізняється (етично та юридично) від повторного використання коду за допомогою копіювання та вставки.
амон

Не насправді, оскільки по суті компілятор все-таки просто копіює / вставляє. Немає реальної різниці, врешті-решт, це лише послідовності команд процесора. Що стосується "етично та юридично", то це саме мій останній абзац. Поки оригінальний творець добре з вашим використанням коду, він по суті такий же, як і використання бібліотеки.
зель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.