Autor Wątek: ID Tech 3 - licencja  (Przeczytany 9449 razy)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 01, 2009, 16:05:30
Cytuj
Czy mogę poprosić o uzasadnienie powyższej tezy? Wydaje mi się ona bardzo odważna aczkolwiek fałszywa.
Dosadnego uzasadnienia nie przedstawię, ale tak to by logicznie wynikało z tej licencji. GPL jako licencja może być aplikowane do czegokolwiek, do czego można mieć prawa autorskie. GPL jako taki przykleja się do dzieła jako całości, więc logiczne, że do danych także, bez których dzieło było by niekompletne (i przy okazji niedziałające). Jakby się dało wziąć kod GPLowy, dorobić do niego nie-GPLowe dane i sprzedawać to komercyjnie, to na bank od razu podniosły by się wrzaski w świecie OpenSource (np. wziąć dowolną GPLową grę, podmienić grafikę na własną i sprzedawać jako produkt nie-do-końca-free). :)

Cytuj
Wtedy Apple czy Sun musieli by udostępnić źródła całego systemu operacyjnego.
Na biblioteki systemowe są odpowiednie wyjątki w licencji. Poza tym jeżeli produkt jest separowalny, to są to niezależne produkty z punktu widzenia GPL. Przykładowo, IDE i kompilatora shellowego można używać osobno, więc mogą być na różnych licencjach (nawet jeśli rozprowadzane są razem). Z grą i danimi do gry niestety tak nie jest.

Cytuj
1) Czy grafika to w jakikolwiek sposób "derived work" od kodu?
Finalna gra jest "derived work" z kodu GPL.

Cytuj
2) Czy ID wypuściło dane z quake 3 na GPL? :)
Niestety nie.   [EDIT: jakby tak było, Q3 najprawdopodobniej byłby standardowo w co drugiej dystrybucji Linuksa ;)]

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 01, 2009, 16:20:41
Poza tym jeżeli produkt jest separowalny, to są to niezależne produkty z punktu widzenia GPL. Przykładowo, IDE i kompilatora shellowego można używać osobno, więc mogą być na różnych licencjach (nawet jeśli rozprowadzane są razem). Z grą i danimi do gry niestety tak nie jest.
? ? ?

Cytuj
Cytuj
1) Czy grafika to w jakikolwiek sposób "derived work" od kodu?
Finalna gra jest "derived work" z kodu GPL.
Jak grafika lub model może być "derived work" z kodu? Prędzej z kodu Photoshopa lub 3DS Max :D

Cytuj
Cytuj
2) Czy ID wypuściło dane z quake 3 na GPL? :)
Niestety nie.
Czyli kod jest na GPL, a content nie jest na GPL. Jeśli użyję kodu Q3, to co mi broni wydać kod gry na GPL, a całą grę na nie-GPL, dokładnie tak samo jak ID?

Offline oy

  • Użytkownik

# Kwiecień 01, 2009, 16:28:26
Cytuj
Jakby się dało wziąć kod GPLowy, dorobić do niego nie-GPLowe dane i sprzedawać to komercyjnie, to na bank od razu podniosły by się wrzaski w świecie OpenSource (np. wziąć dowolną GPLową grę, podmienić grafikę na własną i sprzedawać jako produkt nie-do-końca-free).
Nadal nie znalazłem w sieci (szukam już chwilę) argumentu, że nie można tak właśnie zrobić, pod warunkiem że udostępni się kod, w końcu GPL nie jest tożsame z darmowym oprogramowaniem.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 01, 2009, 16:37:00
Cytuj
? ? ?
IDE może działać bez kompilatora. Kompilator może działać bez IDE. Niestety, ani gra nie zadziała bez danych, ani dane bez gry i tu jest podstawowa różnica.

Cytuj
Jak grafika lub model może być "derived work" z kodu?
W taki sam sposób, jak dowolny nie ważne jak duży projekt po dodaniu pięciu linijek kodu GPL robi się "derived work'iem" z tych pięciu linijek. ;)

Cytuj
Jeśli użyję kodu Q3, to co mi broni wydać kod gry na GPL, a całą grę na nie-GPL, dokładnie tak samo jak ID?
Broni licencja GPL (cały derived work musi być na GPL). W porównaniu z ID Software jest gigantyczna róznica, bo ich GPL na ten kod nie obowiązuje - oni ten kod napisali, a nie dostali na GPL, więc mogą z nim robić co im się żywnie podoba.

Cytuj
Nadal nie znalazłem w sieci (szukam już chwilę) argumentu, że nie można tak właśnie zrobić, pod warunkiem że udostępni się kod, w końcu GPL nie jest tożsame z darmowym oprogramowaniem.
Trzeba udostępnić "Source Code", a nie kod. "Source Code" w GPL jest zdefiniowany jako forma dzieła preferowana do czynienia w niej modyfikacji. W definicji nie ma ani słowa, że to musi być jakikolwiek kod (poza definiowaną nazwą, ale to akurat się nie liczy)*. Podobnie "Object Code" jest każdą inną formą dzieła. Nic nie stoi więc na przeszkodzie, żeby dane aplikacji podpadały pod "Source Code"/"Object Code", a nawet implikuje więcej: jeżeli np. grafikę robisz w Photoshopie, jako "Source Code" grafiki będzie wtedy rozumiany plik w formacie Photoshopa, który w myśl GPL powinieneś udostepnić, żeby takie dane były zgodne z GPL.


*) Z resztą nie takie kwiatki w definicjach się zdarzają - w jednej z polskich ustaw o rybołóstwie gdzieś na końcu ustawy był punkt mówiący, że "w rozumieniu niniejszej ustawy rak jest rybą"... a w rozumieniu GPL wszystko jest kodem.


EDIT: Podobnie w GPL pojawia się definicja "The Program", która mówi że jest to wszystko, czego dotyczy właśnie ta licencja - czyli cokolwiek nie wydasz na GPLu, w nomenklaturze tej licencji będzie to "Programem".
« Ostatnia zmiana: Kwiecień 01, 2009, 16:38:41 wysłana przez Krzysiek K. »

Offline oy

  • Użytkownik

# Kwiecień 01, 2009, 16:47:42
Dzięki Krzysiek K., ostatnia wypowiedź dała mi podstawy do szukania, tzn. jaki był zamysł autorów GPL. Ciągle myślałem, że chodzi im (autorom) tylko o kod.
« Ostatnia zmiana: Kwiecień 01, 2009, 16:49:13 wysłana przez oy »

Offline oy

  • Użytkownik

# Kwiecień 01, 2009, 23:26:50
Wybaczcie post pod postem, ale jeśli już wałkujemy ten temat, to drobne pytanie do zorientowanych w temacie. Czy istnieje jakaś zgodna lub zbliżona do GPL licencja, która ściąga z kolejnych programistów jarzmo przymusowego dzielenia się oprócz kodu danymi? Oczywiście można sobie samemu coś takiego napisać, jednakże po co jeśli być może coś takiego już istnieje. 

Offline misioslaw

  • Użytkownik
    • www.asmforce.eu

# Kwiecień 02, 2009, 00:07:55
Wybaczcie post pod postem, ale jeśli już wałkujemy ten temat, to drobne pytanie do zorientowanych w temacie. Czy istnieje jakaś zgodna lub zbliżona do GPL licencja, która ściąga z kolejnych programistów jarzmo przymusowego dzielenia się oprócz kodu danymi? Oczywiście można sobie samemu coś takiego napisać, jednakże po co jeśli być może coś takiego już istnieje. 
Na przykład licencja BSD. (właściwie to licencja typu BSD)

Offline Liosan

  • Redaktor

# Kwiecień 02, 2009, 00:11:46
IDE może działać bez kompilatora. Kompilator może działać bez IDE. Niestety, ani gra nie zadziała bez danych, ani dane bez gry i tu jest podstawowa różnica.

Cytuj
Jak grafika lub model może być "derived work" z kodu?
W taki sam sposób, jak dowolny nie ważne jak duży projekt po dodaniu pięciu linijek kodu GPL robi się "derived work'iem" z tych pięciu linijek. ;)

Moim zdaniem to jest odważna, acz fałszywa teza :P (że pozwolę sobie sparafrazować jedną z wypowiedzi poprzedników)

Tak, GPL może obejmować dane - grafikę, XMLe, pliki map... co do tego nie mam wątpliwości. I zgadzam się, że wirus GPL zaraża dzieła zależne, tak jak by zaraził ten duży projekt przez dodanie pięciu linijek. Ale czym uzasadnisz, że dane są utworem zależnym względem gry? Jeśli dobrze rozumiem, dzieło zależne to utwór czerpiący w istotny sposób z twórczych elementów oryginału (np. przez copy-paste kodu). Dzieło zależne może też nazywać się "inspirowane" zamiast zależne, jeśli "istotny sposób" nie jest aż tak istotny. Ale gdzie tu miejsce na to co piszesz, Krzysiek? Szczerze powiedziawszy chętnie się dowiem, jaka za tym stoi motywacja :)

Liosan

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 02, 2009, 00:24:40
Cytuj
Ale czym uzasadnisz, że dane są utworem zależnym względem gry?
Już samo pytanie tak sformułowane brzmi nieco zabawnie. Jesteś w stanie wyobrazić sobie kogoś sprzedającego niezależnie binarki gry w jednym pudełku, a grafikę i dźwięki w drugim? ;) To wszystko powstaje razem, jest testowane razem, sprzedawane razem i razem nazywane grą.

Fakt faktem, że "zależność" jest bardzo mało precyzyjnym określeniem, ale w tym wypadku logika podpowiada, że zależność jest dość mocna.

Cytuj
Ale czym uzasadnisz, że dane są utworem zależnym względem gry?
Nie są, w sensie pojęcia "derivate work", chyba że weźmiesz grę i wyciągniesz dane już z gotowego produktu.

Gra jest utworem jako całość, a dane są jej integralnym składnikiem. Kod gry również jest nierozerwalnym składnikiem gry. Jeżeli kod gry jest "derivate work" z kodu GPL (np. silnika Q3), w sensie zawierania jego fragmentów, to dystrybucja tych fragmentów jest określona przez GPL w jasny sposób: jeżeli dystrybuujemy dzieło zawierające fragmenty na GPL, to całe dzieło musi być dystrybuowane na licencji GPL, a więc w logicznym rozumieniu cała gra, którą dystrybuujemy, a nie tylko jej część (np. sam kod, a dane nie).

Cytuj
Jeśli dobrze rozumiem, dzieło zależne to utwór czerpiący w istotny sposób z twórczych elementów oryginału (np. przez copy-paste kodu).
Czerpać można do woli, w przypadku GPL liczy się, czy dzieło zawiera w sobie fragmenty innego dzieła, czy nie. Nikt nie stoi na przeszkodzie (zazwyczaj), żeby nauczyć się dowolnie skomplikowanego algorytmu, czy rozwiązania z kodu GPL i zaimplementować to po swojemu.


Tak, czy inaczej, proszę nie postrzegać mnie jako zaciekłego obrońcę i zwolennika OpenSource - po prostu piszę, jak dla mnie na logikę GPL wygląda i na co w związku z tym trzeba uważać.

Offline toxic

  • Użytkownik

# Kwiecień 02, 2009, 01:24:38
Gra jest utworem jako całość, a dane są jej integralnym składnikiem.
Spotkałeś się gdzieś z orzectnictwem potwierdzającym tę tezę? Zwłaszcza w kontekście publikowania samego kodu źródłowego gry na licencjach open-source?


Bo tak sobie patrze:
Id tech 3 -> http://www.idsoftware.com/business/idtech3/ -> ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip
W zawartosci znajdujemy: GPL v2.

Cytat: http://www.gnu.org/licenses/gpl-2.0.txt
These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves
, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you
; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

wyboldowania moje

Cytat: http://www.idsoftware.com/business/idtech3/
Many people don't realize exactly what releasing the source under the GPL means, or understand how to exploit the opportunity to use it.  Thus, idTech3 is perhaps one of the most under-utilized game technologies available.  If you have a team that is long on talent but short on cash and need a proven engine to develop a game that CAN be distributed commercially, it doesn't get much better than "Free".  If you abide by the GPL terms, then this technology is truly a gift from id.  Unlike some "bargain" licensors, we don't impose ANY restrictions on your distribution channel (retail, internet, etc.).  This is the perfect way to get noticed as a company or design team, as you can do something cool - and get paid, too.

Czy na kod gry i na dane autor(zy) mogą udzielić różnych licencji?

Cytat: http://wiki.parpg.net/License
C++ / Python code

GPL 3.0

Assets

All assets besides the code are dual-licensed under Creative Commons BY-SA 3.0 and GPL 3.0
Conajmniej powyższy projekt open sourcowy (a własciwie jego autorzy) rozróżniają kod gry od zawartości gry (assetów).

Wg. mnie mylisz się Krzysiek i można wziąść silnik quake'a 3, aby sprzedawać osobno grę-kontent, a osobno udostępnić zmodyfikowany kod źródłowy silnika. I można obie te rzeczy wpakować fizycznie do jednego tekturowego pudełka (ba!, nawet na tą samą płytę instalacyjną), a własnoręcznie wyprodukowany kontent nie będzie zarażony GPLem - kupujący nie będzie mieć prawa dystrybuować go dalej za friko.


Offline Liosan

  • Redaktor

# Kwiecień 02, 2009, 02:11:37
Jesteś w stanie wyobrazić sobie kogoś sprzedającego niezależnie binarki gry w jednym pudełku, a grafikę i dźwięki w drugim? ;)

Pewnie że jestem - chociażby w postaci 30tego dodatku do Simsów :) Oczywiście, jakaś ilość grafiki i dźwięku powinna być (w modelu "dodatkowym") uwzględniona w paczce z binarkami, inaczej to bez sensu. Ale mogę też tu przytoczyć przykład open-source'owej wersji Transport Tycoon, do której ściągało się grafikę oddzielnie, ponieważ pochodziła z oryginału :)

Fakt faktem, że "zależność" jest bardzo mało precyzyjnym określeniem, ale w tym wypadku logika podpowiada, że zależność jest dość mocna.
"Zależność" może tak, ale "dzieło zależne"/"utwór zależny"/"derived work" jest określeniem bardzo precyzyjnym (biorąc pod uwagę, że rozmawiamy o terminach prawniczych :P), którego w dodatku sam użyłeś i moim zdaniem błędnie :) Faktycznie, problem jest jak mówisz - czy można to dzieło rozdzielić na dwa? Bo jeśli można, to moim zdaniem żadne nie jest dziełem zależnym od drugiego. Jeśli nie można - sprawa jest prosta.

Wg mnie dyskusja sprowadza się do pytania, czy autor gry może ją rozdzielić na dwa dzieła, i myślę że dyskusją na forum tego nie osiągniemy - bez orzecznictwa można sobie gdybać. Znalazłem kiedyś w necie tekst o orzeczeniu sądu francuskiego, w sprawie czy dane zawarte w grze, nawet traktowanej jako jeden utwór, podlegają prawu o dziełach audiowizualnych (okazało się, że tak - polecam "Czy gra komputerowa to program komputerowy" :) ), ale to nie oznacza, że nie mogą być traktowane rozdzielnie, prawda?

Cytuj
Tak, czy inaczej, proszę nie postrzegać mnie jako zaciekłego obrońcę i zwolennika OpenSource - po prostu piszę, jak dla mnie na logikę GPL wygląda i na co w związku z tym trzeba uważać.

Heh, rozumiem, że jest to praktyczno-akademicka dyskusja programistów o prawie :P

Liosan

Offline misioslaw

  • Użytkownik
    • www.asmforce.eu

# Kwiecień 02, 2009, 02:51:25
Cytat: Liosan
Cytat: Krzysiek
Jesteś w stanie wyobrazić sobie kogoś sprzedającego niezależnie binarki gry w jednym pudełku, a grafikę i dźwięki w drugim? ;)
Pewnie że jestem - chociażby w postaci 30tego dodatku do Simsów :)
Tylko że większość tych dodatków ma własne binarki :)

Cytat: Liosan
Znalazłem kiedyś w necie tekst o orzeczeniu sądu francuskiego, w sprawie czy dane zawarte w grze, nawet traktowanej jako jeden utwór, podlegają prawu o dziełach audiowizualnych (okazało się, że tak - polecam "Czy gra komputerowa to program komputerowy" :) ), ale to nie oznacza, że nie mogą być traktowane rozdzielnie, prawda?
Gra jako dzieło całościowo jest chroniona prawnie, poza tym wszystko co wchodzi w jej skład czyli modele,tekstury czy sample również, każdy z osobna.
Jak się uprzesz to możesz sprzedawać grę jako program-interaktywną wyświetlarkę do kolekcji grafiki,modeli,dźwięków. + jeden pakiet przykładowy, instalowany opcjonalnie :D ( lub odwrotnie)
Wtedy taki pakiet danych na pewno nie musi być już na GPLu.

« Ostatnia zmiana: Kwiecień 02, 2009, 02:56:23 wysłana przez misioslaw »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 02, 2009, 08:31:55
Cytuj
W zawartosci znajdujemy: GPL v2.
Podkreślając inne fragmenty:

Cytuj
These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License
, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Ad. 1. Dane z gry i kod gry nie mogą być "reasonably considered independent", w przypadku gry.
Ad. 2. Tu jest jasno: jeżeli dystrybuujesz te części jako części całości (np. gry), to one też muszą być na GPL.

Cytuj
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you;
Czyli nikt nie zabiera Ci praw do Twojego dzieła. Po prostu jeżeli to dzieło dołączysz do czegoś na GPL, to je też musisz razem z tym czymś wydać na GPL, ale nadal możesz w pełni nim dysponować (np. udostępniać równolegle na innych licencjach).

Cytuj
CAN be distributed commercially
Na to jest odpowiedź w FAQ na stronie GPLa - możesz dystrybuować komercyjnie, ale musisz to robić na GPLu. Czyli każdy, kto od Ciebie to kupi ma pełne prawo wrzucić to do internetu i udostępniać dalej na GPLu (nawet za free).

Cytuj
Conajmniej powyższy projekt open sourcowy (a własciwie jego autorzy) rozróżniają kod gry od zawartości gry (assetów).
Rozróżniają - w przypadku podanym przez Ciebie dane są dostępne na dwa sposoby: pod GPL 3.0 i pod CC. Czyli jednak pod GPLem zostały udostępnione.

Cytuj
Wg. mnie mylisz się Krzysiek i można wziąść silnik quake'a 3, aby sprzedawać osobno grę-kontent, a osobno udostępnić zmodyfikowany kod źródłowy silnika. I można obie te rzeczy wpakować fizycznie do jednego tekturowego pudełka (ba!, nawet na tą samą płytę instalacyjną), a własnoręcznie wyprodukowany kontent nie będzie zarażony GPLem - kupujący nie będzie mieć prawa dystrybuować go dalej za friko.
Według mnie też się mylisz. Jakieś dalsze argumenty, że tak nie jest? :)

Cytuj
Pewnie że jestem - chociażby w postaci 30tego dodatku do Simsów :)
Dane bez kodu - OK. A kod bez danych? (pomijając grafikę proceduralną, gdzie dane nie są potrzebne) ;)

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 02, 2009, 09:43:55
IDE może działać bez kompilatora. Kompilator może działać bez IDE. Niestety, ani gra nie zadziała bez danych, ani dane bez gry i tu jest podstawowa różnica.

Nie przemawia do mnie wyjaśnienie - binarkę gry (zwłaszcza, jeśli to np. game engine z większością lub całością logiki w skryptach) można przyozdobić innymi skryptami, innymi danymi i mieć zupełnie inną grę. Modele tekstury z dowolnej gry też można podczepić do innej gry, co potwierdza, że dane są niezależne od kodu, a kod od danych.

Offline matmis

  • Użytkownik

# Kwiecień 03, 2009, 12:29:56
witam, jestem bratem toxica.

jak już doszliście do tego, sprawa rozbija się o to, co może być "reasonably considered independent" - bo to nie jest precyzyjnie określona sprawa. Ale internetowe forum dyskusyjne nie jest dobrym miejscem by o tym decydować. W skrajnym przypadku decydowałby o tym jakiś sąd, ale nikomu nie polecam takiego rozwiązywania sprawy.

W kontekście tego wątku, najwygodniej zapytać ID Software jakie są ich intencje, być może wynegocjować specjalną licencję dla naszego projektu (w rodzaju LGPL). Ostatecznie to właśnie oni będą musieli wykonać jakiś ruch, żeby postanowienia GPL zostały wymuszone. (pomijam akcje społeczne typu bojkot, piractwo, fud)

Jeśli ktoś wypuszcza produkt którego część jest była objęta GPL, i tą część licencjonuje na GPL, a na resztę udziela tylko komercyjną licencję, i nawet jeśli wszystko wskazuje na to że złamał przez to GPL, to nie jest bezpieczne korzystać z całości, tak jakby całość została licencjonowana GPL. Całkiem możliwe że okazałoby się to w sądzie zwyczajnym piractwem. Właściwie to można zwrócić się do właścicieli praw autorskich tej części co była objęta GPL, żeby coś zrobili w tej sprawie.

A tak już zupełnie nieakademicko, to komercyjną licencję na to ID oferuje po cenie 10,000$ za wydaną grę. To nie jest wydatek, który decyduje o życiu albo śmierci wydawcy gier; zróżnicowanie w wynikach sprzedaży komercyjnych gier jest znacznie wyższe.

Z tych względów widać, że trzeba uważać czy się pracować z pierwotnym enginem, czy też z poprawkami wrzucanymi na GPL przez inne strony.
« Ostatnia zmiana: Kwiecień 03, 2009, 13:35:16 wysłana przez matmis »