Bagaimana cara menghindari percabangan oleh penyumbang yang lebih kuat?

119

Seperti yang baru-baru ini dilaporkan di sini :

Xamarin telah melakukan forked Cocos2D-XNA, kerangka pengembangan game 2D / 3D, menciptakan perpustakaan lintas platform yang dapat dimasukkan dalam proyek PCL.

Namun pendiri proyek yang bercabang itu mengatakan :

Tujuan dari lisensi MIT adalah untuk tidak membebani penggunaan wajar Anda. Bukan untuk mendorong Anda untuk mengambil perangkat lunak, mengubah namanya menjadi milik Anda, dan kemudian "bawa ke arah yang baru" seperti yang Anda katakan.

Meskipun tidak ilegal, itu tidak etis.

Tampaknya halaman GitHub dari proyek baru bahkan tidak menunjukkan bahwa itu adalah garpu dengan cara GitHub yang khas, sebagai gantinya memilih bagian History yang mudah dilepas (lihat bagian bawah).

Jadi pertanyaan saya adalah:

  1. Apakah tindakan Xamarin dan cara tindakan itu dilakukan etis atau tidak?
  2. Apakah mungkin untuk menghindari situasi seperti itu jika Anda seorang pengembang tunggal atau sekelompok kecil pengembang tanpa pendanaan?

Saya berharap ini bisa menjadi pertanyaan wiki atau akan ada beberapa jawaban obyektif didasarkan pada etika / filosofi OSS modern.

Sarang
sumber
25
Ini adalah persis seperti apa GNU GPL untuk, GNU memaksa forker untuk membiarkan Anda menggabungkan perubahan mereka kembali jika mereka merilis mereka, memberi Anda perbaikan yang mereka buat plus milik Anda.
Vality
46
Lisensi MIT pada awalnya ditulis untuk Sistem X Window, dan ditulis untuk memungkinkan perusahaan memotongnya dan memasukkannya ke dalam produk eksklusif yang dijual untuk mereka.
Alan Shutko
5
@Vality: Tidak masalah apakah ada sesuatu di bawah lisensi GPL atau MIT sejauh menyangkut penggabungan kembali, dan GPL memiliki banyak sengatan.
DevSolar
66
"Tujuan dari lisensi MIT adalah untuk tidak mengurangi jumlah penggunaan wajar Anda. Bukan untuk mendorong Anda untuk mengambil perangkat lunak, mengubah namanya menjadi milik Anda, dan kemudian" membawanya ke arah yang baru "seperti yang Anda katakan." - Umm, sebenarnya, untuk itulah tepatnya . Tidak ada yang namanya "Lisensi MIT". MIT menggunakan banyak lisensi berbeda. Lisensi yang dimaksud adalah Lisensi MIT X11, yang dibuat khusus agar vendor Unix dapat mengintegrasikan MIT X11 ke dalam Unix mereka, mengubah citra, menulis ulang, dan membawanya ke arah yang diinginkan.
Jörg W Mittag
10
Panduan ØMQ memiliki cerita menarik tentang skenario ini. Catatannya: "BSD membuat kebanyakan orang melihat kami sebagai makan siang. Sumber tertutup membuat sebagian besar orang melihat kami sebagai musuh (apakah Anda suka membayar orang untuk perangkat lunak?) Namun, GPL membuat kebanyakan orang, dengan pengecualian Patricks of the world, sekutu kita. "
Michael Hampton

Jawaban:

72

Apakah tindakan Xamarin dan cara tindakan itu dilakukan etis atau tidak?

Baiklah, mari tanyakan pada ahlinya - Daftar Open Source Initiative tentang Lisensi MIT itu sendiri, dengan lisensi yang dikutip secara keseluruhan:

Lisensi MIT (MIT)

Hak cipta (c)

Izin dengan ini diberikan, tanpa biaya, kepada siapa pun yang mendapatkan salinan perangkat lunak ini dan file dokumentasi terkait ("Perangkat Lunak"), untuk berurusan dengan Perangkat Lunak tanpa batasan, termasuk tanpa batasan hak untuk menggunakan, menyalin, memodifikasi, menggabungkan , mempublikasikan, mendistribusikan, mensublisensikan, dan / atau menjual salinan Perangkat Lunak, dan mengizinkan orang yang kepadanya Perangkat Lunak dilengkapi untuk melakukannya, dengan ketentuan sebagai berikut:

Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian penting Perangkat Lunak.

PERANGKAT LUNAK INI DISEDIAKAN "SEBAGAIMANA ADANYA", TANPA JAMINAN APA PUN, BAIK TERSURAT MAUPUN TERSIRAT, TERMASUK TETAPI TIDAK TERBATAS PADA JAMINAN PENJUALAN DAGANG, KESESUAIAN UNTUK TUJUAN TERTENTU DAN TUJUAN NON. DALAM KEJADIAN APA PUN PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN ATAU KEWAJIBAN LAINNYA, BAIK DALAM TINDAKAN KONTRAK, KETENTUAN ATAU KATA LAINNYA, BANGKIT DARI, DI LUAR ATAU DALAM HUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN LAINNYA. PERANGKAT LUNAK.

Jika ada orang - individu atau perusahaan - merilis perangkat lunak / kode sumber dengan lisensi MIT, itu berarti bahwa orang lain - individu atau perusahaan dapat "berurusan dengan Perangkat Lunak tanpa batasan". Selama pemberitahuan hak cipta tetap utuh, mereka dapat melakukan apa saja sesuka mereka.

Ini adalah salah satu kasus ketika etika dan legalitas hampir persis sama. Jika seseorang atau kelompok tidak memahami lisensi atau implikasinya maka mereka gagal melakukan uji tuntas. Open Source Initiative menyediakan banyak sumber daya bagus lainnya untuk membantu kami memahami lisensi seperti varian MIT. Mari kita lihat beberapa klausa Definisi Sumber Terbuka mereka:

1) Redistribusi Gratis - Lisensi tidak akan membatasi pihak mana pun untuk menjual atau memberikan perangkat lunak sebagai komponen dari distribusi perangkat lunak agregat yang berisi program dari beberapa sumber yang berbeda. Lisensi tidak akan memerlukan royalti atau biaya lain untuk penjualan tersebut.

3) Karya Turunan - Lisensi harus mengizinkan modifikasi dan karya turunan, dan harus mengizinkannya untuk didistribusikan di bawah ketentuan yang sama dengan lisensi dari perangkat lunak asli.

5) Tidak Ada Diskriminasi Terhadap Orang atau Kelompok - Lisensi tidak boleh mendiskriminasikan orang atau kelompok orang.

6) Tidak Ada Diskriminasi Terhadap Bidang Usaha - Lisensi tidak boleh membatasi siapa pun untuk menggunakan program ini dalam bidang usaha tertentu. Sebagai contoh, itu mungkin tidak membatasi program dari yang digunakan dalam bisnis, atau dari yang digunakan untuk penelitian genetik.

Menurut bacaan saya, ini tampak sangat jelas: melepaskan sesuatu sebagai sumber terbuka, terutama dengan lisensi MIT, memungkinkan seseorang untuk secara bebas mengambil perangkat lunak, mengubahnya, mengemasnya, dan menjualnya cukup banyak kepada siapa pun yang mereka suka, asalkan tidak t menghapus pemberitahuan hak cipta Anda dan mengklaimnya sebagai karya mereka sendiri .

Sebagai penulis, Anda secara eksplisit menyerahkan hak untuk pilih-pilih dan pilih-pilih. Anda tidak bisa memutuskan siapa atau apa yang bisa mendapat manfaat dari perangkat lunak Anda atau memanfaatkannya, dan Anda tidak bisa memutuskan mengapa mereka menggunakannya. Anda secara eksplisit melepaskan hak itu.

Idenya adalah bahwa Anda berkontribusi untuk kebaikan yang lebih besar dengan secara eksplisit menolak segala hak hukum yang Anda miliki untuk mengendalikan dan membatasi penggunaan dan perubahan apa yang telah Anda buat. Jika Microsoft ingin membayar proyek FluffBall Anda dan menjualnya seharga $ 2rb per kursi seperti WindowsSpongeCake, mereka bisa. Bukankah membiarkan orang melakukan apa pun yang mereka inginkan adalah inti dari proyek Anda?

Apakah mungkin untuk menghindari situasi seperti itu jika Anda seorang pengembang tunggal atau sekelompok kecil pengembang tanpa pendanaan?

Agak! Pertama, gunakan lisensi yang sesuai dengan tujuan dan keinginan organisasi Anda. Jika Anda tidak ingin ada orang yang menggunakannya dengan cara yang tidak Anda setujui, Anda mungkin seharusnya tidak merilisnya sebagai Open Source - dan terus terang Anda mungkin tidak boleh melepaskannya sama sekali! Jika Anda tidak ingin orang lain menggunakan karya turunan (seperti garpu) pada proyek komersial, Anda mungkin harus menggunakan versi copyleft dari GPL . Jika Anda menginginkan lisensi nonkomersial, Anda mungkin harus memberi tahu pengacara hak cipta / lisensi, karena ini sering tidak dianggap perangkat lunak "open source" sama sekali dan tidak ada lisensi pra-tertulis utama untuk mendukung kasus ini.

Masalah dengan Xamarin dan Coco kerfuffle bukan masalah etika atau legalitas - ini tentang pertarungan internet antara beberapa orang yang memiliki daging sapi satu sama lain. Kita semua manusia, itu terjadi. Tampaknya merupakan hasil dari ketidakmampuan untuk berkolaborasi / bekerja sama, kemungkinan karena konflik kepribadian atau visi yang tidak sesuai tentang bagaimana proyek harus ditangani.

Jadi cara pertahanan lain adalah terbuka untuk kolaborasi dan perubahan, tetapi pahami bahwa jika itu tidak berhasil dan visinya berbeda ... yah, itulah alasan untuk opsi bercabang dan memiliki proyek terpisah Anda sendiri.

Sangat manusiawi dan dapat dimengerti untuk perasaan kepemilikan dan popularitas untuk membuat proyek perangkat lunak sangat, sangat rumit. Tetapi tujuan dari open source adalah mencoba untuk melampaui itu dan memungkinkan perangkat lunak terbaik tersedia secara bebas untuk semua.

Intinya, perjelas tujuan Anda saat Anda memutuskan lisensi, dan pahami implikasinya bagi kontrol dan arah proyek Anda di masa depan. Jika Anda hanya ingin menyumbang untuk kebaikan yang lebih besar, open source adalah cara untuk melakukannya. Jika Anda ingin mengontrol proyek Anda lebih erat dan memiliki kepemilikan dan setidaknya kasus hukum jika seseorang mencoba memasarkan proyek Anda atau menyerapnya sendiri (sebagian atau seluruhnya), Anda akan memerlukan lisensi yang berbeda dan mungkin perlu atasi dengan pengacara.

BrianH
sumber
35
Nitpick tentang bahasa yang membingungkan: menggunakan GPL tidak akan membatasi penggunaan komersial , tetapi penggunaan eksklusif . Boleh-boleh saja menjual salinan perangkat lunak GPL untuk mendapat untung. Anda hanya harus mematuhi ketentuan lisensi saat melakukannya.
Bernd Jendrissek
5
@BerndJendrissek: Dari sudut pandang teoretis, Anda benar. Tetapi karena Anda diharuskan untuk memberikan sumber ke perangkat lunak Anda kepada pelanggan Anda bersama dengan biner, dan pelanggan bebas untuk mendistribusikan kembali perangkat lunak Anda secara gratis jika dia mau (dan ada banyak orang di luar sana yang akan mempertimbangkannya) tugas mereka untuk melakukannya), kemungkinan sangat kecil bahwa Anda akan membuat banyak penjualan.
DevSolar
8
@DevSolar - Meskipun kode sumber terbuka dan gratis untuk mereka bagikan, itu tidak berarti bahwa aset non-kode lain dari proyek adalah. Dengan permainan, media, peta, skrip, dll., Mungkin di bawah lisensi yang berbeda dan mungkin tidak sah bagi pelanggan untuk mendistribusikannya. Sebagai contoh, lihat en.wikipedia.org/wiki/List_of_open-source_video_games
corvec
7
@DevSolar: RMS sendiri menjual perangkat lunak GPL selama bertahun-tahun untuk membiayai FSF.
Martin Schröder
5
Banyak orang menjual GPL dan kode sumber terbuka lainnya. Seluruh ekosistem Joomla dibangun di sekitar itu, begitu juga dengan Drupal (di Joomla lebih untuk plug and play, untuk Drupal lebih untuk pekerjaan kustom tetapi bagaimanapun juga itu semua GPL untuk dijual). Banyak pelanggan suka memiliki faktur dengan jaminan yang datang dengan transaksi keuangan, atau mereka suka merek; lihat berapa banyak orang membayar air botolan.
Elin
119

Melepaskan proyek di bawah lisensi MIT memberi orang izin untuk membayar proyek. Bagian dari filosofi di balik perangkat lunak bebas adalah memberi pengguna dan pengembang hak untuk menggunakan, memodifikasi, dan merilis perangkat lunak dengan cara yang biasanya tidak diizinkan. Jika Anda tidak ingin orang melakukan ini, maka jangan gunakan lisensi MIT. Anda tidak dapat benar-benar mengeluh ketika orang menggunakan kode di bawah ketentuan lisensi yang telah Anda berikan kepada mereka.

Garpu adalah hal yang cukup normal terjadi di komunitas perangkat lunak bebas. Sepertinya pengembang fork mencoba untuk berkontribusi pada proyek asli, dan tidak setuju sehingga mereka berkontribusi pada proyek mereka sendiri. Perangkat lunak bebas mendorong ini agar pengembang tidak terhindar dari memodifikasi perangkat lunak karena pemilik tidak menyukai perubahan mereka.

Juga, dengan merilis sesuatu di bawah lisensi perangkat lunak bebas, Anda mendapat manfaat dari kontribusi orang lain, kontribusi yang mungkin tidak Anda terima jika berada di bawah lisensi yang berbeda. Jika Anda menerima kontribusi di bawah lisensi, Anda harus menghormati ketentuan lisensi itu sendiri.

Salah satu cara untuk mempertahankan kontrol atas versi resmi adalah dengan mengandalkan hal-hal seperti merek dagang. Mozilla Corporation misalnya memiliki merek dagang di Firefox yang memungkinkan mereka menentukan apa yang dapat dilakukan orang dengan Firefox meskipun itu open source (Lihat Iceweasel untuk fork dari ini).

Lisensi lain seperti LGPL masih memungkinkan fork, tetapi tetap buka kodenya. Dengan cara ini, Anda setidaknya bisa memasukkan perubahan apa pun dari garpu ke proyek asli Anda, dan mendapat manfaat dari pengembangan di garpu. Kode LGPL dapat menggunakan kode berlisensi MIT apa pun sehingga jika Anda ingin lebih mengontrol proyek, Anda bisa menggunakan LGPL.

fgb
sumber
1
Saya akan menambahkan MPL sebagai entri yang patut dicatat ke daftar lisensi lain yang masih memungkinkan fork, tetapi tetap buka kodenya.
mucaho
Bisakah Anda menyentuh bagaimana kaitan lisensi BSD dengan ini?
jpmc26
2
@ jpmc26 - lisensi perangkat lunak adalah dokumen hukum, dan saya bukan pengacara jadi untuk jawaban pasti Anda perlu berkonsultasi dengan pengacara. Namun, konsensus umum adalah bahwa lisensi BSD dan MIT X11 serupa dalam apa yang mereka lakukan. Mereka sering disebut sebagai " lisensi akademik ".
Scott Whitlock
18

Saya tidak akan menyebutnya tidak etis. Saya akan menyebutnya tidak sportif. Ada harapan tidak tertulis bahwa Anda akan memberikan upaya dengan niat baik untuk meningkatkan versi aslinya sebelum memutuskan untuk bercabang, dan tampaknya penulis asli merasa bahwa upaya itikad baik tidak dilakukan.

Yang sedang berkata, cara terbaik untuk menghindari perangkat lunak Anda bercabang adalah untuk responsif terhadap permintaan pelanggan sedemikian rupa sehingga perangkat lunak Anda memiliki daya tarik seluas mungkin. Tidak ada yang akan memberikan dukungan kepada garpu jika mereka tahu yang asli lebih unggul. Selain itu, satu-satunya perlindungan Anda adalah mengubah persyaratan lisensi.

Karl Bielefeldt
sumber
14
Jika Anda ingin membawa perangkat lunak ke arah yang berbeda , yaitu jika ada perubahan yang akan menjadi peningkatan untuk tujuan Anda tetapi tidak diterima oleh pengelola saat ini, maka membuat garpu benar-benar masuk akal - begitulah umumnya terjadi. Mengubah persyaratan lisensi sesudahnya lebih mudah dikatakan daripada dilakukan - kecuali jika Anda adalah satu-satunya penulis atau memiliki persetujuan dari semua orang (tidak, katakanlah, 99%) yang berkontribusi, maka Anda tidak dapat benar-benar melakukannya.
Peteris
11
  • Apakah tindakan Xamarin dan cara tindakan itu dilakukan etis atau tidak?

Banyak orang mengacaukan situasi hukum dan etika. The X11 lisensi memungkinkan setiap orang untuk "menggunakan, menyalin, memodifikasi, menggabungkan, mempublikasikan, mendistribusikan, mensublisensikan, dan / atau menjual salinan Perangkat Lunak, dan untuk mengizinkan orang kepada siapa Perangkat Lunak ini untuk melakukannya", jadi ini pasti hukum .

Secara etis, ini lebih rumit. Di komunitas open source, umumnya dianggap lebih baik untuk meningkatkan perangkat lunak asli daripada membuat garpu. Di tautan yang Anda berikan , Miguel de Icaza mengatakan:

Seperti yang Anda ketahui, kami berkontribusi secara luas pada Cocos2D-XNA dan kami tidak dapat terus bekerja sama.

Setelah kami mencapai titik di mana kami tidak dapat berkolaborasi bersama, saya memutuskan untuk mengambil proyek ke arah yang saya inginkan dengan mengorbankan kompatibilitas ke belakang.

Tidak jelas mengapa mereka "tidak bisa berkolaborasi bersama", tetapi sepertinya Xamarin melakukan upaya yang masuk akal untuk mengerjakan proyek asli sebelum memutuskan untuk membayarnya.

  • Apakah mungkin untuk menghindari situasi seperti itu jika Anda seorang pengembang tunggal atau sekelompok kecil pengembang tanpa pendanaan?

Secara hukum, Anda dapat memilih untuk menggunakan lisensi yang tidak mengizinkan percabangan dengan melarang redistribusi kode sumber (pada titik ini, itu tidak akan menjadi "perangkat lunak bebas"). Pilihan lain adalah membiarkan kode tidak terbebani tetapi tidak mengizinkan redistribusi aset statis seperti gambar atau teks non-kode (beberapa game memiliki lisensi seperti ini).

Secara sosial, Anda dapat mencegah percabangan dengan:

  • Mempermudah orang berkontribusi perubahan pada proyek Anda.
  • Meninjau tambalan dengan cepat.
  • Mengizinkan perubahan yang tidak menguntungkan Anda secara langsung.
  • Menjadi sopan. Sejumlah fork yang mengejutkan adalah karena para kontributor tidak lagi mau bekerja sama.

Perangkat lunak forking banyak pekerjaannya, dan kebanyakan orang waras tidak akan melakukannya jika mereka memiliki pilihan yang lebih mudah. Jika mereka tidak memiliki pilihan lain, maka mencegah mereka memalsukan kode Anda hanya akan memaksa mereka untuk memalsukan kode orang lain atau menulis ulang perangkat lunak Anda dari awal. Mungkin memperlambat mereka, tetapi itu tidak akan banyak membantu Anda.

Selain itu, menggunakan lisensi yang lebih ketat akan membuat beberapa orang lebih kecil kemungkinannya untuk berkontribusi. Xamarin tampaknya "berkontribusi secara luas pada Cocos2D-XNA", dan saya ragu mereka akan melakukannya jika lisensi tidak mengizinkan mereka untuk mendistribusikannya kembali.

Brendan Long
sumber
1
Anda menyatakan bahwa orang mengacaukan situasi hukum dan etika dan bahkan mengatakan bahwa secara etika itu lebih rumit, tetapi Anda tidak memberikan alasan untuk mendukung pernyataan itu. Dengan kata lain apa yang Anda lihat sebagai komplikasi etis dalam forking perangkat lunak?
NotMe
1
Saya pikir ini lebih merupakan norma sosial daripada etika. Ini bukan tentang moral / tidak bermoral itu tentang "ini adalah bagaimana hal-hal dilakukan." Secara keseluruhan @BrendanLong benar bahwa fork adalah jumlah pekerjaan yang gila dan itulah sebabnya sebagian besar fork gagal, banyak yang berakhir dengan remerged ketika head pendingin menang, dan umumnya orang mencoba menghindarinya.
Elin
@ ChrisLively Situasinya benar-benar "rumit". Apa yang saya coba lakukan dalam jawaban adalah menunjukkan bahwa mungkin tidak etis untuk mengambil perangkat lunak, tetapi sepertinya Xamarin melakukan hal yang benar dalam kasus ini. Alasan mengapa mungkin tidak etis untuk melakukan fork perangkat lunak adalah karena bertanggung jawab atas proyek open source yang signifikan memberi orang rasa hormat dan kadang-kadang uang (orang cenderung suka mendapatkan dukungan dari pengelola proyek). Perangkat lunak forking umumnya akan mengambil sebagian dari itu dan tidak boleh dilakukan hanya karena Anda ingin menjadi penanggung jawab.
Brendan Long
2
Sebagai contoh, Cocos2D-XNA kemungkinan akan kehilangan banyak pengembang, karena garpu Xamarin tiba-tiba mendapatkan banyak dukungan perusahaan dan Cocos2D-XNA kehilangan mereka. Sangat logis bahwa pengelola marah, karena ia menciptakan proyek open source yang kemungkinan buntu pada saat ini. Di sisi lain, Xamarin tampaknya punya alasan kuat untuk melakukannya.
Brendan Long
10

Apa yang dilakukan Xamarin adalah legal dan etis ... hampir.

Mari kita lihat perbaikan komit pada lisensi dan perbaikan kesalahan ketik pada readme :

LicenseAndCredit.txt (diff)

-Copyright (c) 2010-2012 cocos2d-x.org
-
-Copyright (c) 2008-2010 Ricardo Quesada
-Copyright (c) 2011      Zynga Inc.
-Copyright (c) 2011-2012 openxlive.com
-Copyright (c) 2012      Totally Evil Entertainment, LLC
-Copyright (c) 2012      Gena Minchuk
-Copyright 2012 Xamarin Inc
+Copyright (c) The Cocos2D-XNA Team

Hanya ada satu persyaratan di seluruh Lisensi MIT:

Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian penting Perangkat Lunak.

Dan Xamarin melakukan hal terlarang. Xamarin mungkin berpikir bahwa itu membuat lisensi "lebih cantik" untuk memiliki lebih sedikit pemberitahuan hak cipta di atas, tetapi mereka tidak memiliki izin (legal atau etis) untuk menghapus "redundansi".

Tentu saja, jika mereka memperbaiki file lisensi, mereka akan kembali berada di area hukum. Penulis perpustakaan asli mungkin tidak setuju, tetapi dia membuat pilihan lisensi dan dia tidak bisa menyalahkan siapa pun bahwa mereka melakukan apa yang diizinkan lisensi secara eksplisit.

Athari
sumber
3
Ini ^ hanya satu untuk langsung ke sumber. +1
Ryan
25
Perubahan itu tampaknya tidak berasal dari basis kode bercabang dua . Lebih penting lagi, itu adalah oleh Jacob Anderson , anggota tim Cocos2D-XNA dan orang yang keberatan dengan garpu . Sebaliknya, Miguel de Icaza adalah orang yang melakukan forking . Apakah saya melewatkan sesuatu? Atau apakah Anda mengaitkan pemindahan tersebut dengan orang dan proyek yang salah?
Eliah Kagan
3
Itu September 2013? Saya bingung tentang waktu jika itu adalah bagian dari garpu yang baru saja terjadi.
Elin
9
@ Elin Ya, saya pikir diff adalah herring merah. Sejauh yang saya bisa lihat, itu tidak dilakukan oleh siapa pun dari Xamarin dan itu terjadi jauh sebelum garpu. Saya tidak berpikir ada itikad buruk yang terlibat di sini, tetapi posting ini jelas tampak seperti tuduhan keliru atas kesalahan.
Eliah Kagan
5
-1. Perubahan itu dibuat di Cocos2D-XNA, sebelum pertigaan terjadi. Inilah perubahan identik dalam Cocos2D-XNA.
David Hammen
4

Adalah teduh untuk memungkinkan orang untuk menarik kesimpulan yang salah tentang kepengarangan kode apa pun yang dikirimkan oleh garpu, bahkan jika legalitasnya dicakup dengan memberikan pemberitahuan yang diperlukan dan sejarah revisi bagi siapa pun yang memilih untuk melihat dari dekat. Jadi mungkin presentasi Xamarin tidak etis, mungkin tidak, tapi saya pikir itulah dasar untuk menilai itu: apakah itu menyesatkan?

Lisensi memberikan izin untuk menggunakan kode dan persyaratan untuk memasukkan pemberitahuan hak cipta yang relevan dengan salinan kode. Itu semua pada level yang cukup rendah. Itu tidak membahas bagaimana Anda harus secara terbuka merangkum siapa yang berkontribusi apa, tetapi hanya karena itu di luar ruang lingkup lisensi dan bukan bagian dari perjanjian hukum tidak berarti apa pun berjalan secara etis . Etika berbeda-beda, tetapi memberikan kredit jujur ​​di mana karena merupakan prinsip yang dipegang secara luas sehingga mudah untuk melihat mengapa gagal melakukannya akan memberikan pelanggaran.

Seperti semua orang bilang tidak ada niat dalam lisensi MIT untuk mencegah percabangan, jadi itu tidak etis dengan sendirinya. Jika "mengubah nama menjadi milik Anda" adalah kode untuk "membuat klaim kredit publik yang tidak pantas Anda dapatkan", maka yakin itu tidak etis jika benar.

Adapun untuk mencegah hal itu terjadi pada Anda: jika Anda ingin menghindari situasi orang lain menyindir bahwa kode Anda adalah milik mereka, maka Anda memerlukan suara keras ketika mengklaim kredit. Jika Anda ingin menghindari situasi seseorang membuat garpu kode Anda yang pada akhirnya mungkin terbukti lebih populer daripada yang asli Anda (baik karena sumber daya mereka yang lebih besar atau hanya berfokus pada kebutuhan pengguna yang "benar") maka saya pikir Anda keluar keberuntungan di OSS. Anda tidak bisa hanya memutuskan untuk menjadi benar jika kelompok lain menginginkan fitur yang berbeda dalam perangkat lunak dari apa yang Anda inginkan, dan jika (dalam pandangan pengguna) Anda salah maka Anda harus kehilangan terlepas dari berada di sana terlebih dahulu. Ini adalah konsekuensi dari prinsip open source utama (atau benar, prinsip perangkat lunak bebas) bahwa penulis tidak mengendalikan perangkat lunak, orang-orang yang menjalankannya melakukannya.

Steve Jessop
sumber
2

Perluasan topik merek dagang:

Di Apache Software Foundation, semua kodenya adalah AL. Dan, seperti halnya lisensi BSD yang sedang dibahas di sini, sangat jelas bahwa AL mengizinkan garpu. Titik. Akhir dari diskusi. Bahkan, seperti dibahas dalam jawaban lain, semua lisensi open source yang sebenarnya mengizinkan garpu. Yang mereka kontrol adalah lisensi / penggunaan kode bercabang.

Yayasan Apache telah memilih untuk mendaftar dan mempertahankan merek dagang. Jika beberapa entitas selain dari proyek pondasi fork, oh, 'Apache Tomcat', mereka baik-baik saja ... tetapi mereka tidak dapat menyebutnya Apache Tomcat , dan, ketika kita dapat mempertahankan tanda, mereka tidak dapat menyebutnya Tomcat .

Masalahnya di sini adalah bahwa merek dagang bukan untuk orang yang lemah hati. Jika Anda adalah sekelompok kecil orang, tanpa struktur hukum dan tanpa dana, Anda tidak bisa, secara praktis, menggunakan hukum merek dagang untuk melindungi nama Anda.

Pada akhirnya, hal semacam ini adalah salah satu alasan untuk berbagai yayasan di luar sana.

Dari sudut pandang etis, yah, jika ada pembelahan internal di antara para kontributor, siapa yang mengatakan siapa yang 'pantas' mempertahankan nama itu? Sebaliknya, jika garpu orang luar, mungkin bukan hal yang paling etis di dunia untuk membiarkan namanya tidak berubah. Itu juga bukan tindakan keji.

Github penuh dengan garpu . Terkadang orang mengubah nama, atau paket Java, atau apa pun - terutama jika mereka ingin mempublikasikan ke Maven central. Seringkali tidak, dan pengguna dibiarkan menavigasi kebingungan. Ini tidak ideal, tapi itu adalah istirahat dengan anarki.

bmargulies
sumber