Jak uniknąć wpadnięcia w zapomnienie przez silniejszego współpracownika?

119

Jak ostatnio informowaliśmy tutaj :

Xamarin rozwidlił Cocos2D-XNA, platformę do tworzenia gier 2D / 3D, tworząc międzyplatformową bibliotekę, którą można włączyć do projektów PCL.

Jednak założyciel rozwidlonego projektu mówi :

Celem licencji MIT jest unieważnienie dozwolonego użytku. Aby nie zachęcać Cię do wzięcia oprogramowania, zmień jego nazwę na własną, a następnie „weź go w nowym kierunku”, jak mówisz.

Chociaż nie jest nielegalne, jest nieetyczne.

Wygląda na to, że strona GitHub nowego projektu nawet nie wskazuje, że jest to rozwidlenie w typowy sposób GitHub, wybierając zamiast tego łatwo usuwalną sekcję Historia (patrz poniżej).

Więc moje pytania to:

  1. Czy działanie Xamarina i sposób jego wykonania były etyczne, czy nie?
  2. Czy można uniknąć takiej sytuacji, jeśli jesteś pojedynczym programistą lub małą niefinansową grupą programistów?

Mam nadzieję, że może to być pytanie typu wiki lub znajdą się obiektywne odpowiedzi oparte na etyce / filozofii współczesnego OSS.

Legowisko
źródło
25
To jest właśnie dokładnie to, do czego służy GNU GPL, zmusza widelce do umożliwienia ci scalenia ich zmian, jeśli je wypuszczą, dając ci ulepszenia, które wprowadzili i twoje własne.
Rzeczywistość
46
Licencja MIT została pierwotnie napisana dla X Window System i została napisana, aby umożliwić firmom rozwidlenie go i włączenie go do własnych produktów na sprzedaż.
Alan Shutko
5
@Vality: Tak naprawdę nie ma znaczenia, czy coś jest objęte licencją GPL czy MIT, jeśli chodzi o łączenie wstecz, a GPL ma własną wiązkę żądań.
DevSolar,
66
„Celem licencji MIT jest unieważnienie dozwolonego użytku. Nie zachęcanie do korzystania z oprogramowania, zmiany marki na własne, a następnie„ podążanie w nowym kierunku ”, jak mówisz.” - Umm, właściwie to po to właściwie jest. Nie ma czegoś takiego jak „Licencja MIT”. MIT korzysta z wielu różnych licencji. Przedmiotowa licencja to licencja MIT X11, która została stworzona specjalnie po to, aby dostawcy Uniksa mogli zintegrować MIT X11 ze swoimi Uniksami, zmienić jego markę, przepisać go i obrać w dowolnym kierunku.
Jörg W Mittag
10
Przewodnik ØMQ ma ciekawą historię na temat dokładnie tego scenariusza. Na wynos: „BSD sprawia, że ​​większość ludzi postrzega nas jako lunch. Zamknięte źródło sprawia, że ​​większość postrzega nas jako wrogów (czy lubisz płacić ludziom za oprogramowanie?) Jednak GPL sprawia, że ​​większość ludzi, z wyjątkiem Patricks of the world, nasi sojusznicy ”.
Michael Hampton

Odpowiedzi:

72

Czy działanie Xamarina i sposób jego wykonania były etyczne, czy nie?

Zapytajmy eksperta - wykaz samej licencji MIT w ramach Open Source Initiative , z całą licencją cytowaną:

Licencja MIT (MIT)

Prawo autorskie (c)

Niniejszym udziela się bezpłatnie każdej osobie, która otrzymuje kopię tego oprogramowania i powiązanych plików dokumentacji („Oprogramowanie”), do czynienia z Oprogramowaniem bez ograniczeń, w tym między innymi prawa do używania, kopiowania, modyfikowania, łączenia , publikować, rozpowszechniać, udzielać podlicencji i / lub sprzedawać kopie Oprogramowania oraz zezwalać na to osobom, dla których Oprogramowanie zostało dostarczone, z zastrzeżeniem następujących warunków:

Powyższa informacja o prawach autorskich i ta informacja o pozwoleniu będą zawarte we wszystkich kopiach lub znacznych częściach Oprogramowania.

OPROGRAMOWANIE JEST DOSTARCZANE „W STANIE, W JAKIM JEST”, BEZ ŻADNEJ GWARANCJI, WYRAŹNEJ LUB DOROZUMIANEJ, W TYM, ALE NIE OGRANICZONE DO GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NARUSZENIA. W ŻADNYM WYPADKU AUTORZY LUB POSIADACZE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK ROSZCZENIE, SZKODY LUB INNE ODPOWIEDZIALNOŚCI, NAWET W DZIAŁANIU UMOWY, TORTU LUB INNYCH INNYCH DZIAŁALNOŚCI, WYNIKAJĄCE Z, LUB ZWIĄZANE Z OPROGRAMOWANIEM LUB WYKORZYSTANIEM INNYCH USŁUG OPROGRAMOWANIE.

Jeśli ktokolwiek - osoba fizyczna lub firma - wyda oprogramowanie / kod źródłowy z licencją MIT, oznacza to, że ktokolwiek inny - osoba fizyczna lub firma może „zajmować się Oprogramowaniem bez ograniczeń”. Tak długo, jak informacja o prawach autorskich pozostaje nienaruszona, są w stanie robić, co chcą.

Jest to jeden z tych przypadków, w których etyka i legalność są prawie dokładnie takie same. Jeśli osoba lub grupa nie zrozumiała licencji lub jej konsekwencji, nie dołożyła należytej staranności. Inicjatywa Open Source zapewnia wiele innych ciekawych zasobów, które pomagają nam zrozumieć licencje, takie jak wariant MIT. Spójrzmy na kilka klauzul ich definicji Open Source:

1) Bezpłatna redystrybucja - Licencja nie będzie ograniczać żadnej strony do sprzedaży lub oddawania oprogramowania jako części zagregowanej dystrybucji oprogramowania zawierającej programy z kilku różnych źródeł. Licencja nie wymaga opłaty licencyjnej ani innych opłat za taką sprzedaż.

3) Prace pochodne - Licencja musi zezwalać na modyfikacje i prace pochodne oraz musi zezwalać na ich rozpowszechnianie na takich samych warunkach jak licencja oryginalnego oprogramowania.

5) Zakaz dyskryminacji osób lub grup - Licencja nie może dyskryminować żadnej osoby lub grupy osób.

6) Zakaz dyskryminacji w obszarach działalności - Licencja nie może nikomu ograniczać możliwości korzystania z programu w określonym obszarze działalności. Na przykład, nie może ograniczać możliwości używania programu w biznesie lub badań genetycznych.

Moim odczytaniu wydaje się to całkowicie jasne: wydanie czegoś jako oprogramowania typu open source, szczególnie z licencją MIT, pozwala komuś swobodnie zabrać oprogramowanie, zmienić je, spakować i sprzedać prawie w dowolny sposób, o ile nie t usunąć informacje o prawach autorskich i twierdzą, że jest to ich własny podeszwa praca.

Jako autor wyraźnie rezygnujesz z prawa do bycia wybrednym i wybrednym. Nie możesz zdecydować, kto lub co może skorzystać z twojego oprogramowania ani z niego korzystać, i nie możesz zdecydować, dlaczego z niego korzystają. Wyraźnie rezygnujesz z tego prawa.

Chodzi o to, że przyczyniasz się do większego dobra poprzez wyraźne zrzeczenie się wszelkich praw, które masz do kontrolowania i ograniczania używania i zmiany tego, co zrobiłeś. Jeśli Microsoft chce rozwidlić projekt FluffBall i sprzedać go za 2 tys. USD za stanowisko jako WindowsSpongeCake, może to zrobić. Czy przede wszystkim nie pozwalano ludziom robić, co chcą, całego projektu?

Czy można uniknąć takiej sytuacji, jeśli jesteś pojedynczym programistą lub małą niefinansową grupą programistów?

Rodzaj! Najpierw użyj licencji odpowiedniej dla Ciebie i celów i pragnień organizacji. Jeśli nie chcesz, aby ktokolwiek używał go w sposób, którego nie akceptujesz, prawdopodobnie nie powinieneś wypuszczać go jako Open Source - i szczerze mówiąc, być może nie powinieneś go w ogóle wypuszczać! Jeśli nie chcesz, aby ktokolwiek używał dzieła pochodnego (takiego jak widelec) w komercyjnym projekcie, prawdopodobnie powinieneś wybrać wersję GPL typu copyleft . Jeśli chcesz uzyskać licencję niekomercyjną, prawdopodobnie powinieneś poprosić o poradę prawnika / licencję, ponieważ często nie jest to w ogóle uważane za oprogramowanie typu „open source” i nie ma żadnej ważnej wcześniej napisanej licencji na poparcie tej sprawy.

Problem z kerfuffami Xamarin i Coco nie jest kwestią etyki ani legalności - chodzi o walkę w Internecie między kilkoma osobami, które mają ze sobą do czynienia. Wszyscy jesteśmy ludźmi, to się zdarza. Wydaje się, że jest to wynik niemożności współpracy / współpracy, prawdopodobnie z powodu konfliktu osobowości lub niezgodnych wizji dotyczących sposobu obsługi projektu.

Tak więc innym sposobem obrony jest otwarcie się na współpracę i zmiany, ale zrozum, że jeśli to nie zadziała, a wizje się rozejdą ... to jest powód, dla którego możesz wybrać rozwidlenie i mieć swój własny oddzielny projekt.

To bardzo ludzkie i zrozumiałe dla poczucia własności i popularności, że projekty oprogramowania są bardzo, bardzo skomplikowane. Ale celem open source jest próba przekroczenia tego i umożliwienie najlepszego oprogramowania dla wszystkich.

Podsumowując, jasno określ swoje cele przy podejmowaniu decyzji o licencji i zrozum, że ma to wpływ na twoją przyszłą kontrolę i kierowanie projektem. Jeśli chcesz po prostu przekazać darowiznę na rzecz większego dobra, najlepszym rozwiązaniem jest oprogramowanie typu open source. Jeśli chcesz ściślej kontrolować swój projekt i mieć własność oraz przynajmniej sprawę prawną, jeśli ktoś spróbuje sprzedać twój projekt lub przejąć go na swój (częściowo lub całkowicie), będziesz potrzebować innej licencji i prawdopodobnie będziesz musiał załatw to z prawnikiem.

BrianH
źródło
35
Drobiazg na temat mylącego języka: korzystanie z GPL nie ograniczyłoby komercyjnego użycia, ale zastrzeżone . Sprzedawanie kopii oprogramowania GPL z zyskiem jest całkowicie w porządku. Po prostu musisz przestrzegać warunków licencji.
Bernd Jendrissek,
5
@BerndJendrissek: Z teoretycznego punktu widzenia masz rację. Ale ponieważ musisz podać źródła oprogramowania klientowi wraz z plikiem binarnym, a klient może bezpłatnie dystrybuować oprogramowanie, jeśli sobie tego życzy (i jest wiele osób, które by to rozważyły ich obowiązek to zrobić), szanse są niewielkie, że można osiągnąć wiele sprzedaży.
DevSolar
8
@DevSolar - Mimo że kod źródłowy jest otwarty i może go rozpowszechniać, nie oznacza to, że są to inne nie-kodowe zasoby projektu. W przypadku gry media, mapy, skrypty itp. Mogą być objęte inną licencją i ich dystrybucja może być niezgodna z prawem. Przykłady można znaleźć na en.wikipedia.org/wiki/List_of_open-source_video_games
corvec
7
@DevSolar: Sam RMS przez wiele lat sprzedawał oprogramowanie GPL, aby sfinansować FSF.
Martin Schröder,
5
Wiele osób sprzedaje GPL i inny kod open source. Na tym opiera się cały ekosystem Joomla, podobnie jak Drupal (w Joomla chodzi bardziej o plug and play, w Drupal jest to bardziej praca na zamówienie, ale tak czy inaczej, wszystko to na licencji GPL). Wielu klientów lubi fakturę z gwarancjami związanymi z transakcją finansową lub podoba im się marka; zobacz, ile osób płaci za wodę butelkowaną.
Elin
119

Wydanie projektu na licencji MIT daje ludziom pozwolenie na rozwidlenie projektu. Częścią filozofii stojącej za wolnym oprogramowaniem jest zapewnienie użytkownikom i programistom prawa do używania, modyfikowania i wydawania oprogramowania w sposób, który normalnie nie byłby dozwolony. Jeśli nie chcesz, aby ludzie to robili, nie używaj licencji MIT. Naprawdę nie możesz narzekać, kiedy ludzie używają kodu na warunkach udzielonej im licencji.

Widelce są dość normalną rzeczą w społeczności wolnego oprogramowania. Wygląda na to, że programiści rozwidlenia próbowali przyczynić się do oryginalnego projektu i nie zgodzili się, więc zamiast tego przyczynili się do własnego projektu. Wolne oprogramowanie zachęca do tego, aby programiści nie mieli możliwości modyfikowania oprogramowania, ponieważ właściciele nie lubią ich zmian.

Ponadto, wydając coś na podstawie licencji wolnego oprogramowania, korzystasz z wkładów innych osób, wkładów, których możesz nie otrzymać, gdyby było to na podstawie innej licencji. Jeśli akceptujesz wkłady na podstawie licencji, sam musisz przestrzegać warunków licencji.

Jednym ze sposobów utrzymania kontroli nad oficjalną wersją jest poleganie na znakach towarowych. Na przykład Mozilla Corporation ma znak towarowy w Firefoksie, który pozwala im dyktować, co ludzie mogą zrobić z Firefoksem, nawet jeśli jest to oprogramowanie open source (zobacz Iceweasel, aby zapoznać się z tym).

Inne licencje, takie jak LGPL, nadal zezwalają na widelce, ale kod należy pozostawić otwarty. W ten sposób możesz przynajmniej wprowadzić zmiany z widelca do swojego oryginalnego projektu i skorzystać z rozwoju widelca. Kod LGPL może używać dowolnego kodu licencjonowanego MIT, więc jeśli chcesz mieć większą kontrolę nad projektem, możesz zamiast tego użyć LGPL.

FGB
źródło
1
Dodałbym MPL jako godną uwagi pozycję na liście innych licencji, które wciąż zezwalają na rozwidlenia, ale zachowują kod otwarty.
mucaho
Czy mógłbyś poruszyć, w jaki sposób odnoszą się do tego licencje BSD ?
jpmc26
2
@ jpmc26 - licencje na oprogramowanie są dokumentami prawnymi i nie jestem prawnikiem, więc aby uzyskać ostateczną odpowiedź, musisz skonsultować się z prawnikiem. Jednak ogólny konsensus jest taki, że licencje BSD i MIT X11 są podobne w tym, co robią. Często określa się je mianem „ licencji akademickich ”.
Scott Whitlock,
18

Nie nazwałbym tego nieetycznym. Nazwałbym to niesportowym. Istnieje niepisane oczekiwanie, że dołożysz starań w dobrej wierze, aby poprawić oryginalną wersję przed podjęciem decyzji o rozwidleniu, i wydaje się, że oryginalny autor uważa, że ​​wysiłek w dobrej wierze nie został podjęty.

To powiedziawszy, najlepszym sposobem na uniknięcie rozwidlenia oprogramowania jest reagowanie na żądania klientów w taki sposób, aby Twoje oprogramowanie miało jak najszerszy apel. Nikt nie udzieli wsparcia widelcowi, jeśli wie, że oryginał jest lepszy. Poza tym jedyną ochroną jest zmiana warunków licencyjnych.

Karl Bielefeldt
źródło
14
Jeśli chcesz obrać oprogramowanie w innym kierunku, tzn. Jeśli istnieją zmiany, które byłyby poprawą dla twoich celów, ale nie zostały zaakceptowane przez obecnego opiekuna, zrobienie rozwidlenia jest całkowicie rozsądne - tak to na ogół się dzieje. Późniejsza zmiana warunków licencjonowania jest łatwiejsza do powiedzenia niż do zrobienia - chyba że jesteś jedynym autorem lub masz zgodę wszystkich (nie, powiedzmy, 99%), którzy przyczynili się, to naprawdę nie możesz tego zrobić.
Peteris,
11
  • Czy działanie Xamarina i sposób jego wykonania były etyczne, czy nie?

Wiele osób łączy sytuację prawną i etyczną. Licencja X11 pozwala każdemu „użytkowania, kopiowania, modyfikowania, łączenia, publikowania, dystrybucji, udzielania licencji i / lub sprzedawania kopii Oprogramowania oraz w celu umożliwienia osobom, którym Oprogramowanie jest dostarczane, aby to zrobić”, więc jest to na pewno legalne .

Jednak etycznie jest to bardziej skomplikowane. W społecznościach typu open source generalnie uważa się za lepsze ulepszenie oryginalnego oprogramowania niż tworzenie widelca. W podanym linku Miguel de Icaza mówi:

Jak wiecie, wnieśliśmy duży wkład w Cocos2D-XNA i po prostu nie mogliśmy dalej współpracować.

Gdy doszliśmy do punktu, w którym nie mogliśmy ze sobą współpracować, postanowiłem skierować projekt w pożądanym kierunku, kosztem kompatybilności wstecznej.

Nie jest jasne, dlaczego „nie mogli współpracować ze sobą”, ale wygląda na to, że Xamarin podjął rozsądny wysiłek, aby pracować nad oryginalnym projektem, zanim zdecydował się go rozwidlić.

  • Czy można uniknąć takiej sytuacji, jeśli jesteś pojedynczym programistą lub małą niefinansową grupą programistów?

Zgodnie z prawem możesz użyć licencji, która nie pozwala na rozwidlenie, uniemożliwiając redystrybucję kodu źródłowego (w tym momencie nie byłoby to „wolne oprogramowanie”). Inną opcją jest pozostawienie kodu nieobciążonego, ale nie zezwalanie na redystrybucję zasobów statycznych, takich jak obrazy lub tekst bez kodu (niektóre gry mają takie licencje).

Społecznie możesz zapobiec rozwidleniu poprzez:

  • Ułatwianie ludziom wprowadzania zmian w projekcie.
  • Szybkie przeglądanie poprawek.
  • Zezwalanie na zmiany, które nie przynoszą bezpośrednich korzyści.
  • Uprzejmy. Zaskakująca liczba rozwidleń wynika z faktu, że autorzy nie chcą już ze sobą współpracować.

Oprogramowanie do rozwidlania to dużo pracy, a większość rozsądnych ludzi nie zrobi tego, jeśli będzie miała łatwiejszą opcję. Jeśli nie będą mieli innego wyboru, zapobieganie rozwidlaniu kodu zmusi go do rozwidlenia kodu innej osoby lub przepisania oprogramowania od zera. Może to ich spowolnić, ale tak naprawdę niewiele ci pomoże.

Ponadto stosowanie bardziej restrykcyjnej licencji sprawi, że niektórzy ludzie będą mniej skłonni do wniesienia wkładu. Xamarin najwyraźniej „przyczynił się w znacznym stopniu do Cocos2D-XNA” i wątpię, czy zrobiliby to, gdyby licencja nie pozwalała na jego redystrybucję.

Brendan Long
źródło
1
Stwierdzasz, że ludzie mieszają się z sytuacją prawną i etyczną, a nawet twierdzisz, że Etycznie jest to bardziej skomplikowane, ale nie podajesz żadnych powodów, aby poprzeć te oświadczenia. Innymi słowy, co postrzegasz jako etyczną komplikację w tworzeniu oprogramowania?
NotMe
1
Myślę, że to bardziej normy społeczne niż etyka. Tu nie chodzi o moralność / niemoralność, chodzi o „tak się rzeczy mają”. Ogólnie rzecz biorąc @BrendanLong ma rację, że widelce są szaloną ilością pracy i dlatego większość widelców zawodzi, wiele innych kończy się remergiem, gdy dominują chłodniejsze głowy, i na ogół ludzie starają się ich unikać.
Elin
@ChrisLively Sytuacja jest naprawdę „skomplikowana”. W odpowiedzi starałem się wskazać, że rozwidlenie oprogramowania może być nieetyczne, ale wygląda na to, że Xamarin postąpił właściwie w tym przypadku. Rozwinięcie oprogramowania może być nieetyczne, ponieważ kierowanie znaczącym projektem open source przynosi ludziom pewien szacunek, a czasem pieniądze (ludzie lubią otrzymywać wsparcie od opiekunów projektu). Oprogramowanie do rozwidlania zazwyczaj zabiera część tego i nie należy tego robić tylko dlatego, że chcesz być osobą odpowiedzialną.
Brendan Long
2
Na przykład Cocos2D-XNA prawdopodobnie straci wielu programistów, ponieważ widelec Xamarina nagle zyskuje mnóstwo korporacyjnego wsparcia, a Cocos2D-XNA traci swoje. Jest całkowicie logiczne, że opiekun jest zły, ponieważ stworzył projekt open source, który prawdopodobnie jest w tym momencie ślepy zaułek. Z drugiej strony Xamarin wydaje się mieć dobry powód, aby to zrobić.
Brendan Long
10

To, co zrobił Xamarin, jest legalne i etyczne ... prawie.

Rzućmy okiem na poprawkę zatwierdzenia licencji i różne poprawki literówek w pliku 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

W całej licencji MIT jest tylko jeden wymóg:

Powyższa informacja o prawach autorskich i ta informacja o pozwoleniu będą zawarte we wszystkich kopiach lub znacznych częściach Oprogramowania.

I Xamarin zrobił dokładnie to, co zabronione. Xamarin może uważać, że dzięki temu licencja jest „ładniejsza”, ponieważ na górze ma mniej informacji o prawach autorskich, ale nie mają pozwolenia (prawnego ani etycznego) na usunięcie „nadmiarowości”.

Oczywiście, jeśli naprawią plik licencji, ponownie znajdą się w obszarze prawnym. Autor oryginalnej biblioteki może się nie zgodzić, ale dokonał wyboru licencji i nie może winić nikogo, że zrobił to, na co licencja wyraźnie zezwala.

Athari
źródło
3
Ten ^ tylko jeden, aby przejść bezpośrednio do źródła. +1
Ryan
25
Wydaje się, że ta zmiana nie pochodzi z rozwidlonej bazy kodu. Co ważniejsze, to Jacob Anderson , członek zespołu Cocos2D-XNA i ten, który sprzeciwił się rozwidleniu . Natomiast Miguel de Icaza jest tym, który zrobił rozwidlenie . Czy coś brakuje? A może przypisałeś przeprowadzki niewłaściwej osobie i projektowi?
Eliah Kagan
3
To był wrzesień 2013? Jestem zdezorientowany co do czasu, jeśli jest to część widelca, który właśnie się wydarzył.
Elin
9
@Elin Tak, myślę, że diff to czerwony śledź. O ile widzę, nie zrobiło tego nikt z Xamarin i stało się to na długo przed rozwidleniem. Nie sądzę, żeby w grę wchodziła jakaś zła wiara, ale ten post z pewnością wydaje się fałszywym oskarżeniem o wykroczenia.
Eliah Kagan
5
-1. Zmiany dokonano w Cocos2D-XNA, zanim nastąpił rozwidlenie. Oto identyczna zmiana w Cocos2D-XNA.
David Hammen
4

Niełatwo byłoby pozwolić ludziom na wyciąganie błędnych wniosków na temat autorstwa jakiegokolwiek kodu, z którego korzystają statki widłowe, nawet jeśli legalność jest objęta zapewnieniem niezbędnych powiadomień i historii zmian każdemu, kto zdecyduje się przyjrzeć. Więc może prezentacja Xamarina jest nieetyczna, może nie, ale myślę, że to jest podstawa do jej oceny: czy wprowadza w błąd?

Licencja określa pozwolenie na korzystanie z kodu oraz wymóg dołączenia odpowiednich informacji o prawach autorskich do kopii kodu. To wszystko na dość niskim poziomie. Nie omawia, w jaki sposób należy publicznie podsumować, kto przyczynił się, ale to, że jest to poza zakresem licencji i nie stanowi części umowy prawnej , nie oznacza, że ​​wszystko idzie etycznie . Etyka jest różna, ale przyznawanie uczciwego uznania jest powszechnie uznawaną zasadą, więc łatwo jest zrozumieć, dlaczego nieprzestrzeganie tego będzie obrażać.

Jak wszyscy mówią, w licencji MIT nie ma zamiaru zapobiegać rozwidleniom, więc samo w sobie nie jest to nieetyczne. Jeśli „rebranduj go jako swój własny” to kod dla „publicznie zgłaszaj roszczenia kredytowe, na które nie zasługujesz”, to upewnij się, że byłoby to nieetyczne, jeśli to prawda.

Jeśli chodzi o zapobieganie, aby ci się to nie zdarzyło: jeśli chcesz uniknąć sytuacji, w której ktoś sugeruje, że Twój kod należy do Ciebie, to potrzebujesz głośnego głosu podczas ubiegania się o kredyt. Jeśli chcesz uniknąć sytuacji, w której ktoś tworzy rozwidlenie twojego kodu, który może ostatecznie okazać się bardziej popularny niż twój oryginalny (albo ze względu na ich większe zasoby, albo po prostu skupienie się na potrzebach „właściwego” użytkownika), myślę, że nie masz dostępu szczęścia w OSS. Nie możesz po prostu zdecydować, że masz rację, jeśli inna grupa chce innych funkcji w oprogramowaniu od tego, czego chcesz, a jeśli (w opinii użytkowników) się mylisz, powinieneś przegrać, niezależnie od tego, czy był tam pierwszy. Jest to konsekwencja podstawowej zasady otwartego oprogramowania (lub właściwie zasady wolnego oprogramowania), że autor nie kontroluje oprogramowania, ludzie, którzy go uruchamiają.

Steve Jessop
źródło
2

Rozszerzenie tematu znaku towarowego:

W Apache Software Foundation cały kod to AL. Podobnie jak w przypadku omawianej tutaj licencji BSD, jest całkowicie jasne, że AL zezwala na widelce. Kropka. Koniec dyskusji. W rzeczywistości, jak omówiono w innych odpowiedziach, wszystkie prawdziwe licencje typu open source zezwalają na widelce. Kontrolują jedynie licencję / użycie rozwidlonego kodu.

Fundacja Apache zdecydowała się zarejestrować i bronić znaków towarowych. Jeśli jakaś istota inna niż projekt fundacyjny rozwidla się, och, „Apache Tomcat”, są w porządku ... ale nie mogą nazywać go Apache Tomcat , a kiedy możemy obronić znak, nie mogą nazywać go Tomcat .

Problem polega na tym, że znaki towarowe nie są dla osób o słabym sercu. Jeśli jesteś małą grupą ludzi, bez struktury prawnej i finansowania, praktycznie nie możesz używać prawa znaków towarowych do ochrony swojego imienia i nazwiska.

W końcu tego rodzaju rzeczy są jednym z powodów istnienia różnych fundacji.

Z etycznego punktu widzenia, cóż, jeśli istnieje wewnętrzny rozłam między ofiarodawcami, kto ma powiedzieć, kto „zasługuje” na zachowanie nazwy? Jeśli natomiast ktoś z zewnątrz rozwidla, pozostawienie imienia bez zmian prawdopodobnie nie jest najbardziej etyczną rzeczą na świecie. To też nie jest haniebny czyn.

Github jest pełen widelców . Czasami ludzie zmieniają nazwę, pakiet Java lub cokolwiek innego - szczególnie jeśli chcą publikować w Maven Central. Często tego nie robią, a użytkownicy poruszają się po labiryncie zamieszania. To nie jest idealne, ale to zrywa z anarchią.

bmargulies
źródło