Dlaczego twórcy gier nie publikują kodu źródłowego?

34

Zastanawiałem się, dlaczego twórcy gier AAA nie wypuszczają kodów źródłowych po tym, jak ich gra się wyprzedała, a wsparcia już dawno nie ma?

Oczywiście jest ta lista , na której można znaleźć wiele gier AAA z dostępnym kodem źródłowym.

Po prostu nie rozumiem, dlaczego inne firmy nie robią tego ze swoimi starymi grami? Z pewnością już go nie obsługują, a sprzedaż jest znikoma. Nie jestem nawet pewien, czy zwolnienie źródła wpłynęłoby negatywnie na sprzedaż gier.

Jestem pewien, że wiele gier, które są skazane na zamknięcie Gamespy , mogłoby zostać uratowanych przez społeczność, gdyby ich kody źródłowe zostały wydane.

VSZM
źródło
5
Problemy prawne z bibliotekami stron trzecich. Również fakt, że gra już się nie sprzedaje, nie oznacza, że ​​kod nie jest nadal używany.
Ben
13
Nie jestem pewien, czy jest to specyficzne dla rozwoju gier. Jest to ogólne dla wszystkich programistów.
MichaelHouse
1
@ Byte56 Myślę, że jest to szczególnie istotne tutaj, ponieważ w wielu innych obszarach oprogramowania tak naprawdę nie jest rzadkie wydanie źródła do bardzo starego oprogramowania, myślę, że sytuacja w oprogramowaniu do gier jednoznacznie zapobiega temu prawie całkowicie w przypadku gier.
Rzeczywistość
2
Otwarty kod źródłowy nie jest bezpłatny. Utrzymanie, przetworzenie żądań ściągania i nieuchronne wiadomości e-mail dotyczące pomocy technicznej, które generuje, wymagają czasu.
superluminarny
Myślę, że istnieje wiele starych gier, które skorzystałyby na przejściu na oprogramowanie typu open source. Wiele starych gier wciąż ma graczy, a jeśli społeczność mogłaby zrobić własne łatki, być może niektórzy nowi gracze kupiliby starą grę.
VSZM

Odpowiedzi:

56

Krótka odpowiedź brzmi, ponieważ zwykle jest to legalne pole minowe i zazwyczaj zwrot inwestycji jest niewielki lub żaden.

Kod źródłowy i zasoby gry są własnością intelektualną. Nie zawsze jest prawdą, że cały kod źródłowy i zasoby są własnością jednego studia programistycznego. Na przykład studio mogło mieć licencjonowany kod źródłowy dla jakiegoś silnika i wprowadzać w nim modyfikacje.

Oznacza to, że studio będzie musiało zidentyfikować i usunąć kod źródłowy lub zasoby, których nie mają licencji na redystrybucję lub ponowne wydanie. Podobnie musieliby zweryfikować całą bazę kodu pod kątem odniesień do tajemnic handlowych lub innych pojęć, że nadal są związani umowami prawnymi w celu zachowania tajemnicy lub ograniczenia. Prawdopodobnie chcieliby zeskrobać kod źródłowy pod kątem potencjalnie obraźliwych komentarzy lub referencji, które mogą źle wpływać na firmę.

To dużo pracy dla nietrywialnej bazy kodu, a to nadal tylko zakładając, że prawna własność kodu jest oczywista. W wielu przypadkach z tego rodzaju grami pierwotny posiadacz adresu IP jest nieczynny lub w inny sposób rozwiązany, a następnie masz bałagan, kto jest właścicielem resztek studia. Może to być wyjątkowo skomplikowany bałagan prawny w zależności od tego, jak poszło studio i jakie były początkowe umowy założycielskie.

Biorąc pod uwagę, że w tych kontekstach gry, o których mowa, zwykle nie są już popularne, jest mało prawdopodobne, aby studio (lub posiadacz IP po śmierci) uzyskałoby zwrot z inwestycji niezbędny do oczyszczenia i rozwiązania wszystkich problemów prawnych i innych kod. Brak prawidłowo weterynarza wszystkie zaległe kwestie prawne własności intelektualnej uwolnienia kodu źródłowego może spowodować w uchwycie IP jakiegoś naruszył własności złożenie pozwu lub podejmując inne działania prawne przeciwko firmie, jak również.

Oczywiście, biorąc to wszystko pod uwagę, istnieje jeszcze jeden dość powszechny powód, który jest stosunkowo ortogonalny w stosunku do kwestii prawnych: po prostu nie chcą . Może ich to nie obchodzi, może mają nadzieję na ponowne wykorzystanie części kodu w celu ponownego ożywienia oryginalnej gry, i tak dalej. To ich adres IP, mogą wybrać sposób ich dystrybucji. Lub czy w ogóle go rozpowszechniać.

Josh
źródło
2
„Jeśli to nie przyniesie dochodów - nie rób tego”. Z drugiej strony nawet stare gry nadal sprzedają się na stronach takich jak GOG.
Kromster mówi, że popiera Monikę
11
To przypomina mi historię Jedi Knight II i Jedi Knight: Jedi Academy, które zostały wydane na github, a następnie usunięte 2 dni później z powodu problemów patentowych na niektóre składniki kodu.
Lærne
„może mają nadzieję na ponowne wykorzystanie części kodu w celu ponownego ożywienia oryginalnej gry” lub, co bardziej prawdopodobne, już go sprzedali lub sprzedali jego część komuś innemu…
dniu
a potem jest związana grafika, która jest zupełnie inną (ale pokrewną) puszką robaków. Szczególnie w starych grach grafika jest często kodowana w plikach binarnych gry, więc nie można jej łatwo wyodrębnić i usunąć z archiwum źródłowego.
jwenting
IP oznacza własność intelektualną, prawda?
Pierre Arlaud
24

Jednym z aspektów, o których nie wspomniano wcześniej w kwestiach prawnych, są patenty na oprogramowanie.

Dzięki wielu szalonym, prostym rzeczom, które są opatentowane, firmy mogą bać się opublikować kod źródłowy na wypadek, gdyby ktoś dowie się, że gra, którą stworzyli miliony, naruszyła kilkaset (frywolnych) patentów i nagle zostaje zalana z procesami sądowymi ... które mogą być drogie, nawet jeśli „wygrasz”.

(O ile wiem, nie wydarzyło się to do tej pory z opublikowanym kodem źródłowym gry, ale byłbym zaskoczony, gdyby trolle IP nie wydobywały całego kodu źródłowego, który Microsoft otworzył z powodu różnych naruszeń patentów na oprogramowanie ..)

Jari Komppa
źródło
4
Na pewno masz na myśli: „Trolle własności intelektualnej dzielnie promują innowacje, zapewniając, że istnieje dochodowy przemysł zajmujący się zakupem i monetyzacją praw wynalazców do ich wynalazków”? Tak nie myślałem.
user44630
6

Oprócz tego, co powiedział Josh Petrie, jest również kwestia uzyskania czegoś, co będzie działać poprawnie.

Jednym z takich przykładów, który pamiętam, jest wydanie kodu źródłowego dla Penumbry. Duże repozytorium github upubliczniło obsługę pakietu Humble. Miał uwagi do budowania i wszystkie biblioteki niezbędne do jego zbudowania. Jednak większość ludzi zajęło kilka dni, zanim udało im się go poprawnie zbudować.

Byłbyś zaskoczony, co może zrobić kilka lat. Interfejsy API zmieniają się w bibliotekach stron trzecich i wiele rzeczy nie jest już poprawnych pod względem dokumentacji. Angelscript był dużym problemem dla Penumbry, ponieważ zmiany API między wersjami były ogromne.

Innym dużym problemem jest to, że rzadko warto publikować kod źródłowy w dużej grze. Zwłaszcza jeśli firma nakłada dość restrykcyjną licencję na zasoby i silnik, stanowi to duży problem dla osób zainteresowanych kodem. Ma to na celu ochronę prac twórców oprogramowania, ale wiele takich gier typu open source ograniczy możliwość tworzenia komercyjnej gry na podstawie starego kodu.

Zatem gra typu open source staje się w najlepszym razie możliwym doświadczeniem edukacyjnym. Nie wiem o wielu silnikach, ale większość z tych otwartych źródeł nie jest najlepszym przykładem. Działają, ponieważ wiele osób poświęca im tysiące godzin. Jednak wiele takich gier i silników ma tendencję do hackowania i jest stworzonych do bardzo konkretnego celu, który zwykle nie jest pomocny dla początkujących programistów.

Nawet jeśli ktoś na przykład dostanie kod źródłowy silnika źródłowego, nie byłoby to strasznie pomocne, gdyby chciał zastosować go do własnego projektu. Byliby po prostu przytłoczeni.


źródło
2
Chociaż jest to prawda, jest to (i nie powinno być) barierą dla wydania kodu źródłowego. Były projekty open source do przenoszenia starych gier na SDL, których uruchomienie zajęło miesiące, ale ludzie wciąż wkładają w to wysiłek.
Jari Komppa,
W 100% zgadzam się, że nie powinien, ale jest to duża decyzja, którą wiele studiów rozważy przed podjęciem wysiłku, aby wydać.
Rzeczywiście zaproponowałem, że zrobię porządek za darmo kilku firmom, bez żadnych chętnych (dzięki Remedy za pozwolenie mi zrobić port Death Rally chociaż =)
Jari Komppa