Postanowienia licencyjne dotyczące przenoszenia wolnego oprogramowania na inny język

17

Rozważam pomysł przeniesienia istniejącego pakietu oprogramowania na inny język. Jest wydany na licencji Apache License 2.0 i jest dystrybuowany za darmo; ale jest duża różnica między używaniem biblioteki a tworzeniem jej kopii. Oczywiście dałbym pełny kredyt i szczerze mówiąc, skąd się wziął, i na pewno nie planuję zarabiać pieniędzy z portu, po prostu wykorzystuję je w innych projektach.

Oczywiście przeczytałem licencję, która mówi:

  1. Udzielenie licencji autorskiej. Z zastrzeżeniem warunków niniejszej Licencji, każdy Współtwórca niniejszym udziela Użytkownikowi wieczystej, ogólnoświatowej, niewyłącznej, bezpłatnej, nieodpłatnej, nieodwołalnej licencji na prawa autorskie do reprodukcji, przygotowania Dzieł pochodnych, publicznego wyświetlania, publicznego wykonywania, udzielać sublicencji i rozpowszechniać Dzieło i takie Dzieła pochodne w formie Źródłowej lub Obiektowej.

[...]

  1. Redystrybucja. Użytkownik może reprodukować i rozpowszechniać kopie Dzieła lub Dzieł pochodnych na dowolnym nośniku, z modyfikacjami lub bez, oraz w formie Źródła lub Przedmiotu, pod warunkiem spełnienia następujących warunków:

    za. Musisz przekazać innym odbiorcom Dzieła lub Dzieł pochodnych kopię niniejszej Licencji; i

    b. Musisz spowodować, aby wszelkie zmodyfikowane pliki były opatrzone widocznymi powiadomieniami stwierdzającymi, że zmieniłeś pliki; i

    do. Musisz zachować, w formie Źródłowej wszelkich Dzieł pochodnych, które rozpowszechniasz, wszelkie informacje o prawach autorskich, patentach, znakach towarowych i uwagach dotyczących autorstwa pochodzące z Źródłowej formy Dzieła, z wyłączeniem ogłoszeń, które nie dotyczą żadnej części Dzieł pochodnych; i

    re. Jeśli dzieło zawiera plik tekstowy „NOTICE” jako część jego dystrybucji, wszelkie dzieła pochodne, które rozpowszechniasz, muszą zawierać czytelną kopię uwag o uznaniu autorstwa zawartych w takim pliku NOTICE [...]

    Użytkownik może dodać własne oświadczenie o prawach autorskich do swoich modyfikacji i może zapewnić dodatkowe lub różne warunki licencji na użytkowanie, powielanie lub rozpowszechnianie swoich modyfikacji lub na wszelkie takie Dzieła pochodne jako całość, pod warunkiem użytkowania, powielania i dystrybucji Praca w inny sposób spełnia warunki określone w niniejszej Licencji.

Które brzmi bardzo podobnie do portu (jako „Dzieła pochodnego”) jest całkowicie dozwolone za zgodą autora lub bez niego, pod warunkiem, że starannie zachowam kopie licencji, istniejące informacje o prawach autorskich, informacje o autorstwie itp.

Ale to nie znaczy, że rozumiem wszystkie tego konsekwencje. Na przykład, czy port musiałby koniecznie współdzielić tę samą licencję co oryginał?

Nie rozpocząłem żadnej pracy, ani nie skontaktowałem się jeszcze z autorami pakietu (choć tak zrobię). Chcę ustalić, czy istnieje ryzyko marnowania dużej ilości pracy. Muszę też wiedzieć, czy muszę wykonać implementację czystego pokoju opartą tylko na interfejsie API, czy też mogę oprzeć swoją pracę na istniejącym kodzie źródłowym (na który jeszcze nie spojrzałem).

Marcus Downing
źródło
W razie wątpliwości kod, który chcę przenieść, nie jest trywialny i osiąga rzeczy, które bardzo trudno byłoby mi osiągnąć samodzielnie.
Marcus Downing,

Odpowiedzi:

10

Tłumaczenia (zarówno na inny język naturalny, jak i na inny język programowania) są uważane za dzieła pochodne.

Tworząc dzieło pochodne, które tak radykalnie różni się od oryginału, jak tłumaczenie na inny (nie blisko spokrewniony) język programowania, naprawdę trudno jest zrozumieć, w jaki sposób należy stosować wymagania wynikające z licencji Apache. Chciałbym bardzo mocno doradzić, aby omówić z opiekunów oryginalnym opakowaniu, jak chcieliby, aby zobaczyć obsługiwane prawa autorskie i warto omówić z prawnikiem, jak również.

Kłopotliwą częścią jest klauzula 4c:

do. Musisz zachować, w formie Źródłowej wszelkich Dzieł pochodnych, które rozpowszechniasz, wszelkie informacje o prawach autorskich, patentach, znakach towarowych i uwagach dotyczących autorstwa pochodzące z Źródłowej formy Dzieła, z wyłączeniem ogłoszeń, które nie dotyczą żadnej części Dzieł pochodnych; i

Problem polega na tym, że przy tak radykalnej zmianie prawie niemożliwe jest stwierdzenie, które powiadomienia (dotyczące praw autorskich i autorstwa) z oryginalnego dzieła dotyczą również przetłumaczonej wersji, a zatem które powiadomienia należy zachować, a które usunąć.

Bart van Ingen Schenau
źródło
7
„Porozmawiaj z prawnikiem” to tak naprawdę dość stroma bariera dla kogoś, kto planuje wykonać pracę i oddać ją za darmo.
Marcus Downing,
2
@MarcusDowning: Tak, ale czasem jest to najlepsza rada, jaką możemy dać.
Bart van Ingen Schenau
@BartvanIngenSchenau Nie znalazłem niczego, co wskazywałoby, że przepisanie w innym języku stanowi dzieło pochodne. Zakładam, że automatyczne tłumaczenie nie jest możliwe. Podaj kilka linków na poparcie swojego wyciągu. Znalazłem to: rosenlaw.com/lj19.htm . Cała ta sprawa jest dla mnie ważna z innych powodów.
Frank Hileman
Kolejny interesujący link: law.washington.edu/lta/swp/Law/derivative.html
Frank Hileman
1
@FrankHileman: Co powiesz na „Wspólne dzieła pochodne obejmują tłumaczenia, [...] wcześniej istniejących dzieł” ( copyright.gov/circs/circ14.pdf ). Tłumaczenie na inny język programowania jest nadal tłumaczeniem.
Bart van Ingen Schenau
-2

Prawa autorskie dotyczą wyłącznie oryginalnego kodu źródłowego. Nie mogę udzielić porady prawnej (legalnie :)) w moim kraju, ale kiedy używasz innego języka, jest to inna część kodu źródłowego. Względy etyczne to inna sprawa. Chciałbym użyć licencji, która jest zgodna z oryginalnymi autorami, aby zachować ducha oryginalnego wkładu open source dla społeczności. Ponadto należy przypisać oryginalnych autorów.

Frank Hileman
źródło
Miałem wrażenie, że port innego niż cleanroom do innego języka stanowi dzieło pochodne, ponieważ nowy kod będzie pobierał określone implementacje z oryginału, a nie tylko inspirację lub podobieństwo API. W przeciwnym razie unikanie licencji poprzez przeniesienie z niewielką zmianą byłoby łatwe i zdarzało się cały czas. (Nie jestem pewien, kto cię ocenił, to nie byłem ja)
Marcus Downing
Musimy pamiętać, że prawa autorskie dotyczą tekstu kodu źródłowego; to nie jest jak patent.
Frank Hileman
Również ogólnie, gdy kodujesz w innym języku, nie możesz ponownie użyć żadnego z oryginalnego kodu. Takie było założenie w mojej odpowiedzi.
Frank Hileman
1
@FrankHileman Prawa autorskie z pewnością dotyczą również twórczych treści hipotetycznych; por. (aby wybrać jeden przykład) Anderson przeciwko Stallone, w którym oskarżony napisał Rocky sequel i został uznany za winnego naruszenia, mimo że nie użył nic dosłownie z tekstu innego skryptu lub nagrania Rocky . Z pewnością „jak podobne są prace?” test w ramach stwierdzenia naruszenia nie obejmuje jedynie pełnych porównań tekstowych.
apsillers
@FrankHileman: W przypadku dzieł literackich tłumaczenia (na inny język naturalny) są uważane za dzieła pochodne chronione prawem autorskim, nawet jeśli oba języki używają zupełnie innych systemów pisania (np. Angielski kontra japoński). Ponieważ prawa autorskie są takie same dla dzieł literackich i oprogramowania, twój argument nie ma zastosowania.
Bart van Ingen Schenau