Czy można przepisać każdą linię projektu open source w nieco inny sposób i użyć go w projekcie zamkniętym?

122

Jest trochę kodu, który jest GPL lub LGPL, który rozważam użyć do projektu iPhone'a.

Gdybym wziął ten kod (JavaScript) i przepisał go w innym języku do użytku na iPhonie, czy byłoby to kwestią prawną?

Teoretycznie proces, który się wydarzył, polega na tym, że przejrzałem każdą linię projektu, nauczyłem się, co robi, a następnie wdrożyłem pomysły w nowym języku.

Wydaje mi się, że to tak, jakby nauczyć się czegoś implementować, ale potem wdrożyć to oddzielnie od oryginalnej licencji. Dlatego skopiowałeś tylko algorytm, który prawdopodobnie mógł się nauczyć z innego miejsca niż pierwotny projekt.

Czy licencja obejmuje również określoną implementację lub algorytm?

EDYTOWAĆ------

Naprawdę cieszę się, że ten temat tworzy dobrą rozmowę. Aby dać nieco więcej wsparcia projektowi, zaangażowany kod wykonuje jakąś analizę audio. Uważam, że nauka i wdrażanie nie jest trywialne, chociaż byłem przygotowany do podjęcia tego zadania (jestem na poziomie, na którym mogę zaimplementować algorytm FFT , a to miało wyjść poza to). Jest to dość niski skrypt LOC , więc nie sądziłem, że wykonanie prostego portu byłoby zbyt trudne.

Naprawdę podoba mi się pomysł zwolnienia mojego portu, a także wykorzystania go w aplikacji. Nie widzę w tym żadnego problemu i byłby to świetny sposób na przekazanie czegoś społeczności.

Chciałem dodać linijkę o tym, że nie chcę rozmawiać o kwestiach moralnych, ale cieszę się, że tego nie zrobiłem, ponieważ wydaje się, że nieco rozpaliłem debatę.

Nadal czuję się trochę dziwnie, korzystając z kodu open source do nauki. Czy to oznacza, że ​​cokolwiek, czego się uczysz z projektu o otwartym kodzie źródłowym, nie jest dozwolone w projekcie o zamkniętym kodzie źródłowym? A jak długo po wdrożeniu lub inaczej musi to być wdrożenie, aby nie uznać go za naruszenie licencji? Mroczny!

EDYCJA 2 --------

Dalsze pytanie

Chris Barry
źródło
27
Naprawdę chciałbym przejść do sedna innego pytania: „Jeśli nauczysz się algorytmu z programu typu open source i ponownie go zaimplementujesz, czy naruszyłeś licencję?” Pytam o to z prawnego, a nie moralnego punktu widzenia. Ale czy nawet z moralnego punktu widzenia nie jest to uzasadniona forma uczenia się? Czy nie wolno nam wykorzystywać wiedzy zdobytej w ramach projektów open source? To wydaje się sprzeczne z celem samej GPL?
Chris Barry
8
@optician Problem polega na tym, że chcesz tłumaczyć wiersz po wierszu, co wyraźnie czyni go dziełem pochodnym, takim jak tłumaczenie między ludzkimi językami. Sam pomysł nie jest chroniony prawem autorskim, zamiast tego może być objęty patentem. Ale uwaga, IANAL.
starblue
3
Komentatorzy: komentarze mają na celu poszukiwanie wyjaśnień, a nie dłuższą dyskusję. Jeśli masz rozwiązanie, zostaw odpowiedź. Jeśli Twoje rozwiązanie jest już opublikowane, głosuj za nim. Jeśli chcesz omówić to pytanie z innymi, skorzystaj z czatu . Aby uzyskać więcej informacji, zobacz często zadawane pytania .
2
@optician System Stack Exchange nie jest forum dyskusyjnym, w którym każdy post jest tematem, który może zmieniać kierunek w czasie: jeśli masz inne pytanie, z którym chciałbyś uzyskać pomoc, zadaj kolejne pytanie. W przeciwnym razie możesz edytować swoje pytanie, aby wyjaśnić, czy otrzymane odpowiedzi nie w pełni rozwiązują pierwotny problem.
2
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ dotyczy ono kwestii prawnych.
Robert Harvey

Odpowiedzi:

257

Nie jestem prawnikiem. To nie jest porada prawna.

To powiedziawszy, biorąc każdą linię aplikacji i zmieniając ją nieznacznie wyłącznie w celu obejścia prawa autorskiego, jest oczywiście rażąco, tworząc dzieło pochodne bez żadnej możliwej obrony. Nawet najdroższy sędzia i ława przysięgłych z pewnością odnajdą się przeciwko tobie, jeśli kiedykolwiek zostaniesz wciągnięty do sądu.

Dla porównania: firmy, które muszą przepisać coś dla interoperacyjności, zwykle zatrudniają różne grupy ludzi, aby zrozumieć źródło i stworzyć port („implementacja czystego pokoju”), aby nikt nie mógł ich oskarżyć o utworzenie pochodnej praca. To, co proponujesz, jest dokładnie odwrotne.

Kilian Foth
źródło
25
Chciałbym dać ci +10 ...
Marjan Venema
5
To „jeśli” kiedykolwiek trafi do sądu.
QueueHammer
5
Jeśli oprogramowanie w ogóle się powiedzie, najprawdopodobniej w pewnym momencie trafi do sądu.
Justin C
4
@optician: Zależy od tego, jak blisko jesteś rekonstrukcji oryginału, i na takie pytanie potrzebujesz odpowiedzi prawnika.
David Thornley,
5
@DavidStone Masz to do tyłu. Musisz zrozumieć, że algorytm logiczny i określone wyrażenie algorytmu w kodzie są prawnie odrębne; tylko wyrażenie jest chronione prawem autorskim. Grupa przeprowadzająca ponowną implementację nie ma kontaktu z pierwotnym wyrażeniem algorytmu (widzą tylko wewnętrzną dokumentację dotyczącą algorytmu logicznego), a ich pisemne wyrażenie prawdopodobnie będzie inne niż pierwotne wyrażenie, więc jest mało prawdopodobne, że mogłyby naruszać prawa autorskie. Mogą jednak łatwo naruszać patent, ponieważ ich logiczny algorytm jest identyczny z oryginałem.
apsillers,
72

Według Betsy Rosenblatt z Harvard Law School's Copyright Basics :

Co stanowi naruszenie praw autorskich?

Z zastrzeżeniem niektórych środków obronnych, naruszenie praw autorskich przez osobę inną niż autor, wykonuje następujące czynności bez zgody autora:

  1. skopiuj lub powiel utwór
  2. utwórz nowe dzieło pochodzące z oryginalnego dzieła (na przykład, tłumacząc je na nowy język, kopiując i zniekształcając obraz lub przenosząc je na nowy nośnik wypowiedzi)
  3. sprzedać lub przekazać utwór lub jego kopię po raz pierwszy (ale gdy autor to uczyni, prawo do sprzedaży lub rozdania przedmiotu przechodzi na nowego właściciela). Nazywa się to „pierwszym doktryna sprzedaży: po tym, jak właściciel praw autorskich sprzedał lub podarował dzieło lub jego kopię, odbiorca lub nabywca może zrobić, co chce, z tym, co przedstawia.) 17 USC §109 (a).
  4. wykonać lub wyświetlić pracę publicznie (to prawo nie dotyczy sztuki wizualnej) bez zgody właściciela praw autorskich. 17 USC §106. Naruszenie „praw moralnych” autora określonych w 17 USC 106A stanowi także naruszenie praw autorskich. Prawa moralne są omawiane w tym miejscu.

Wydaje mi się, że naruszasz punkt 2 powyżej.

Myślę jednak, że terminologia jest tutaj bardzo ważna. Powiedziałeś: „Gdybym wziął ten kod (javascript) i przepisał go w innym języku do użytku na iPhonie, czy byłoby to kwestią prawną?” (moje podkreślenie). Przepisywanie czegoś może, ale nie musi, różnić się od kopiowania. Na przykład, jeśli spojrzałeś na Mona Lisę, a potem poszedłeś do swojego studia i namalowałeś to, co o nim pamiętasz, to wydaje mi się, że tworzysz oryginalne dzieło, które jest wyrazem tego, jak postrzegałeś oryginał. Jeśli jednak miałeś kopię Mona Lisy w swoim studio i namalowałeś kopię, a nie to, co pamiętasz, to myślę, że zdecydowanie kopiujesz.

W ten sam sposób, jeśli używasz MS Word, a może nawet jeśli spojrzysz na część kodu, a następnie pójdziesz i napiszesz własny edytor tekstu, który ma podobieństwa funkcjonalne, uważam, że istnieją przypadki, w których zdecydowano, że „wyglądać & feel ”nie jest objęty prawem autorskim. (To oczywiście nie mówi o patentach.)

Prawdopodobnie powinieneś zapytać prawnika (bo nie jestem nim).

Moim osobistym zdaniem jest to, że „port” jest dziełem pochodnym i dlatego musisz zwolnić przeniesiony kod na tej samej licencji.

Scott Whitlock
źródło
1
jest także kwestia udowodnienia tego. Jeśli spojrzałeś na kod źródłowy Worda, a następnie napisałeś własny edytor tekstu ... będziesz miał trudności z udowodnieniem, że niczego nie skopiowałeś.
gbjbaanb
6
@gbjbaanb: Microsoft musi udowodnić, że zrobiłeś to inaczej, w większości krajów. Nie ma to znaczenia, ponieważ jeśli Microsoft cię pozwie, to masz problemy, chyba że możesz uzyskać dużą firmę, która zabierze Cię na pro bono. :-) A jeśli miałeś dostęp do kodu źródłowego Word, szanse są całkiem dobre, już coś podpisałeś, mówiąc, że i tak nie napiszesz niczego, aby z nim konkurować ...
TJ Crowder
3
Zamiast pisać „tutaj” lepiej wymień autora: „Betsy Rosenblatt, Harvard Law School”.
Nicolai Reuschling
3
@Nicolai Reuschling: lol :)
Scott Whitlock
4
@TRiG: „Nie wiem, dlaczego uważasz, że to zabawne”. - Być może dlatego, że nie masz poczucia ironii. ;)
Scott Whitlock
55

Nie jestem prawnikiem, nie jest to porada prawna, a jeśli polegasz na tym, co mówię w jakimkolwiek podejrzanym przedsięwzięciu (1) jesteś idiotą i (2) zrzekam się wszelkiej odpowiedzialności. To właśnie słyszałem i czytałem przez lata od ludzi, którzy wydają się wiedzieć.

Sędziowie nie grają w gry „teoretyczne”. Nie lubią ludzi, którzy wymyślają sposoby zmiany prawa, które być może są akceptowalne pod względem logicznej analizy, ale które są sprzeczne z oczywistymi intencjami i tym, jak sędziowie rządzili w przeszłości. Nigdy nie staraj się zbyt sprytnie podchodzić do prawa, jeśli istnieje szansa, że ​​trafisz na salę sądową w obronie swojej interpretacji.

Powszechnie przyjmuje się, że wzięcie powieści i zrobienie z niej filmu lub przetłumaczenie go na inny język tworzą dzieła pochodne, a są to znacznie większe transformacje niż te, o których mówisz, i wymagają znacznie większej kreatywności. Spójrz na to jako przykłady; sędzia na pewno to zrobi.

W Stanach Zjednoczonych zdarzały się przypadki, gdy kopiowanie programu w sposób bardziej luźny, niż mówisz, zostało uznane za naruszenie. W Stanach Zjednoczonych spodziewaj się, że zostaną wykorzystane jako precedens.

Innymi słowy, będziesz zakładać przedsiębiorstwo komercyjne na podstawie, która zostanie uznana za nielegalną, jeśli ktokolwiek będzie się starał szukać. To nie jest dobry pomysł.

Co więcej, jeśli masz szacunek dla idei prawa autorskiego lub jakąkolwiek kontrolę autora nad tym, co publikuje, jesteś hipokryzją. Kod źródłowy został udostępniony do użytku pod pewnymi warunkami. Naruszasz prawo i wyraźne zamiary autora.

Teraz algorytmy nie mogą być chronione prawami autorskimi. W Stanach Zjednoczonych sądy orzekły, że pomysł nie jest objęty prawem autorskim, a wszystko, co normalnie podlega prawu autorskiemu, które jest jedynym sposobem wyrażenia czegoś, nie podlega prawu autorskiemu. Dlatego z pewnością możesz użyć algorytmu.

Istnieje sposób na skopiowanie algorytmu chronionego prawem autorskim: podejście „clean room”, w którym jedna osoba lub grupa bada kod źródłowy i tworzy opis algorytmu (z możliwie najmniejszą liczbą szczegółów implementacji), a inna osoba lub grupa zapisuje nowy kod bez odniesienia do oryginalnego źródła. Im bardziej się do tego zbliżysz, tym będziesz bezpieczniejszy.

Możesz również wziąć pod uwagę, że zamieszczając pytanie tutaj, opublikowałeś potencjalny zamiar naruszenia praw autorskich, w formie, którą można prawdopodobnie prześledzić, jeśli ktoś ma do tego prawo (np. Odkrycie w sprawa cywilna lub zwykłe śledztwo policyjne, jeśli okaże się to sprawą karną).

David Thornley
źródło
18
+1 za „Możesz również wziąć pod uwagę, że zamieszczając tutaj pytanie, opublikowałeś potencjalny zamiar naruszenia praw autorskich”.
6
+1 Za podejście „czystego pokoju” - zawsze zastanawiałem się, jak to działa.
DMan
Właśnie zamieściłem na forum autorów informację o obecnej sytuacji i opublikuję wyniki tutaj.
Chris Barry
W jaki sposób algorytm jest pomysłem, a program nie jest pomysłem? Lub w jaki sposób program nie jest zbiorem algorytmów?
Skuter
16

Dlaczego nie miałbyś po prostu otworzyć swojego portu źródłowego i pozwolić, aby reszta projektu została zamknięta?

Cytując inną odpowiedź :

Open source działa, ponieważ jest społecznością. Ponieważ to jest wzajemne. Nie zarabiasz pisząc kod open source. Dostajesz pieniądze, konsumując kod open source. Dlaczego więc piszesz kod źródłowy? Aby oddać coś.

Ale z bardziej pragmatycznego punktu widzenia:
jeśli przeniesiony kod jest naprawdę tak przydatny, że uważasz, że powinieneś go chronić, aby zachować przewagę (której nie masz, ponieważ osoby używające Appceleratora mogą go użyć od razu), prędzej czy później będzie portem typu open source. Będzie on obsługiwany przez wiele osób, będzie używany i tym samym testowany przez jeszcze więcej osób, a ponadto zostanie dopracowany w celu włączenia zasad promowanych przez język docelowy i lepszego interfejsu z dominującymi platformami na twojej platformie. Wcześniej czy później Twój kod będzie wyglądał jak bzdura w porównaniu z nim.
Otwarte pozyskiwanie jest w rzeczywistości szansą na pozostanie na czele. To wygrana-wygrana. Jeśli masz szczęście, dostaniesz nawet opiekunów dla tego kodu i możesz skoncentrować się na logice aplikacji, co w rzeczywistości czyni twój produkt wyjątkowym.

back2dos
źródło
1
+1 Niektóre z najlepszych dostępnych kodów to Open Source. Widzę jednak, że dodanie kodu GPL do projektu komercyjnego może stanowić większą przeszkodę, gdy oznacza to otwarte pozyskiwanie całego produktu.
Alex Jasmin
2
O ile rozumiem, kod GPL jest zabroniony w aplikacjach na iOS zgodnie z warunkami licencyjnymi Apple.
Andrey Tarantsov
2
Cóż, wygląda na to, że jedna klauzula w Apple ToS jest sprzeczna z jedną klauzulą ​​w GPL, więc chociaż nie są zabronione, wydają się być niezgodne.
Vatine
1
Jeśli Warunki świadczenia usług Apple są sprzeczne z GPL, posiadanie praw autorskich samodzielnie umożliwi Ci wydanie go na większej liczbie licencji, raz na podstawie licencji zgodnej z Apple ToS, ale także na podstawie GPL.
Pieter B
8

Nie jestem prawnikiem, nawet nie gram w telewizji.

Ale myślę, że problemem jest pochodna. Jeśli twoja nowa praca pochodzi z pracy GPL lub LGPL, musi ona być zgodna z wymogami GPL lub LGPL. Twoja praca będzie wyraźnie pochodna, nawet jeśli całkowicie przepiszesz wiersz po wierszu w innym języku.

TJ Crowder
źródło
Tak, ale czy to oznacza, że ​​nigdy więcej nie będziesz mógł używać tego algorthim? Czy fakt, że widziałeś go wdrożonego w innym projekcie, zabrania ci używania tego algorytmu sam, chyba że możesz udowodnić, że posiadasz wiedzę, aby samemu wymyślić algorytm innymi ścieżkami uczenia się?
Chris Barry
4
Nie jestem też prawnikiem, więc tylko zgaduję. Nie użyłbym słów „pochodnych”, gdybyś napisał własną implementację algorytmu w innym języku. Nie sądzę, że GPL została stworzona jako tajny system patentowy.
Captain Sensible
1
@Seventh - powinieneś opatrzyć znakiem towarowym pojęcie „Covert Patent System” i opatentować tę koncepcję.
Mayo
2
Algorytmy nie podlegają prawom autorskim. Dla celów prawa autorskiego powtórzenie algorytmu nie jest możliwe. Chodzi o to, czy twój program pochodzi tekstowo z oryginału, czy nie; co oznacza, że nazwy zmiennych, układ kod itd. (Prawo patentowe, jednak mogą lub nie mogą mieć zastosowanie nawet do algorytmów.)
Kilian Foth
1
Licencja obejmuje implementację, a nie sam algorytm. Przeniesienie implementacji na inny język jest dziełem pochodnym w taki sam sposób, jak przeniesienie Harry'ego Pottera na hiszpański. Możesz dowolnie wdrażać algorytm na swój własny sposób. Poleciłbym nie kopiować / pasty i nauczyć się algorytmu, który chcesz wdrożyć i napisać własną wersję od zera. IANAL.
Dave Rager
5

Jak mówią inni, jest to prawdopodobnie dzieło pochodne, a zatem bezpośrednio naruszające warunki GPL, jeśli zdecydujesz się to zrobić „oddzielnie od pierwotnej licencji” (zakładam, że oznacza to, że usuniesz GPL i użyjesz czegoś innego, nawet zamkniętego źródła) .

Nawet jeśli poślizgnie się jako „legalny”, jest oczywiście niemoralny . Autor oprogramowania GPL wybrał taką licencję, która rozszerza swobody na dzieła pochodne. Czy to dobra, czy zła rzecz, jest to intencja autora i należy to uszanować . Dali ci kod do odczytu i modyfikacji, rozwidlenia i cokolwiek innego, tylko w zamian prosząc, że nie zmienisz warunków. Jest również prawdopodobne, że nie oczekiwano, że zapłacisz za samo oprogramowanie.

Wiem, że pieniądze są trudne, ale w tej formie, kiedy malujesz swój pomysł, kradnie. Pewnie, mógłbyś nauczyć się tego algorytmu lub jakiegokolwiek innego szczegółu implementacji z innego źródła, ale nie zrobiłeś tego, jak sam powiedziałeś.

Jeśli moralność Cię nie dotyczy, pamiętaj, że biorąc pod uwagę szarą legalność tego, co robisz (lub zamierzasz zrobić), bardzo możliwe jest, że oryginalni autorzy skontaktowaliby się z Apple z powodu naruszenia praw autorskich. Do tej pory Apple szybko usuwał takie oprogramowanie, które naruszało GPL. Inną możliwością jest pozew.

Gdybym był tobą, rozważałbym albo GPL-owanie mojej własnej pracy (to nie jest takie złe!), Albo zdobycie wiedzy w inny sposób.

Tamás Szelei
źródło
Wygląda na to, że istnieją aplikacje GPL (wordpress?). Czy mówisz, że nie jest dobrze używać projektu open source do nauki algorytmu?
Chris Barry
Nie, nie mówię tego. Miałem na myśli pomysł OP polegający na tłumaczeniu tych samych wierszy na inny język programowania. Gdzie kończy się wyprowadzanie i gdzie zaczyna się oryginalna praca? To nie jest łatwe pytanie, ale jestem prawie pewien, że samo ponowne wdrożenie tego samego algorytmu bez modyfikacji jest pracą pochodną.
Tamás Szelei
Tak, to nie jest łatwe pytanie. Interesujące byłoby również wiedzieć, ile zmian wystarczyłoby, aby nie być nielegalne. Zmieniasz realne nazwy, białe znaki? Wydaje się to trochę głupie, ponieważ takie rzeczy można tak łatwo zmienić, zwłaszcza jeśli rozumiesz kod i dzięki temu możesz tworzyć dobre alternatywne nazwy.
Chris Barry
BTW, kod jest dobrze skomentowany, więc naprawdę łatwo jest ustalić, co robi.
Chris Barry
Po prostu używaj zdrowego rozsądku. Czy jako programista uważasz, że zmiana białych znaków i nazw zmiennych jest wystarczającą zmianą? Ostatecznie (w realistycznych przypadkach skrajnych) sąd zadecyduje o legalności.
Tamás Szelei
5

A może spróbujesz zrobić coś dobrego i nie ukraść czyichś pomysłów? Możesz po prostu wysłać wiadomość e-mail do twórcy kodu i zapytać, czy możesz oprzeć na nim części projektu. Wiele osób nie miałoby z tym problemu. Jeśli mają z tym problem, to nawet odkładając na bok kwestie prawne, dlaczego chcesz zepsuć swoją reputację jako profesjonalisty w społeczności? Fakt, że to pytanie brzmi mniej więcej tak, jak „Co mogę uciec?”, A nie „Co mam zrobić?” jest trochę niepokojące.

Podsumowując, zapytaj osobę (lub osoby), która napisała kod .

Morgan Herlocker
źródło
2
Autor został poproszony i opublikuję wyniki tutaj.
Chris Barry
5

Nie jestem też prawnikiem. Jeśli obawiasz się, czy jest to kwestia prawna, prawdopodobnie nie powinieneś nawet zadawać tego pytania i pisać po prostu własne.

Moja osobista opinia w tej sprawie:

Jeśli pobierasz kod javascript i przepisujesz go w innym języku, nazywa się to portowaniem i jest uważane za dzieło pochodne. Jeśli piszesz własną wersję oprogramowania i używasz kodu javascript jako odniesienia, aby dowiedzieć się, jak działają niektóre algorytmy, prawdopodobnie nie masz nic przeciwko.

Popełniłbym błąd, prosząc prawnika.

Jako uzupełnienie , prawo autorskie pozwala w zasadzie NIC NIE robić [*] z opublikowanym kodem źródłowym innym niż go przeczytać. Licencja, na mocy której właściciel praw autorskich ją wydał, daje ci pewne dodatkowe uprawnienia, których nie zapewnia prawo autorskie. Pobieranie i używanie kodu w sposób inny niż dozwolony w licencji nie różni się niczym od pobierania i używania jakichkolwiek dzieł chronionych prawem autorskim, bez uzyskania zgody autora.

[*] Z wyjątkami dozwolonego użytku.

Dave Rager
źródło
1
Jeśli jest to GPL, możesz zrobić więcej niż ją przeczytać. Możesz tworzyć dzieła pochodne, o ile są one również GPL.
Zhehao Mao
Tak, to prawda.
Dave Rager
4

Nie. To nie jest etyczne. Jest to prawie na pewno nielegalne. A gdybym kiedykolwiek przejrzał aplikację od kogoś, kto to zrobił, byłby to okrągły wniosek złożony ze skrajnym uprzedzeniem.

Paul Nathan
źródło
Czy mówisz, że nie jest etyczne nauczyć się implementować coś z projektu open source?
Chris Barry
4
@Chris: Tworzenie pracy pochodnej z projektu o otwartym kodzie źródłowym i wydawanie jej na sprzedaż nie jest etyczne, wbrew intencjom autora wykazanym w licencji. Jeśli nie możesz zastosować się do licencji, a zamiast tego omijasz ją ... ew.
Paul Nathan
1
Nie próbuję unikać licencji (dlaczego zadałem pytanie), ale zastanawiałem się, jaka jest sytuacja w takich kwestiach. Czy istnieje limit czasowy lub różnica między dwoma utworami, które przestaną być dziełem pochodnym? W przeciwnym razie wydaje się, że nie można wykorzystać wiedzy zdobytej podczas studiowania kodu open source?
Chris Barry
nic nie powstrzyma Cię przed sprzedażą aplikacji opartej na otwartym kodzie źródłowym. W rzeczywistości definicja Open Source (podana przez Open Source Initiative) wyraźnie na to pozwala. Ale musisz przestrzegać licencji, która jest dylematem PO. Warunki App Store i konflikt GPL, który jest tutaj problemem.
Martin Vilcans
2

Zawsze koduj tak, jakby facet, który ostatecznie utrzyma twój kod, będzie brutalnym psychopatą, który wie, gdzie mieszkasz. ~ Martin Golding

Nie jestem prawnikiem, więc nie zamierzam odpowiadać w ten sposób. Poza tym wiele innych osób niebędących prawnikami wyraziło już swoje opinie na temat prawnych konsekwencji twojego pomysłu. I pominę debatę moralizacyjną / etyczną.

Gdybym był tobą, byłbym bardziej zainteresowany konsekwencjami jako programisty. To kwestia szacunku. Szczególnie szacunek do samego siebie.

Jasne, wszyscy szukamy „How d'ya {implementacja} w {specyfikacji}?” od czasu do czasu. Stąd pochodzi Stack, amirite? I tak wszyscy znaleźliśmy się tutaj, prawda? Nie o tym mówię, ponieważ nie o tym mówisz.

Gdybym połączył uderzenie geniuszu + heroiczny wysiłek = wynik, który warto zaprezentować społeczności programistów jako ofertę open source, a ludzie polubili to na tyle, by w ogóle z niej skorzystać, porzuciłbym pochlebstwa. Byłbym świetny czas. Jak John Reisig lub Mark Story. Little ol me. A potem pojawił się jakiś kumpel i umieścił w wykazie mój wkład, aby mógł zaoferować go komercyjnie lub umieścić go w swojej aplikacji komercyjnej? Upuść martwego.

Kod jest jak pismo ręczne. Nie możesz zmienić aplikacji większej niż pudełko zapałek na tyle znacząco, aby inny prawowity twórca nie mógł odróżnić obu stron obok siebie i powiedzieć „Poczekaj chwilę ...” Jako programista, byłbym zbyt zawstydzony możliwością, że moi rówieśnicy , moi koledzy, ludzie, których szanuję i których szacunku pragnę, dowiedzieliby się kiedyś, że podrobiłem kod. Byłbym śmiechem. Bo to jest epicka kopia skryptu makaronu kiddie bs. Czy naprawdę chcesz delegować się w oczach swoich kolegów? Kod przecisku jest dobrym sposobem na rozpoczęcie.

I jako programista, rozważ to: jeśli to była moja aplikacja, a dowiedziałbym się, że podrzuciłeś ją tak, że będziesz się martwił o pozwanie, a jeśli zdecyduję, do cholery, pozywając cię, zarabiasz stos gotówki i tak dzięki mojemu kodowi, więc dlaczego nie miałbym cię uderzyć tam, gdzie boli, może odzyskać trochę tego? Jak WIESZ, że nie jestem nastolatkiem ani nie mam temperamentu i przerażającego zestawu umiejętności? Zejdź mi z drogi do pwn r00 [na ur b0xen, że tak powiem. Ponieważ jackingowanie mojej aplikacji pokazałoby mi, że ja> ty (podstawa: mogłem napisać to, co tylko jack). To nie byłby pierwszy raz.

OpenSorceress
źródło
2
Naprawdę podoba mi się ta odpowiedź. Myślę, że problem polega na tym, czy możesz użyć kodu jako punktu uczenia się, a następnie ponownie go zaimplementować. Myślę, że chodzi o skrypt 200 ~ LOC, więc nie jest to takie trudne. Naprawdę chciałem zacząć od działającego przykładu dla moich nauk, więc wydawało mi się, że warto zacząć od tego. Gdybym napisał całą rzecz w kodzie psudo i GPL czy mój port dałby mi rozsądną pozycję? Naprawdę uważam, że tytuł postu wywołał debatę bardziej niż się spodziewałem.
Chris Barry
Re: pobudzająca debata, rozważ naturę pytania: profesjonalny twórca wlewa swoje serce i duszę w swoje rzemiosło, czy tego chce, czy nie. Godziny mojego czasu, wiadra krwawego potu i łez, ponieważ natura oprogramowania ma być bestią. Co więcej, nasze rzemiosło jest tak trudne, że naprawdę doskonały wkład w open source (js libs, frp framework itp.) - w tym momencie, który z nas nie polega na open source, aby utrzymać nasze głowy nad wodą, profesjonalnie ? Tak więc to pytanie jest głęboko osobiste dla każdego z nas, czy zdajemy sobie z tego sprawę, czy nie.
OpenSorceress
To powiedziawszy, nauczyłem się większości tego, co wiem od czarodziejów open source, takich jak John Reisig i Mark Story oraz ich gang-świstaków. JQuery jest moim małym przyjacielem. CakePHP to mój chleb i masło. Nie ma w tym nic złego. Stąd różnica między podnośnikiem a przenoszeniem. O tym mówimy, gdy mówimy, że stoimy na barkach gigantów.
OpenSorceress
0

Nie można tworzyć pracy pochodnej pracy pochodnej pracy pochodnej ... i oczekiwać, że nie będzie to praca pochodna. Może stać się nierozpoznawalny, ale to coś innego. Możesz zacząć od dowolnego tekstu i poprzez serię zmian uzyskać dowolny tekst (np. Usunąć pierwszy, wstawić drugi), aby jego ewentualność nie oznaczała, że ​​zostało zrobione. Więc nie jest ważne, czy coś jest możliwe, ale czy to się faktycznie wydarzyło (tylko niemożliwe oczywiście się nie stało)

Mówiąc moralnie: Uczenie się z wszystkiego, co możesz (legalnie) dostać, jest w porządku, ale powinieneś poznać źródła. reszta to legalność.

IANAL, ale nie sądzę, żebym zrobił coś złego, jeśli: 1) Nauczyłem się z implementacji open source 2) Zaimplementuj ten sam algorytm (nawet w tym samym języku), robiąc to, duże części naturalnie staną się zupełnie inne, a niektóre być bardzo podobni. Jeśli te podobne części są rzeczami, w których obie strony stosują tę samą praktykę kodowania, a zatem nie mogą być różne, to te części nie są prawami autorskimi. Na przykład. jeśli klasa ma dwa prywatne pola String i mają funkcje pobierające i ustawiające, interesującą rzeczą jest to, że klasa ta ma dwie właściwości do odczytu / zapisu, a nie implementacje funkcji pobierających i ustawiających.

użytkownik470365
źródło
0

Jeśli ponownie napiszesz każdą linię osobno, możesz, ale nie musisz, „kopiować” linie.

Ale kopiujesz dosłownie porządek, ogólną strukturę i włączenie wierszy. Innymi słowy, rodzaj rzeczy, które sprawiają, że praca jest „całością”.

Kopiujesz część, która mówi „ta linia powinna iść tutaj, ta linia powinna iść tam”. To duża część całego algorytmu.

Ponadto, kiedy projekt jest uruchamiany, nikt nie wie, co należy uwzględnić, jakie rzeczy należy uznać za mniej lub bardziej ważne, jak ustrukturyzować i skomponować algorytmy. Informacje te muszą zostać opracowane i zaprojektowane w pewnym momencie. Ale nie musiałbyś tego robić, ponieważ „kopiowałbyś” go.


Jako przykład:

Jeśli mam zestaw {a, b, c, d, e, f}.

Mogę stworzyć ich uporządkowaną listę, [f, e, c, b, d, a]. Musisz powiedzieć, że dodałem do listy pewne informacje, zwane kolejnością , których nie było w nieuporządkowanym zestawie. W zależności od wielkości listy informacje te mogą być bardzo szczegółowe i trudne do wymyślenia.

Ben Jones
źródło
-1

To jak wszystko inne - nie możesz cofnąć nauki tego, czego się nauczyłeś, zobaczyłeś, przeczytałeś ... ale możesz kontrolować, jak z niego korzystasz ...

Dwie rzeczy w tej sprawie -

  1. Podobnie jak w przypadku większości licencji dotyczących kodu Open Source ... zrobienie z niego ani grosza jest całkowicie fajne, a zamknięcie go pseudo jest fajne - ale problemem jest „kredyt”. Kupiłem WIELE skryptów, do których przypisano „kredyty” (adresy URL bloga, używany kod systemu operacyjnego ... itd.), Ale problem polega na tym, że otwarcie (nie ukrywasz) przekazując kredyty / podziękowania czyimś dziełom (ponownie, ludzie nie mają nic przeciwko, jeśli to zrobisz ... wiele razy ludzie NIE udzielają kredytu (naruszając w ten sposób postanowienia typu GPL) z obawy, że ludzie zdają sobie sprawę, że mogą go zdobyć gdzie indziej ... ale jeśli twój kod jest jawnie udzielanie kredytu i może nadal być samodzielne (niezależnie od tego, czy TWÓJ kod jest zamknięty / otwarty) - wtedy ludzie nie będą się przejmować.

Jako deweloper uważam, że ludzie nie chcą dawać kredytu, zamykają go, aby naśladować świetnego programistę / programistę pod pozorem zarabiania pieniędzy na czyichś wysiłkach ...

więc przechodzę do # 2 ...

  1. „zamiar” jest prawie (praktycznie) zawsze taki… czy możesz stanąć przed sędzią (powiedz, że zostałeś pozwany, postawiony przed sądem lub poproszony o wyjaśnienie swoich czynów za to) i oświadczyć jasno, bez mruczenia i z wyraźnym stanowisko w sprawie - dlaczego zdecydowałeś się ukryć / zamknąć część kodu „open source”, to nie powinno być problemem.

moje 2 pensy. :)

Co zabawne - czy większość ludzi myśli, że wymyślili „konkretny pomysł” - kiedy tak naprawdę „pomysł” został (z dużym prawdopodobieństwem) już podrzucony w postaci serwetek, papieru, kodowania, Internetu, blogu, itp...

Tak więc, chociaż może być dla ciebie nowy, zwłaszcza, że ​​widziałeś go w czyimś systemie operacyjnym, prawdopodobnie jest on używany w innych pracach systemu operacyjnego, z których wywodzi się jego praca z systemu operacyjnego ... i ostatecznie jest prawdopodobnie używany gdzie indziej online ... . to wcale nie dotyczy stwierdzonego problemu z licencją / prawami autorskimi ... w takim przypadku możesz kopiować z tego źródła ... modyfikować, zmieniać, usuwać, dodawać ... (skopiowałbym / url, aby śledzić gdzie masz go pokazać, że masz go legalnie) w kodzie, jak chcesz.

Myślę, że to niesamowite w „krainie kodów”, zwłaszcza ile razy zdarzyło mi się odkryć, że mój „przebiegły” kod był już napisany (choć nie tak .. pamiętaj - lol) w 2003 r. O naukowym czyjejś wyszukiwarce Google ranga # 1,239, strona internetowa, którą stworzyli, gdy byli w szkole, po prostu tworząc funkcje dla zabawy i darmowego użytkowania. :)

Chodzi o to, że ... daj kredyt, nie omiń problemu, a gdy wszystko inne zawiedzie ... lub w razie wątpliwości - ZAPYTAJ o oryginalny system operacyjny o prawa do użytkowania ... tak! kiedy staliśmy się tak aroganccy, że nie możemy po prostu poprosić kogoś o użycie chwastownika, nożyc, kosiarki ... i - och tak - fajną funkcję, którą wykonali!

Okej, to było 3 pensy ...

William Ortell II
źródło
1
problem polega na tym, że próbuje ominąć pierwotne warunki licencyjne.
Paul Nathan
-4

Daj temu człowiekowi spokój!

  1. jeśli miałaby zostać wniesiona do niego skarga prawna, oznaczałoby to, że ktoś musiałby faktycznie mieć dostęp do kodu i PRZECZYTAĆ go. Co się stanie, jeśli oprogramowanie zostanie skompilowane?

  2. Zawsze będzie mógł przywołać swoją ignorancję w momencie faktów. Czy nikt nie powinien mieć dobrej wiary, zanim zostanie uznany za winnego?

  3. Uczenie się nie kopiuje. Znalezienie inspiracji w niektórych istniejących utworach zdecydowanie nie kopiuje. A co, jeśli nauczy się od oprogramowania funkcji każdej linii kodu i zdecyduje, że użyje zasad wyników, aby to poprawić i stworzyć oprogramowanie, które będzie lepsze, prostsze i lżejsze. Nie kopiuję IMHO.

To były moje 2 centy. Teraz jest kolej na pierwszego bezgrzesznego, który rzuci kamień ...;)

Breakerfall
źródło
3
Za nr 1: Dopóki twój kod źródłowy nie zostanie wezwany przez sędziego, a ty nieśmiało uśmiechniesz się do ławy przysięgłych, gdy zobaczą twoje „przepisanie”.
Jarrod Nettles
2
W przypadku nr 2: Naruszenie praw autorskich jest zwykle sprawą cywilną, więc z prawnego punktu widzenia nie ma czegoś takiego jak „winny”. Jeśli przewaga dowodów wskazuje, że PO naruszyło, to wszystko, czego potrzeba. Dla nr 3: Nie to powiedział pierwotne pytanie.
David Thornley
1
(1) Nie jest trudno dostrzec rażący plagiat bez obejrzenia kodu źródłowego. Poza tym nie mamy tutaj zwyczaju doradzania ludziom, jak uniknąć nielegalnych i wysoce nieetycznych czynów. (2) Ignorantia juris non excusat ( ignorancja nie jest obroną ) (3) Przepisywanie linii po linii nie uczy się. Przepisywanie linii po linii to zdecydowanie nie tylko inspiracja. To rażący plagiat, prosty i prosty. Nie będę tu wszystkiego powtarzać, ale istnieje mnóstwo dokumentów prawnych i precedensów na ich poparcie.
Greg Jackson
OK, więc jeśli nie przepisałem linii po linii, ale zrozumiałem algorytm, a następnie zaimplementowałem go na swój własny sposób. To jest operacja jednego pokoju dla jednego człowieka. Czy to jest inne Jeśli nie, to czy nie mogę uczyć się z jakiegokolwiek projektu typu open source?
Chris Barry
4
@Chris Chodzi o to, że ludzie korzystający z algorytmu w ogóle nie widzieli oryginalnego kodu źródłowego. Nie ma czegoś takiego jak „jednoosobowy pokój czysty”.
Adam Lear