Apakah boleh mendekompilasi kode orang lain untuk tujuan mempelajari apa yang mereka lakukan, dan bagaimana mereka melakukannya? [Tutup]


8

Saya tidak berbicara tentang mencuri kode, atau menggunakan kembali keuntungan seseorang. Tetapi saya berasumsi bahwa jika suatu program atau plugin didistribusikan dalam format di mana saya tidak dapat dengan mudah melihat sumbernya, itu adalah tindakan yang disengaja dari bagian programmer.

Apakah bisa diterima untuk mencari, untuk tujuan belajar? Dan jika demikian, adakah batasan kebebasan itu?


Saya berasumsi bahwa Anda tidak dapat "dengan mudah melihat sumbernya" karena Anda sudah bertanya dan ditolak? Penulis mungkin bersedia menjelaskan pendekatan umum, apakah itu cukup baik tanpa kode? Anda tidak akan tahu sampai Anda bertanya kepada mereka.
FrustratedWithFormsDesigner

9
Bagaimana orang akan mengatakan Anda telah melakukannya? Apakah distributor program atau plugin memiliki kemampuan untuk memberi tahu? Tidak? Maka lakukanlah. "Kekayaan Intelektual" adalah keliru dari fakta: banyak orang sering menciptakan hal yang sama. Larangan pada rekayasa terbalik adalah konsekuensi dari konsepsi yang salah tentang ide-sebagai-properti, dan tidak memiliki kedudukan moral yang nyata.
Bruce Ediger

1
Kasus yang saya pertimbangkan adalah plug in untuk Outlook 2010 yang menulis balasan default ke: alamat email terlepas dari apa alamat email itu dikirim. Saya sudah membelinya, dan saya menggunakannya. Saya sebagian tertarik melihat apa yang dilakukan karena saya ingin tahu mengapa itu memerlukan plug in, dan bukan opsi default. Sebagian, karena aku bajingan yang ingin tahu, dan aku suka untuk memisahkan hal-hal. Data yang saya cari adalah periferal untuk plug in. Saya tidak mencari kodenya atau menggandakan proyeknya.
zenbike

1
Saya seorang pria, dan berada di luar yurisdiksi mereka. Tetapi saya ingin melakukannya dengan benar. Itu sebabnya saya bertanya. Ada makro yang mengklaim melakukan hal yang sama, tetapi mereka tidak bekerja saat membalas. Hanya surat baru. Saya baru mulai melihatnya. Jika ada cara yang lebih baik, luar biasa.
zenbike

2
@ Bruce 100 untuk "Larangan pada rekayasa terbalik adalah konsekuensi dari konsepsi yang salah tentang ide-sebagai-properti, dan tidak memiliki kedudukan moral yang nyata." Sayangnya itu memang memiliki kedudukan hukum. Jika perangkat lunak direkayasa ulang, dan vendor mengetahuinya, Anda bisa mendapatkan surat gencatan dan penghentian, atau lebih buruk, terutama jika secara eksplisit disebutkan dalam EULA. :(
Bratch

Jawaban:


8

Anda menunjukkan dalam salah satu tanggapan Anda bahwa Anda lebih tertarik untuk mengetahui apakah penulis akan marah dengan itu ... jadi jika itu saya, dan Anda hanya melakukannya untuk tujuan pendidikan dan kami bertemu dan Anda memberi tahu saya tentang hal itu, maka tidak. Saya tidak akan kecewa jika Anda mendekompilasi / merekayasa ulang kode saya. Jika kode yang dipermasalahkan itu sangat kotor / jelek dan jelek, saya mungkin agak malu, tapi saya ragu saya akan mundur (pada kenyataannya, saya bahkan mungkin merasa tersanjung bahwa seseorang menemukan kode saya sangat keren dan menarik, mereka hanya perlu cari tahu cara kerjanya dan lakukan sejauh itu untuk melakukannya) - dan hei, mungkin akan menyenangkan untuk membicarakannya!


Bagaimana jika dia tidak melakukan semua hal ini? Dan bagaimana jika dia tidak melakukannya untuk tujuan pendidikan?
BЈовић

1
VJo: Maka OP akan mengajukan pertanyaan yang berbeda, dan saya akan memberikan jawaban yang berbeda.
FrustratedWithFormsDesigner

6
Saya akan memberitahunya kode asli saya sangat indah tetapi dekompilernya menyebalkan, itu sebabnya terlihat seperti sampah. :)
Vitor Py

Saya mendapat banyak umpan balik dari pertanyaan ini. Saya memilih untuk menandai milik Anda karena diterima paling baik, dan jawabannya paling dekat mengikuti pertanyaan awal saya.
zenbike

4

Legalitas penguraian tergantung pada yurisdiksi Anda. Halaman Wikipedia ini memiliki beberapa catatan tentang hukum AS dan UE di bidang ini. Ringkasannya adalah bahwa legalitas tergantung pada mengapa Anda melakukannya:

  • Jika Anda melakukannya untuk mencapai interoperabilitas, Anda mungkin diizinkan melakukannya.

  • Jika Anda melakukannya untuk "belajar" atau karena penasaran, Anda mungkin tidak diizinkan untuk melakukannya. (Saya belum pernah mendengar adanya hukum kasus yang mengatakan bahwa doktrin penggunaan wajar pendidikan meluas ke perangkat lunak penguraian. Tetapi tanyakan pada pengacara yang sebenarnya.)

Apakah dekompilasi adalah hal yang "dapat diterima" untuk dilakukan adalah penilaian nilai, dan itu tergantung pada perspektif Anda. Sebagian besar profesional TI mungkin akan mengatakan itu bukan perilaku yang dapat diterima. Dan tentu saja pemilik hak cipta cenderung mengatakan bahwa itu tidak dapat diterima ... dan dia adalah orang yang dapat memutuskan untuk menuntut celanamu!


1
Baik. Yang terakhir itu lebih merupakan apa yang saya coba rasakan. Tidakkah Anda harus melakukan untuk belajar agar dapat mencapai interoperabilitas? Atau apakah itu berarti Anda harus sukses agar sah?
zenbike

@zenbike: Dapatkan pengacara. Serius.
David Thornley

3
@ David Thornley: Pengacara bukan ahli etika.
FrustratedWithFormsDesigner

1
@ Frustasi Tidak, tapi dia mungkin bisa menjauhkan OP dari penjara.
Michael Todd

2
sedikit tidak akurat, karena banyak badan legislatif mengizinkan dekompilasi untuk tujuan pendidikan.
vartec

2

Saya tidak masuk ke moralitas di sini, karena itu bukan topik yang benar-benar bagus untuk situs tanya jawab. Secara pribadi, dalam semua kemungkinan kasus yang saya pikirkan, saya tidak akan keberatan sama sekali jika Anda melakukannya pada kode saya.

Legalitas adalah masalah lain, dan itu adalah sesuatu yang tidak dapat dijawab dengan baik di sini. Jika Anda ingin tahu, cari sendiri seorang pengacara yang berspesialisasi dalam hukum "Kekayaan Intelektual" di yurisdiksi Anda, atau yurisdiksi apa pun yang Anda khawatirkan. Saya telah membaca banyak hal berbeda tentangnya, dan beberapa di antaranya bertentangan. Jangan tidak percaya nasihat hukum Anda membaca dari orang-orang secara acak di Internet yang mungkin tidak tahu di mana Anda tinggal.

Dari sudut pandang praktis, tidak ada yang mungkin mengetahuinya, jadi undang-undang hak cipta akan muncul hanya sejauh Anda ingin tetap legal dalam hal itu.


Ya. Itu sebabnya saya katakan tidak begitu khawatir tentang hukum, seperti saya tentang apakah itu akan mengganggunya jika dia tahu. Atau coders pada umumnya.
zenbike

Sama disini. Saya mungkin tidak akan pernah memiliki masalah dengan itu sendiri dan saya akan merasa tersanjung jika saya tahu seseorang melakukannya.
Echo mengatakan Reinstate Monica

2

Reverse engineering adalah metode yang dicoba dan tepercaya dalam rekayasa. Ini dicoba dan dipercaya karena sebagian besar legal. Khususnya, berkenaan dengan DCMA, Wikipedia mengatakan:

Detik. 103 (f) dari DMCA (17 USC § 1201 (f)) mengatakan bahwa jika Anda secara hukum memperoleh program yang dilindungi, Anda diizinkan untuk merekayasa balik dan menghindari perlindungan untuk mencapai kemampuan interoperabilitas program komputer (yaitu , kemampuan untuk bertukar dan memanfaatkan informasi).

Kapan itu tidak sah? Terutama ketika Anda telah menandatangani EULA yang mengatakan itu ilegal, atau Anda mendapatkan hal itu direkayasa secara ilegal.

Saya bukan pengacara

Bicaralah dengan satu jika legalitas penting.

Saya bukan ahli etika

Etika biasanya berkaitan dengan bagaimana Anda dibesarkan. Bicaralah dengan Anda ibu / ayah / saudara laki-laki / saudara perempuan / sepupu dan lihat apa yang mereka katakan.


Hukum yang dikodifikasikan selalu lebih diutamakan daripada lisensi. Bagian lisensi yang mengatakan sesuatu yang bertentangan dengan hukum di legislatif Anda harus diabaikan.
vartec

Saya pikir OP lebih banyak bertanya "apakah ini etis?", Yang merupakan pertanyaan yang berbeda (meskipun legalitas harus dipertimbangkan, itu bukan jawaban yang lengkap).
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner: Setuju. Etika adalah cara Anda dibesarkan. Hukum adalah tempat Anda tinggal. Mereka sangat berbeda, dan memiliki jawaban yang sangat berbeda.
Peter K.

@artec: Ya, tetapi jika Anda memindahkan yurisdiksi, Anda bisa mendapat masalah!
Peter K.

dapatkah saya menerbitkan kode rekayasa terbalik, misalnya di github (dengan referensi dari mana asalnya dan mengapa saya mendekompilasinya)?
Marian Paździoch

0

Apakah bisa diterima?

Kata "dapat diterima" sangat kabur. Setiap orang menyiratkan sesuatu yang berbeda, berdasarkan latar belakang budayanya, pengalaman unik dan serangkaian nilai. Karena itu tidak mungkin untuk menjawab pertanyaan ini.

Jika kita mempersempitnya menjadi:

Apakah ini legal?

Jelas "tidak" di sebagian besar yurisdiksi.

dan:

Apakah adil terhadap penulis?

Sekali lagi, tidak, jika penulis ingin merahasiakan karyanya, Anda harus menghargai itu.


Ada kebijakan "penggunaan yang adil" ketika Anda dapat menggunakan bagian-bagian dari karya berhak cipta dalam konteks tertentu, tetapi itu menyiratkan Anda mengambil output publik dari karya tersebut, sebagai masalah ucapan. Dekompilasi, atau dengan kata lain (rekayasa terbalik, berbicara secara hukum) adalah kegiatan yang sama sekali berbeda yang tidak ada hubungannya dengan penggunaan yang adil. Di sini Anda mencoba memulihkan karya yang sengaja disembunyikan dari apa yang dipublikasikan. Jika mereka menggunakan kebingungan maka dekompilasi Anda adalah fakta bahwa mekanisme perlindungan sengaja diputus. Dan itu dihukum oleh hukum.


2
Maksud saya diterima. Berarti, untuk dimasukkan ke dalam istilah yang paling sederhana, jika saya tidak dapat meminta Anda untuk alasan apa pun, dan saya hanya mencari untuk belajar, tidak menggunakan kembali kode Anda, untuk keuntungan atau proyek, apakah itu akan membuat Anda marah? Apakah Anda akan tersinggung? Apakah Anda memiliki pendapat yang lebih rendah tentang saya, haruskah kita bertemu, dan saya katakan pada beberapa titik. (Karena saya tidak bisa melihat cara lain bagi Anda untuk mengetahui apakah saya berpegang teguh pada pembatasan yang disebutkan di atas.) Saya kurang memperhatikan masalah hukum, dan lebih pada tingkat yang etis atau dapat diterima secara sosial. Dan sejujurnya, saya bahkan belum mempertimbangkan untuk bertanya kepada penulis. Yang seharusnya saya miliki.
zenbike

1
Sejauh yang legal, ada pengecualian untuk hak cipta untuk penggunaan yang adil untuk pendidikan di sebagian besar tempat, jadi saya tidak berpikir itu hitam dan putih seperti yang Anda lakukan. Jika ya, jelaskan alasannya.
zenbike

1
Jawaban ini sangat tidak berguna; itu membuat pernyataan yang pasti tentang masalah hukum dan bahkan tidak menyarankan mencari pengacara di yurisdiksi Anda.
David Thornley

1
@zenbike: "OP" adalah singkatan dari "Poster asli" - ini merujuk kepada Anda (zenbike) karena Anda memposting posting asli (yaitu, pertanyaan yang Anda tanyakan).
FrustratedWithFormsDesigner

1
@ M.Todd: Saya tidak berusaha tumpul. Tapi saya sudah berulang kali mengatakan bahwa saya khawatir apakah itu akan mengganggu Anda jika itu kode Anda. Bukan implikasi hukum, yang sangat bervariasi, tidak jelas sama sekali, dan akan lebih baik dilayani dari seorang pengacara jika saya akan mengacaukan tepi hukum. Yang bukan aku. Anda terus membawa kembali ke sudut pandang hukum, jadi saya ingin tahu apakah Anda melihat perbedaan, atau jika Anda mencoba mengatakan sesuatu yang tidak saya dapatkan. Tidak ada pelanggaran yang dimaksudkan, jika Anda mengambilnya.
zenbike
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.