Apakah "open source" pernah menjadi "sumber saya"?

8

Jika saya mengunduh beberapa kode sumber terbuka yang melakukan beberapa hal rapi yang saya butuhkan, tetapi tidak memiliki banyak opsi atau bel dan peluit yang saya butuhkan ... dan saya membuat TON perubahan di mana beberapa kode dasar masih ada dari proyek open source, tetapi banyak yang telah berubah dan banyak telah ditambahkan ... akankah kode itu menjadi "sumber saya" sebagai lawan dari "open source"?

EDIT:

BTW, saya sebenarnya tidak memiliki proyek dalam pikiran, ini hanya secara umum - jadi saya tidak akan tahu lisensi. Pertanyaan ini hanya terlintas di benak saya dari waktu ke waktu ketika saya melihat sebuah proyek yang dapat saya tingkatkan ...

Barry Franklin
sumber
6
jawaban singkat, itu semua tergantung lisensi yang digunakan .. jadi lisensi mana yang Anda tanyakan?
Bob
7
Itu benar-benar tergantung pada lisensi apakah itu dapat secara legal menjadi sumber "Anda". Tapi "Open Source" benar-benar adalah "Sumber Semua Orang", jadi jika Anda melihatnya seperti itu, maka itu sudah menjadi milik Anda! : D
Ryan Hayes
Apa yang Anda maksud dengan "open source" dan "sumber saya"? Jika Anda ingin mengambil perangkat lunak di bawah lisensi bersertifikat OSI, ubah, dan kontrol penuh atas lisensi apa yang akan dirilis, tergantung pada lisensi. Gnu GPL mengharuskan Anda untuk merilis perubahan di bawah GPL, sedangkan lisensi gaya BSD tidak.
David Thornley
@ Davidvidhorn Dengan "open source" Saya berarti apa pun yang dapat Anda temukan untuk mengunduh yang dianggap open source dan dengan "sumber saya" Maksud saya sesuatu yang dapat saya rilis secara terbuka sebagai "milikku" atau bahkan dijual sebagai "milikku".
Barry Franklin
@ Larry: Tidak ada yang namanya "open source" dalam istilah yang Anda jelaskan. Setiap proyek dibagikan dengan lisensi tertentu. Tetapi biasanya Anda masih bisa menjual kode OpenSource (detail tergantung pada lisensi). Anda hanya perlu memberikan sumbernya secara bebas (detail tergantung pada lisensi). Lihatlah RedHat untuk contohnya.
Martin York

Jawaban:

15

Ada beberapa hal yang perlu Anda pelajari ketika berhadapan dengan kode opensource. Pertama, Anda dapat mengunjungi tautan wikipedia ini untuk tinjauan umum tentang opensource

Hal berikutnya yang perlu dipertimbangkan adalah lisensi opensource yang Anda hadapi. Tidak semua lisensi opensource memungkinkan untuk melakukan apa yang Anda pikirkan untuk dicapai. Untuk referensi terperinci tentang lisensi, kunjungi lisensi OpenSource . Cocokkan lisensi kode Anda dengan yang ditemukan di tautan ini dan pelajari apa yang dapat dilakukan dengan kode yang Anda gunakan.

Pankaj Upadhyay
sumber
1
+1 Anda menjawab mengatakan hal yang sama seperti milik saya tetapi lebih baik :)
SoylentGray
Ini bukan masalah lisensi. Jika akses Anda ke kode adalah melalui lisensi maka Anda memiliki lisensi dari pemilik kode. Yang pada gilirannya berarti Anda tidak memiliki kode.
Michael Shaw
1
@Ptolemy: Jika saya mendapatkan kode berlisensi BSD dan memasukkannya ke dalam proyek, saya tidak memiliki hak cipta atas semuanya. Saya memiliki kemampuan untuk melepaskan semuanya pada lisensi apa pun yang saya rasakan, dan menuntut pelanggar, dan itu cukup dekat untuk memiliki kode untuk saya.
David Thornley
Jadi, jika Anda menemukan bahwa garis kode itu juga digunakan dalam produk pesaing, dapatkah Anda menuntutnya karena melanggar hak cipta? Itu adalah ujian sejati untuk memiliki kode, daripada menjadi pemegang lisensi belaka
Michael Shaw
@davidthornley Saya setuju dengan itu ... itu sudah cukup dekat untuk saya juga.
Barry Franklin
2

Singkatnya tidak.

Apa yang Anda gambarkan adalah pekerjaan sederhana dan sederhana. Ini bisa menjadi kode 99,9% yang telah Anda tambahkan, tetapi karena kode ini berasal dari beberapa kode orang lain, Anda masih diharuskan untuk menghormati hak cipta dan lisensi dari kode asli.

Opsi apa lagi yang Anda miliki?

Can you look at that code, see how it works and then write your own version from scratch?

Ini bukan potongan yang begitu jelas. Namun Anda masih berisiko besar melanggar hak cipta. Jika Anda menyalin kode apa pun secara verbatim, ini merupakan pelanggaran. Jika Anda memotong dan menempelkan kode dan kemudian mengubah nama variabel dll ... Itu pelanggaran. Jika Anda menyalin teknik untuk memecahkan masalah tertentu, menulis kode baru saat Anda melakukannya, itu masih merupakan pelanggaran hak cipta.

Jika Anda melihat kode dan berpikir itulah cara Anda menggunakan fungsi itu dan kemudian pergi dan menulis program Anda sendiri dari awal tanpa menyalin kata demi kata kedua baris kode tersebut maka Anda mungkin adalah pemilik kode Anda.

To be 100% sure of owning my code, what doctor need to do?

Kuncinya adalah untuk menghindari risiko klaim hak cipta di tempat pertama. Jangan melihat kode yang dilindungi hak cipta sebagai contoh. Jadi, jangan menulis kode ketika orang lain (seperti atasan Anda) dapat mengklaim kode Anda. Gunakan kontrol sumber untuk mencatat perubahan reguler pada kode. (ini membuktikan bahwa Anda yang menulisnya, dan menunjukkan pengembangan kode alih-alih Anda menyalinnya secara grosir) dan jangan menggunakan kembali kode Anda di lingkungan di mana penerima memiliki alasan untuk percaya bahwa mereka sekarang memiliki kode tersebut.

So why is everyone else talking about licenses?

Sebagian besar kode yang tersedia di Internet tersedia di bawah lisensi. Lisensi itu memungkinkan Anda mengakses kode itu dengan syarat bahwa pemilik kode telah memilih. Bagaimana Anda dapat menggunakan kode itu dan hak Anda atas kode tersebut didefinisikan dalam lisensi perangkat lunak, dan dapat memberi Anda hak untuk membuat karya turunan, untuk menjualnya demi keuntungan dan tidak harus memberi siapa pun kode sumber Anda kepada siapa pun. Mungkin juga tidak. Itu semua tergantung pada ketentuan lisensi. Namun orang lain memiliki hak cipta untuk kode asli dan Anda tidak dapat mencegah mereka melisensikan kode yang sama kepada pesaing Anda.

Michael Shaw
sumber
1
Anda mengajukan beberapa pertanyaan bagus ... Saya hanya ingin tahu bagaimana orang bisa mengatakan bahwa Anda menyalin teknik dari mana saja - sebenarnya tidak ada terlalu banyak teknik unik di luar sana. Dan semua orang harus belajar pengkodean mereka dari suatu tempat - saya hanya ingin tahu di mana garisnya dengan belajar bagaimana melakukan sesuatu dari kode seseorang dibandingkan dengan merobeknya.
Barry Franklin
Ada garis yang sangat jelas. Beberapa niat adalah untuk mengajarkan Anda teknik dan kemudian Anda dapat menggunakan pendekatan itu dalam kode Anda sendiri dengan cukup aman. Jika Anda menyalin kode, maka itu kode yang disalin, dan Anda tidak membuatnya atau mendapatkan kepemilikan hak cipta dari pemiliknya saat ini
Michael Shaw
1
Tapi apa yang terjadi jika Bob mengajari saya sesuatu dan kemudian Bob mengajari Joe hal yang sama dan Joe mengajar Ron dan Ron mengajar Bill ... lalu Bill mengeluarkan program yang bekerja persis seperti program saya - siapa yang menang di sana? Baik Bill maupun saya mungkin tidak tahu bahwa kami berdua belajar hal yang sama dari Bob ... dan Bob bisa siapa saja, atau apa pun (seperti situs web atau buku). Bagaimana mungkin Bill mengatakan bahwa saya mencuri kodenya jika dia tidak dapat membuktikan bahwa saya tidak mempelajarinya dengan cara yang sama seperti yang dia lakukan? Bagaimana saya bisa membela diri jika saya tidak dapat membuktikan bahwa saya mempelajarinya? Apakah Bob pemilik semua kode yang saya, Bill, Joe, dan Ron tulis?
Barry Franklin
1
Tergantung pada lingkungannya, bahkan persepsi kemungkinan pelanggaran hak cipta dapat merusak. Microsoft menggunakan klaim hak cipta sco linux beberapa tahun yang lalu untuk mendorong penjualan Windows CE
Michael Shaw
Hai Barry, dalam contoh Anda, hak cipta kode akan dimiliki oleh masing-masing orang yang menulis kode. Mereka masing-masing membuat kode secara mandiri menggunakan pendekatan yang sama. Mereka masing-masing memiliki hak cipta atas garis kode tersebut, dan jika mereka dapat menetapkan bahwa seseorang menyalin garis tertentu mereka, mereka dapat mengklaim kompensasi atas pelanggaran hak cipta.
Michael Shaw
1

Itu tergantung pada lisensi yang digunakan proyek Open Source. Jika itu adalah lisensi GPL, jika Anda berniat untuk melepaskan binari atau sumber Anda kepada publik, maka Anda harus menggunakan lisensi yang sesuai dengan GPL. Itu berarti kode tidak akan sepenuhnya menjadi milik Anda.

Jika lisensi tersebut adalah lisensi Free-As-In-Free-Beer, maka Anda dapat melakukan apa pun yang Anda inginkan dan mungkin melepaskannya sebagai kode Anda juga, kecuali jika ditentukan sebaliknya.

Dimme
sumber
2
bahkan jika mendapatkan kode dengan lisensi yang sangat permisif itu masih bukan milik Anda, Anda hanya dilisensikan untuk melakukan (hampir) apa pun dengan itu
jk.
0

Seperti yang orang lain jelaskan sudah TIDAK, setidaknya tidak dengan GPL standar seperti yang saya tahu jadi saya tidak akan mengalahkan kuda mati.

Dengan anggapan proyek sumber terbuka ini kurang dan Anda memulai proyek yang sepenuhnya terpisah yang MENGGUNAKAN binari dari proyek GPL yang bersangkutan dan menyediakan perilakunya sendiri untuk menebus perilaku yang kurang, maka proyek terpisah tersebut akan menjadi sumber ANDA.

Misalnya, "Proyek LGPL jelek bernama Bamboozle pandai membuat widget, tetapi tidak melakukan pra-proses RoughArgs terlebih dahulu. Anda membuat produk berpemilik yang disebut Flamboozle yang Anda lewati biasa ATAU RoughArgs dan meludahkan Widget. Di belakang layar ia menggunakan Bamboozle , tetapi lakukan sesuatu yang lain di atasnya dan itulah yang Anda jual.

Ini bisa sepenuhnya legal dengan asumsi bahwa Anda tidak secara eksplisit melanggar perjanjian lisensi dan dalam LGPL tipikal Anda tidak akan selama Anda memasukkan perjanjian lisensi Bamboozle dengan semua salinan Flamboozle yang didistribusikan.

maple_shaft
sumber
Ada banyak, banyak lisensi open source - GPL dan LGPL hanyalah dua di lautan lisensi.
Bryan Oakley