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 --------
źródło
Odpowiedzi:
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.
źródło
Według Betsy Rosenblatt z Harvard Law School's Copyright Basics :
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.
źródło
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ą).
źródło
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ź :
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.
źródło
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.
źródło
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.
źródło
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 .
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
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 -
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 ...
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 ...
źródło
Daj temu człowiekowi spokój!
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?
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?
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ń ...;)
źródło