Bisakah saya mengklaim ini sebagai proyek saya sendiri jika saya menerima bantuan online? [Tutup]

9

Pada dasarnya saya baru mengenal pemrograman jaringan di Python, jadi saya melanjutkan tutorial online untuk mengetahuinya. Menggunakan apa yang diajarkan dalam tutorial (membuat soket, menghubungkan ke port, dll), saya memodifikasi kode sehingga saya membuat program di mana dua komputer dapat mengirim pesan satu sama lain.

Jika saya melamar pekerjaan dan menunjukkan ini kepada pewawancara saya, apakah kode untuk itu secara teknis akan menjadi milik saya? Adalah adil untuk mengatakan bahwa saya tidak memodifikasi kode sebanyak itu; Namun, bagaimana jika misalnya saya memodifikasinya menjadi sesuatu seperti permainan tic-tac-toe, di mana dua pengguna saling bermain dari PC yang berbeda, akankah kodenya menjadi milik saya? Aku hanya tidak ingin terlihat seperti seorang penjiplak, oleh karena itu aku bertanya.

Brad Guy
sumber
9
Robert benar, tetapi hanya untuk memperjelas: ini bukan negatif. "Saya mulai dengan beberapa kode dari tutorial Python awal, dan mengubahnya menjadi ini!" ... dari perspektif pekerjaan ini dapat dilihat sebagai baik atau lebih baik daripada jika Anda mulai dari awal. Jika Anda mulai dengan kode dari orang lain itu berarti Anda dapat membaca kode orang lain, selain memperluas, refactoring, re-bertujuan, dll. Memiliki sesuatu dari "milik Anda" adalah, untuk sebagian besar pekerjaan, bukan fokus besar - dan jika Anda dapat menunjukkan kepada mereka apa yang Anda mulai dan apa yang Anda buat darinya, bahkan lebih baik!
BrianH
Berapa banyak kode yang Anda tambahkan atau kurangi? Jika Anda mulai dengan 100 baris kode dari tutorial, dan memiliki 110 baris - mungkin tidak. Jika Anda memiliki 1000 baris, ya, itu milik Anda tetapi bicaralah tentang bagaimana Anda mendapatkannya, dan sebutkan di mana Anda mendapat bantuan. (Ya, saya tahu baris kode bukan metrik yang bagus, tetapi bisa memberikan ide).
1
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena ini tentang pertanyaan etis yang di luar topik untuk programmer.
durron597

Jawaban:

11

Tidak.

Tetapi Anda dapat mengklaim bahwa Anda memodifikasi kode sehingga Anda membuat program di mana dua komputer dapat saling mengirim pesan. Atau Anda dapat mengklaim bahwa Anda memodifikasinya menjadi sesuatu seperti permainan tic-tac-toe, di mana dua pengguna saling bermain dari PC yang berbeda.

Hanya dengan jujur ​​mewakili jumlah pekerjaan yang Anda masukkan ke dalamnya. Anda tidak dapat mengklaim kepemilikan beberapa proyek di Internet jika orang lain melakukan bagian dari pekerjaan itu.

Robert Harvey
sumber
1

Saya akan pergi dengan garis klasik "itu tergantung" .

Seperti yang sudah Anda katakan bahwa Anda tidak banyak memodifikasinya, saya sepenuhnya di sisi Roberts. Itu bukan proyekmu.

Tetapi di sisi lain: Kami semua pengembang suka berdiskusi, meneliti, dan kadang-kadang menyalin-menempel proyek kami. Bermain-main dengan kode orang lain sangat umum. Jika Anda banyak memodifikasinya, berikan upaya, menyediakan fitur baru atau pendekatan berbeda pada masalahnya, maka itu kode Anda.

Tetap berpegang teguh pada kebenaran tentang jumlah pekerjaan yang Anda lakukan sendiri dan saya yakin tidak ada yang akan memanggil Anda seorang penjiplak.

jam
sumber
1

Jika yang Anda lakukan adalah memodifikasi kode seseorang untuk melakukan sesuatu yang Anda inginkan maka tidak jujur ​​untuk mengklaim bahwa kode Anda adalah "milikmu". Sebaliknya, ini adalah program yang Anda buat berdasarkan kode yang ada.

Sekarang Anda mungkin telah memperhatikan bahwa banyak programmer menggunakan kode orang lain. Sepanjang waktu. Pustaka dan API pada dasarnya adalah cara formal untuk menggunakan kode yang dibuat seseorang di proyek Anda sendiri. Meskipun yang Anda lakukan tidak sama dengan menggunakan pustaka atau API, itu memiliki efek yang sama.

Dalam kasus program P2P sederhana, Anda dapat mengklaim bahwa Anda menulis aplikasi pengiriman pesan yang menggunakan programer lain yang menerapkan protokol web sederhana. Anda dapat melanjutkan dan menyebutnya program Anda, Anda hanya harus memberikan kredit kepada siapa pun yang menulis bagian yang dipinjam. Dan yang terbaik adalah menambahkan komentar ke kode mengutip sumber, sehingga orang lain dapat menemukannya jika perlu.

Dan dalam hal gim, Anda menulis gim. Anda dapat mengklaim ini sebagai kode Anda. Game ini kemudian menggunakan serangkaian fungsi yang Anda dapatkan dari sumber lain untuk mengaktifkan fungsionalitas multi pemain. Sekali lagi, Anda mungkin harus menempatkan sumber kode itu setidaknya dalam komentar dalam kode Anda. Namun dalam situasi ini Anda mungkin bisa lolos dengan tidak secara eksplisit mengatakan ini kepada orang lain di luar kode, karena Anda benar-benar menulis permainan.

Banyak pengembang mengandalkan perpustakaan untuk menangani beberapa masalah yang lebih kompleks yang mereka hadapi. Hal-hal seperti protokol jaringan, grafik, dan matematika tingkat lanjut digunakan oleh banyak orang, jadi ada perpustakaan yang melakukan semua hal dengan sangat bervariasi. Memanfaatkan kode semacam ini tidak hanya sepenuhnya dapat diterima, tetapi juga normal.

Jika Anda mengatakan "ini adalah klien IM" atau "ini adalah permainan video" tidak ada yang akan terkejut jika kode jaringan berasal dari pihak ketiga. Hanya saja jangan mengklaim bahwa Anda adalah satu-satunya penulis dari semua bagian kode, dan Anda harus baik-baik saja.

Namun Anda harus melihat kemungkinan lain: Apakah kode tersebut dilindungi oleh ketentuan penggunaan apa pun? Sampai saat ini saya telah berbicara tentang kode yang tersedia baik tanpa syarat, atau istilah yang sangat terbuka. Namun jika penulis memiliki beberapa istilah yang lebih spesifik ikuti mereka . Jika mereka hanya bermaksud kode o untuk tujuan pendidikan, daripada menggunakannya dalam kapasitas apa pun di luar itu tidak apa-apa. Ada semua jenis batasan yang dapat mereka tempatkan pada kode itu, jadi berhati-hatilah tentang bagaimana Anda menggunakannya.

zeel
sumber
Ini sama sekali tidak penting, kecuali untuk paragraf terakhir. Penggunaan kembali kode melalui pustaka sangat berbeda (secara etis dan legal) dari penggunaan kembali kode melalui salin & tempel.
amon
Tidak juga, karena pada dasarnya kompiler hanya menyalin / menempel saja. Tidak ada perbedaan nyata, pada akhirnya mereka hanya urutan perintah prosesor. Sejauh "secara etis dan legal" itulah paragraf terakhir saya. Selama pembuat asli tidak masalah dengan penggunaan kode Anda, pada dasarnya sama dengan menggunakan perpustakaan.
zeel