Pl/FAQ

From FlightGear wiki
Jump to navigation Jump to search

Dziękujemy za zainteresowanie FlightGear! Ten FAQ zawiera listę najczęściej zadawanych pytań. Jeśli nie możesz znaleźć odpowiedzi na swój problem, proszę utworzyć temat na naszym forum This is a link to the FlightGear forum..

Dystrybucja

Skąd wziąć FlightGear?

Oficjalną stroną pobierania jest: https://www.flightgear.org/download/. Znajdziesz tam wersje binarne dla Windows, macOS oraz Linux (AppImage). W większości dystrybucji Linux, FlightGear można pobrać bezpośrednio z repozytoriów danej dystrybucji. Szukaj w "Centrum/Menedżer oprogramowania" Twojej dystrybucji.

Jak zainstalować FlightGear na Linux?

Wiele dystrybucji zawiera FlightGear w swoich repozytoriach. Ponadto w Centrum Pobierania znajdziesz też wersję skompilowaną do AppImage, którą uruchomisz na niemal każdej współczesnej dystrybucji. Jeśli nie możesz znaleźć wersji pakietowej dla siebie, rozważ pobranie i kompilację z kodów źródłowych.

Gdzie mogę znaleźć najnowszy kod źródłowy?

Najnowszy kod źródłowy jest dostępny dla każdego za pośrednictwem naszego repozytorium Git.

Gdzie mogę latać i skąd wziąć scenerie?

Latać można wszędzie, po całym świecie. Scenerie można pobrać na wiele sposobów. Obecnie najlepszą opcją jest automatyczne pobieranie scenerii w zależności od tego gdzie się znajdujesz. Służy do tego program TerraSync. Aby go włączyć wystarczy w Launcherze wejść do "Ustawienia" -> "Pobieranie" i tam zaznaczyć opcję "Automatycznie pobieraj scenerię".

Można także pobrać większe rejony świata ręcznie, ze strony Pobieranie Scenerii

Gdzie mogę zdobyć dodatkowe samoloty?

Najnowsze, oficjalne samoloty można pobrać i zainstalować jednym kliknięciem w zakładce samolotów w Launcherze (patrz FlightGear Qt Launcher).

Możesz także zajrzeć na oficjalną stronę Pobierania Samolotów.

Inne samoloty w fazie rozwoju możesz znaleźć w oficjalnym repozytorium samolotów FGAddon, a inne w hangarach FlightGear osób trzecich (patrz także Jak zainstalować samoloty).

Dlaczego samoloty na FlightGear.org są nieaktualne?

Samoloty z oficjalnej strony pobierania są aktualizowane tylko w momencie wydania nowej wersji FlightGeara. Dzieje się tak, ponieważ samoloty, które są obecnie w fazie rozwoju, są zwykle opracowywane dla rozwojowych/nieopublikowanych wersji FlightGeara. Te wersje rozwojowe mają wiele funkcji, które nie są obsługiwane przez starszą, stabilną wersję. Gdybyśmy częściej aktualizowali pobierane samoloty, większość samolotów nie działałaby w stabilnej wersji FlightGeara.

Jak aktualne są dane we FlightGear w porównaniu z rzeczywistością?

Korzystamy z tych samych danych nawigacyjnych i baz lotnisk co X-Plane. Aktualne bazy danych można znaleźć w folderach $FG ROOT/Navaids/ and $FG ROOT/Airports/. Jeśli chciałbyś zaktualizować lub poprawić nasze dane, zobacz http://flightgear.org/Docs/AirNav/AptNavFAQ.FlightGear.html, aby uzyskać instrukcje jak skontaktować się z administratorem bazy.

Czy FlightGear jest bezpłatny?

FlightGear można pobrać bezpłatnie z wielu miejsc, w tym ze strony internetowej FlightGear, ale można go również kupić na płycie CD/DVD. Chociaż oferujemy tę usługę (zobacz oficjalną stronę internetową), zachęcamy inne grupy do redystrybucji dla swoich użytkowników, zwłaszcza w ramach dystrybucji systemu operacyjnego, która sprawia, że instalacja jest jeszcze szybsza i łatwiejsza dla nowych użytkowników.

Czasami możesz znaleźć FlightGear na sprzedaż, na portalach aukcyjnych lub komercyjnych stronach internetowych pod inną nazwą. Można to zrobić całkiem legalnie, o ile warunki licencji są przestrzegane i może być warte kosztów, jeśli uwzględnione zostaną niektóre funkcje o wartości dodanej, takie jak dodatkowa sceneria, samolot lub wsparcie posprzedażowe. Niestety, większość przypadków obserwowanych do tej pory wydaje się być po prostu próbą zarobienia pieniędzy na sprzedaży czegoś, co jest bezpłatne i nie zapewnia prawdziwej wartości dodanej.

Jak mogę zacząć korzystać z FlightGear?

FlightGear można pobrać z Download Central. Po uruchomieniu Launchera, możesz doinstalować tam samoloty z oficjalnego hangaru. Włączając automatyczne pobieranie scenerii, FlightGear sam zadba o scenerię. Uważaj na wymagania systemowe! Sprawdź też Nowy we FlightGear.

Kompilacja

Jak skompilować FlightGear z kodów źródłowych?

Zobacz Budowanie FlightGear. Istnieją wyjaśnienia dla kompilacji pod Window, Linuks, a nawet skrypty do automatycznego pobrania i kompilowania całości.

Dlaczego FlightGear się nie kompiluje?

To zależy. Po pierwsze upewnij się że używasz odpowiednich wersji FlightGear, SimGear, plib, zlib. Jeśli którykolwiek z pakietów nie pasuje (wersją) do innych, kompilacja może się nie udać.

Upewnij się też czy masz implementację OpenGL ze wsparciem glut'a z odpowiednimi plikami nagłówkowymi. Użytkownicy Linuksa posiadający karty nVidia powinni się sprawdzić, czy mają najnowsze sterowniki. Inni posiadacze Linuks powinni mieć bibliotekę Mesa3d (http://mesa3d.org/). Sprawdź też czy masz dobrze zainstalowany i skonfigurowany serwer X-ów.

Jeśli dalej masz problemy, zapytaj na FlightGear forum This is a link to the FlightGear forum., na IRC lub zapisz się na naszą listę mailingową FlightGear-Users i daj nam znać, jaki masz problem.

Czym jest SimGear i dlaczego go potrzebuję?

SimGear jest biblioteką kodu pomocniczego. SimGear jest potrzebny tylko wtedy, gdy planujesz skompilować FlightGear - nie jest potrzebny do uruchamiania prekompilowanych binariów. Więcej informacji znajdziesz na stronie http://www.simgear.org/. Uwaga: Podczas kompilacji FlightGeara bardzo ważne jest posiadanie pasującej wersji SimGeara.

Konfiguracja i uruchomienie

Jak uruchomić FlightGear?

Najprostszym sposobem jest użycie Launchera. Alternatywnie możesz go uruchomić z terminala używając opcji wiersza poleceń.

Jak zainstalować nowe scenerie?

Jeśli naprawdę nie chcesz/nie możesz używać Terrasync, pliki archiwum scenerii (np. w100n30.tar.gz) powinny zostać rozpakowane do katalogu Scenery/Terrain w Twoim $FG_ROOT. Więcej na Instalowanie scenerii.

Jak skonfigurować mój joystick?

FlightGear obsługuje wiele joysticków/wolantów od razu po podłączeniu. Jeśli jednak masz problemy, zobacz Urządzenie wejściowe.

W jakim formacie powinien być mój osobisty plik .fgfsrc?

Twój plik .fgfsrc powinien po prostu być listą opcji wiersza poleceń, z każdą opcją w osobnej linii. Plik ten nie jest plikiem XML.

Jeśli wolałbyś korzystać z plików konfiguracyjnych XML mógłbyś dodać coś takiego do pliku .fgfsrc lub do wiersza poleceń:

--config=/ścieżka/do/pliku.xml

Prawie każda opcja odpowiada właściwości, więc możesz wybrać metodę która Ci najlepiej odpowiada.

Jak dostać się do opcji, pomocy itp.?

Prawdopodobnie nie widzisz głównego menu. Aby je wyświetlić naciśnij F10.

Latanie

Jak uruchomić silnik/i?

Samoloty różnią się w swoich procedurach startowych. Niektóre mogą mieć sekwencję automatycznego startu lub instrukcje w menu pomocy samolotu (naciśnij klawisz ?) i/lub na stronie Wiki o statkach powietrznych. Zapoznaj się z Podręcznikiem FlightGear lub zobacz szybki przewodnik.

Gdzie jest przesuwana mapa?

W symulatorze można wejść w menu "Wyposażenie > Mapa", ale nie jest to mapa lotnicza. Popularna ruchoma mapa jest dostępne w ramach osobnego projektu o nazwie Atlas. Jest również MPmap - mapa online dla multiplayer.

Jeśli lubisz alternatywę dla Atlasa z uaktualnioną grafiką i mapami dostarczanymi przez projekt OpenStreetMap, to sprawdź Phi lub JMapView.

Gdzie mogę się nauczyć latania według wskazań przyrządów i nawigacji?

Jest dobry artykuł Understanding navigation oraz jest to bardzo dobrze wyjaśnione w Podręczniku FlightGear. Inne zasoby to:

  • See How It Flies - bardzo dobra książka autorstwa Johna S. Denkera, dostępna online.

Jaka jest różnica między lotką a sterem kierunku?

W tej samej książce jest trochę informacji o lotkach i sterze kierunku.

Czy FlightGear wspiera multiplayer?

Oczywiście. Zobacz Howto: Multiplayer. Zarówno wersje Windowsowe jak i Unixowe obsługują tryb wieloosobowy na serwerach FlightGear. Również komunikacja głosowa jest obsługiwana dzięki FGCom.

Mapa pokazująca samoloty graczy online w czasie rzeczywistym jest dostępna jako MPmap.

Gdzie są najlepsze miejsca do latania w FlightGear?

Sceneria FlightGear obejmuje cały świat, ale dzięki społeczności użytkowników FlightGear, niektóre lotniska i obszary są bardziej szczegółowe niż inne:

  • W okolicach Paryża we Francji jest wiele wysokiej jakości modeli scenerii.
  • EHAM Amsterdam Schiphol, EGK Londyn Gatwick i LFPG Paryż Charles de Gaulle są jednymi z najwyższej jakości lotnisk.
  • LOWI Innsbruck jest zarówno rozwinięty w scenerii jak i na lotnisku.
  • TNCM St. Maarten jest popularnym celem podróży, a okoliczne wyspy (Anguilla, St. Eustatius, Saba, St. Barthélemy, St. Kitts i Nevis) są dobrze wymodelowane.

Ponadto zobacz sugerowane loty, sugerowane lotniska i sugerowane scenerie niestandardowe.

Gdzie mogę znaleźć informacje o lotniskach i mapy lotnicze online?

Lotniska:

Mapy:

Zobacz także pozyskanie map lotniczych.

Czy we FlightGear jest możliwość prowadzenia działań militarnych np. prowadzenia walk powietrznych lub zrzucania bomb?

Tak. Sprawdź dodatek Bombable i Bombable topic on the forum This is a link to the FlightGear forum.. Istnieją również scenariusze bombardowania dla A-10 i innych samolotów z uzbrojeniem, jak North American OV-10A Bronco, General Dynamics F-16 i F-117 Nighthawk.

Problemy z lataniem

Dlaczego moje powierzchnie sterowe wracają do określonej pozycji?

Jest kilka możliwości, które mogą do tego doprowadzać:

Dlaczego mój kokpit znika, gdy się rozglądam?

Prawdopodobnie używasz wersji samolotu z panelem 2D. Upewnij się, że wybrałeś ten z kokpitem 3D. Większość samolotów ma go teraz!

Wokół lata mnóstwo innych samolotów

FlightGear posiada tak zwany system sztucznego ruchu lotniczego (AI Traffic). System ten generuje sterowane przez komputer samoloty na podstawie prawdziwych planów lotu, aby świat we FlightGear wyglądał bardziej żywo. Aby wyłączyć sztuczny ruch idź do menu "SI" > "Ruch lotniczy oraz scenariusze" i odznacz opcję "Enable AI traffic".

Jeśli natomiast nie widzisz żadnych samolotów poza swoim, rozważ przyczynienie się do dodania ruchu w swoim ulubionym miejscu!

Samolot ciągle skręca w lewo, nie mogę lecieć prosto!

Tak, FlightGear jest prawdziwym symulatorem lotu i modeluje te efekty. Dokładnie tak zachowują się prawdziwe samoloty śmigłowe. Zobacz zrozumienie momentu obrotowego śmigła i współczynnika P.

Sprawdź też rozkład obciążenia samolotu. Spróbuj dodać drugiego pilota o wadze 180 funtów i zobacz, czy efekt zostanie zniwelowany.

Wkład własny

W jakim języku napisany jest FlightGear?

Głównie C++ z pewną ilością wspierającego kodu C, który jest głównie zawarty w SimGear. Więcej szczegółów na temat użytych języków:

Ponieważ wydajesz się być zainteresowany rozwojem rdzenia, powinieneś naprawdę sprawdzić Howto:Start core development.

Jak zaprojektować model dynamiki lotu do nowego samolotu?

FlightGear obsługuje różne modele dynamiki lotu (FDM), ale tylko dwa z nich są powszechnie używane:

  • JSBSim: patrz http://jsbsim.sf.net/.
  • YASim: jeśli chcesz pracować z prostszym FDM, spróbuj swoich sił w YASim. Przewodnik dotyczący tworzenia samolotów YASim znajduje się w podstawowym pakiecie FlightGear w pliku $FG_ROOT/Docs/README.yasim.

Zobacz Portal rozwoju samolotów.

Jak zaprojektować albo zmienić panel?

Zobacz plik $FG_ROOT/Docs/README.xmlpanel.

Skąd mogę się nauczyć programowania 3D i zaangażować się?

Jeśli chciałbyś stworzyć trójwymiarowy kokpit samolotu do FlightGear lub stworzyć budynki, zewnętrzne modele samolotów itp., Twoja pomoc jest bardzo potrzebna. Postaraj się nie przesadzać ze złożonością siatki. Najczęściej używanymi narzędziami są tutaj Blender, AC3D, Gimp.

Jeśli natomiast naprawdę chcesz wejść w programowanie w C++, będziesz musiał kupić sobie dobrą książkę o OpenGL. Jednak, FlightGear korzysta z biblioteki wysokiego poziomu OSG, wydajnego zestawu narzędzi do grafiki 3D. Aby rozpocząć pracę z kodowaniem 3D w C++, możesz przejrzeć dokumentację OSG i nauczyć się tylko tyle OpenGL, ile będziesz potrzebować.

Jak mogę dodać lotnisko?

Proces ten obejmuje stworzenie układu lotniska w WorldEditor, przetestowanie go (możesz chcieć wygenerować część scenerii, ale nie jest to obowiązkowe), a następnie, jeśli twoje źródła danych są zgodne z GPL, użycie WorldEditor do przesłania go do bramki. Lotnisko będzie dostępne w następnej pełnej przebudowie scenerii, chyba że chcesz wygenerować własną scenerię. Więcej na Howto:Make an airport.

Czy mogę stworzyć własną scenerię?

Tak, choć może to być trudne zadanie. Generowaniem scenerii dla FlightGeara zajmuje się siostrzany projekt TerraGear. Dobrą wiadomością jest to, że gdy już wszystko ustawisz, jest to dość łatwe (choć może być czasochłonne), a przede wszystkim, że możesz to łatwo udostępnić.

Problemy

X-y nie działają / są uszkodzone / złe / nie uruchamiają się

FlightGear jest bardzo skomplikowanym programem. Jeśli potrzebujesz pomocy w ogólnym użytkowaniu symulatora, znajdziesz ją na portalu Użytkownika oraz na forum FlightGeara This is a link to the FlightGear forum..

Jeśli Twoim problemem jest zawieszanie się oprogramowania, otrzymujesz błędy itp., rozważ zastosowanie się do wskazówek zawartych na stronie rozwiązywania problemów.

Niektóre z najczęściej występujących problemów są jednak wymienione poniżej. Jeśli nie możesz rozwiązać problemu samodzielnie i potrzebujesz pomocy kogoś, proszę pamiętaj, że jesteśmy wszyscy tutaj dla zabawy, deweloperzy również, i że każda pomoc jest aktem hojności. Więc postaraj się być miły, nawet jeśli problem cię frustruje.

Nie można wykonać pliku: bin/Win32/fgrun.exe podczas instalacji

This section contains out-of-date information

Please help improve this article by updating it. There may be additional information on the talk page.

W Twoim systemie brakuje bibliotek runtime MSVC wymaganych przez FlightGeara. Pobierz i zainstaluj następujące vcredist_x86.exe:

Co się stało z panelem, klawiaturą itp.?

Problemem jest prawie na pewno to, że Twój pakiet bazowy (FGData) nie jest zsynchronizowany z FlightGearem. Wiele konfigurowalnych części FlightGeara jest zdefiniowanych w plikach XML zawartych w pakiecie podstawowym.

Dlaczego FlightGear działa tak wolno?

Jeśli wydaje Ci się, że FlightGear działa zbyt wolno, sprawdź w Howto: Improve Framerates, czy możesz pokombinować z ustawieniami grafiki.

Jeśli wszystko działa skrajnie wolno (np. ~1 klatka na sekundę), być może sprzętowa akceleracja 3D nie jest aktywna. Upewnij się, że masz zainstalowane biblioteki OpenGL i poprawnie skonfigurowane oraz upewnij się, że masz najnowsze sterowniki do swojej karty graficznej. Bądź również świadomy, że niektóre karty graficzne nie są zbyt dobrze wspierane.

Jak sprawdzić liczbę klatek na sekundę?

W symulatorze idź do menu "Widok" > "Opcje widoku" i zaznacz tam opcję "Show frame rate".

Jak zmienić ustawienia kokpitu 2D?

Aby pokazać/ukryć panel 2D użyj kombinacji klawiszy Shift+P. Aby wyświetlić/ukryć HUD, naciskaj klawisz Shift+H. Możesz też włączyć alternatywny HUD przez naciśnięcie Shift+I (naciśnij I aby wrócić do domyślnego). Klawiszem Shift+H dostosujesz jasność HUD-a.

Utknąłem do góry nogami po rozbiciu się?

Szybką odpowiedzią jest zresetowanie symulatora, poprzez menu "Plik" > "Zresetuj". To ustawi twój samolot z powrotem w pozycji startowej.

Alternatywnie naciśnij Ctrl+U (w domyślnej konfiguracji), aby podnieść samolot o 1000 stóp.

Dla upartych: sztuczka do nauki. Aby wrócić do normalnej (nie odwróconej) pozycji, wznieś się o 500 stóp i obróć się przy użyciu lotek o 180*. Pamiętaj, sterowanie działa odwrotnie gdy jesteś do góry nogami i utrzymuj prędkość!

Dlaczego najnowsze wersje niektórych samolotów nie działają w mojej (starszej) wersji FlightGeara?

Często rozwój nowych samolotów nadąża za rozwojem kodu FlightGeara. Nowe lub nowo zmodyfikowane samoloty mogą korzystać z plików (takich jak nowe pliki instrumentów) lub funkcji dostępnych tylko w nowszych wersjach FlightGeara. Jeśli utknąłeś w starszej wersji FlightGeara, możesz spróbować pobrać wcześniejszą wersję samolotu z odpowiedniego oficjalnego hangaru FlightGear.

Kiedy uruchamiam FlightGear widzę błąd wspominający o "SQLite". Co mam zrobić?

Od wersji FlightGear v2.10 (wydanej w lutym 2013) wprowadzono pamięć podręczną navdata, aby poprawić czas uruchamiania FlightGeara. Ta pamięć podręczna to baza danych SQLite, która czasami jest trochę niestabilna. Jeśli baza danych jest uszkodzona, FlightGear nie będzie mógł się uruchomić.

Aby to naprawić musisz po prostu usunąć plik $FG_HOME/navdata.cache. Przy pierwszym uruchomieniu FlightGeara, po usunięciu pliku, pamięć podręczna navdata zostanie odbudowana. Ponieważ proces ten jest czasochłonny, uruchomienie FlightGeara zajmie więcej czasu.

Niektórzy uciekają się do usunięcia całego katalogu $FG_HOME lub nawet ponownej instalacji FlightGeara. Jednak żadne z nich nie jest potrzebne i może spowodować utratę wszelkich skonfigurowanych niestandardowych preferencji.

Kolejnym wskaźnikiem problemu związanego z SQLite jest komunikat o błędzie:

  Sqlite error:attempt to write a readonly database (8) while running:
     INSERT OR REPLACE INTO stat_cache (path, stamp) VALUES (?,?)

W takim przypadku, wcześniej uruchomiona instancja FlightGeara może nadal działać i blokować plik navdata.cache. Sprawdź, czy działa inny proces fgfs i zakończ go.

Mój samolot ma szare okna?

Problem nieprzejrzystych szarych okien, prze które nie można nic zobaczyć, jest najczęściej spowodowany niezgodnością wersji programu FlightGear i samolotu. Lub może to być spowodowane efektem okna, który nie jest zgodny z systemami renderowania Rembrandt lub ALS. Przyczyną techniczną jest niezgodność renderera i zadeklarowanego efektu dla okna. Niektóre rozwiązania obejmują:

  • Jeśli używasz stabilnej wersji FlightGeara, pobierz samolot z oficjalnego hangaru pasującego do Twojej wersji FlightGeara.
  • Jeśli używasz najnowszej wersji z builda nocnego lub samodzielnie skompilowanej wersji FlightGeara lub chcesz używać najnowocześniejszego samolotu, zobacz FGAddon - pozyskiwanie samolotu.
  • Jeśli korzystasz z samolotu z jednego z nieoficjalnych hangarów, najlepiej skontaktuj się z oryginalnym autorem samolotu lub osobą odpowiedzialną za ten hangar.
  • Jeśli używasz Rembrandta, spróbuj wyłączyć ten system renderowania. Samoloty, które używają model-default.eff dla okien (prostym kosztem nierobienia niczego) zamiast model-transparent.eff, model-combined-transparent .eff lub glass.eff (które instruują Rembrandta, aby nie używał odroczonego renderowania dla szyb) będą miały szare okna podczas używania Rembrandta.

Mój ekran staje się całkowicie czerwony zaraz po uruchomieniu FlightGear

Czerwony ekran to wizualizacja efektu "redout" (napływ krwi do głowy pilota z powodu zbyt dużych przeciążeń). Jeśli pojawia się zaraz po uruchomieniu FlightGeara, może to być spowodowane problemem z ładowaniem scenerii. FlightGear ładuje scenerię w locie, a jeśli scenerii nie można załadować, np. ze względu na problemy z siecią, może nie być podłoża, na którym można zlokalizować statek powietrzny. W rezultacie samolot spada przez nieistniejący grunt, zaczynając się przewracać doprowadzając do nadmiernych przeciążeń. To z kolei powoduje efekt czerwonej planszy. Aby zweryfikować problem, należy rozpocząć lot w KSFO, którego sceneria jest już zawarta w pakiecie podstawowym.

FAQ

Z kim się kontaktować w sprawie tego FAQ?

Dodaj komentarz na temat FAQ na tej stronie.

Jak stary jest ten dokument?

Sprawdź jego historię.

Jaką inną dokumentację powinienem przeczytać?

Wkład własny

Ochrona treści

DRM

Cleanup.png This article may require cleanup to meet the quality standards of the wiki. Please improve this article if you can.

Co jakiś czas pojawia się pytanie, czy dostarczanie do do FlightGeara zamkniętego kodu źródłowego wtyczki (dokładniej wtyczki czytnika plików OSG) jest legalne. Jedyną potrzebą trzymania kodu w pobliżu jest zapobieganie inżynierii wstecznej.[1][2][3]

FlightGear w obecnej postaci jest efektem pracy wielu ludzi, którzy dobrowolnie pracują nad wspólnym wysiłkiem stworzenia otwartej i rozszerzalnej platformy symulatora lotu. Sam Twój pomysł wprowadzenia DRM jest wbrew wszelkim zasadom open source.

Możesz swobodnie stworzyć samolot dla FlightGeara na licencji własnościowej - to są dane z perspektywy symulatora i nie uruchamiają licencji. Możesz to sprzedawać, nie pozwalając na ponowną dystrybucję kodu źródłowego. Musisz trzymać się z dala od kilku rzeczy (nie możesz używać ogólnych instrumentów, bibliotek Nasal,...) ale to powinno być do zrobienia. Możesz pobierać opłaty licencyjne za taki samolot i nikt nie może go redystrybuować.[4]

dane są analizowane z XML-a do dynamicznych tabel wyszukiwania (IE. STL). Jedynymi zasobami używanymi poza tym, co jest potrzebne do stworzenia funkcji FDM, jest narzut związany z wyciąganiem danych z pliku XML do pamięci. To musiałoby się zdarzyć bez względu na to, w jakiej formie były dane. Chociaż mogą istnieć lepsze sposoby przechowywania danych niż XML-e, jeśli nie przejmujesz się interakcją człowieka z danymi. Myślę, że uczynienie danych czytelnymi/edytowalnymi dla człowieka jest głównym celem używania XML-i. Może być zbyt gadatliwy, ale działa i istnieją standardowe biblioteki do odczytu/parsowania plików XML, dzięki czemu używanie ich do wprowadzania danych jest dość proste. Jest to korzystne zarówno dla FlightGeara, jak i JSBSim pod względem ograniczenia złożoności obsługi danych konfiguracyjnych. Ponadto istnieje ograniczona liczba standardowych formatów dla tego typu rzeczy, takich jak JSON, a wszystkie te, które są czytelne/edytowalne przez człowieka, mają wiele takich samych problemów jak XML. W pełni funkcjonalne FDM są złożone, a zrozumienie XML-a używanego do konfiguracji złożonego FDM jest bardzo drobnym problemem, a każdy, kto faktycznie rozumie w pełni funkcjonalny FDM, będzie miał bardzo niewiele problemów z częścią XML.[5]

FlightGear sam w sobie jest OpenSource, więc niezależnie od tego, w jakim systemie DRM chcemy zakodować dane, każdy może go usunąć (i jest to całkiem legalne). Nie trzeba się zastanawiać, aby wygenerować wersję FlightGear bez ochrony praw autorskich i rozpowszechnić ją, na której Twoja treść działa bez klucza (lub czegokolwiek innego). Biorąc pod uwagę, że ludziom zwykle udaje się złamać schematy DRM przy braku otwartego kodu źródłowego, próba zrobienia tego z kodem źródłowym otwartym dla każdego wydaje się po prostu stratą czasu. Po drugie, jakikolwiek format pliku odczyta OSG, zanim dotrze do renderera, musi być tablicą wierzchołków. Renderer tego potrzebuje, na etapie GLSL nie ma deszyfrowania. Więc są szanse, że skoro działamy na *Open*GL, to znowu każdy, kto naprawdę chce, może wypisać niezaszyfrowany format.[6]

Ponieważ FlightGear jest open source, niezwykle łatwo jest dodać kod, aby uzyskać dostęp do grafu sceny 3D i wyodrębnić pełny model samolotu (z wyłączeniem skryptów, chociaż można je odtworzyć). Informacje po prostu tam siedzą, w pełni widoczne i gotowe do pobrania z gałęzi OSG jak duża soczysta brzoskwinia. Prawdopodobnie mógłbym napisać ten kod w pół dnia, ale konwersja do formatu AC3D, tekstur PNG itp. w celu odtworzenia nowej kopii samolotu zajęłaby trochę więcej czasu. Gdyby FlightGear miał zamknięty kod źródłowy, napisanie kodu ekstraktora OSG byłoby znacznie trudniejsze, ale mimo to nadal wykonalne.[7]

Właśnie z tego powodu mamy wsparcie dla katalogów i zewnętrznych hangarów. Oczywiście chcemy zachęcać do tworzenia samolotów na licencji GPL, ale nie każdy twórca samolotów chce lub może udostępniać swoje prace na licencji GPL. FlightGear szanuje i wspiera tę opcję.[8]

Z pewnością można uruchomić model FDM z zewnątrz i użyć jednej z wielu opcji sieciowych I/O we FlightGear, aby przesyłać dane tam i z powrotem. W przeszłości zrobiono to w kilku projektach badawczych, aby wykorzystać FlightGear jako narzędzie do wizualizacji. Co za tym idzie, możesz zrobić to samo w przypadku skryptów - uruchomić skrypty na zewnątrz i wchodzić w interakcje z FlightGearem za pośrednictwem jednego z tych protokołów.[9]

Jeśli faktycznie spróbujesz pobierać opłatę 100$ za samolot dla FlighGear, nie znajdziesz zbyt wielu klientów, ponieważ FG jest popularny głównie w społeczności OpenSource. Jeśli sprawisz, że będzie to zbyt kłopotliwe za pomocą DRM-ów, być może ktoś spróbuje to obejść dla zasady (ludzie robią to dla sportu) - nie jest łatwo sprawić by wieloplatformowy DRM nie był irytujący dla użytkowników.[10]

Należy pamiętać, że bez względu na format źródłowy (dll, zaszyfrowany + podpisany, binarny itp.), ostatecznie siatka modelu, tekstury i struktura logiczna są wczytywane do wewnętrznych struktur klas OSG. Po zakończeniu tego procesu, aby model mógł zostać wyrenderowany na ekranie, osoba może wywołać odpowiednią funkcję write*File() w celu zapisania poddrzewa modelu w dowolnym obsługiwanym formacie. Jedyne, co jest potrzebne, to dostęp do kodu źródłowego FlightGeara, aby wstawić wywołanie funkcji w strategicznym miejscu. W ostatecznym rozrachunku nie możesz całkowicie chronić swojej treści, jeśli nie masz pełnej kontroli nad sytuacją na poziomie kodu źródłowego aplikacji. I jest to klasyczna strategia hakowania ochrony przed kopiowaniem, wstawiaj magię do kodu po uwierzytelnieniu/załadowaniu/dekodowaniu formatu dystrybucji, a następnie zapisz go w "odszyfrowanym" formacie. Ludzie robią to cały czas, nawet z zastrzeżonym kodem. Wartość celu zwykle określa, jak ciężko są skłonni pracować, aby go ukraść.[11]

Dodanie wsparcia dla DRM do FlightGear nie nastąpi - skrypty Nasal są domyślnie dostarczane w formacie zwykłego tekstu (podobnie jak JavaScript), natomiast zaciemnianie jest oczywiście możliwe, jednak nie ma to żadnego sensu w kontekście FlightGear jako projektu otwarto źródłowego.

Ponadto skrypty mogą być łatwo udostępniane i uruchamiane przez użytkowników, po prostu je wymieniając lub kopiując.

Nawet gdybyś zrzucił pośredni kod bajtowy Nasal do pliku obiektowego i wykonał to za pomocą maszyny wirtualnej Nasal, nie byłoby możliwości wyegzekwowania DRM.

Oczywiście, ponieważ FlightGear jest open source, możesz po prostu dodać obsługę DSO/wtyczek do rozwidlenia FlightGear i oprzeć całą swoją pracę na tym rozwidleniu - z drugiej strony, twoje modyfikacje nadal będą musiały być udostępniane.

Istnieje sposób na tworzenie legalnych dodatków z zamkniętym kodem źródłowym: możesz napisać cały "tajny" kod C++ jako zewnętrzną aplikację i pozwolić jej komunikować się z FlightGearem za pośrednictwem gniazd sieciowych. To powinno działać w miarę dobrze. Ale nie oczekuję, że zdobędziesz wielu klientów. Przede wszystkim, przynajmniej w Linuksie, nikt nie chce uruchamiać binarnych blobów, które mogłyby z łatwością wymazać katalog domowy podczas zabawy we FlightGear. A potem dzieje się tyle darmowych samolotów, z dużym rozmachem, że prawdopodobnie zawsze będziesz w tyle. A ci programiści mają bliskie powiązania z (lub są) programistami FlightGeara, więc mają tę zaletę, że mogą w dowolnym momencie zmienić kod FlightGeara według własnych upodobań. Mogą zmieniać interfejs do woli, a ty musisz nadrobić zaległości i zająć się reklamacjami klientów, którzy nagle siadają na zepsutym binarnym blobie, który nie działa z ostatnią wersją FlightGeara. I wreszcie, to podejście do gniazd działa tylko za pośrednictwem systemu właściwości i jest otwarte do wglądu dla każdego (oprócz niedawno dodanej półtajnej właściwości wektora śmieci).

FlightGear nie ma możliwości ładowania samolotów z bibliotek współdzielonych. Możesz rozpowszechniać swój samolot na licencji zastrzeżonej, tak jak robi to Vitos, ale nie jako biblioteka współdzielona. Zmiana we FlightGear, aby mógł ładować samoloty z bibliotek współdzielonych, wymagałaby dużo pracy. Kto miałby to robić i dlaczego ktokolwiek miałby to robić, skoro mógłby poświęcić swój czas na ulepszanie wolnego oprogramowania? I dlaczego główni twórcy FlightGear mieliby akceptować taki wkład?[12]

Realistycznie patrząc, jeśli chcesz sprzedać komercyjny samolot, twoją bazą klientów będzie Flight Sim X, X-Plane, Prepar3D. Po prostu nie uzyskasz żadnej przyczepności w ekosystemie FlightGear. Nie jest on do tego stworzony.[13]

Poza tym obsługa języka skryptowego OSG (lua) nie może uzyskać dostępu do wszystkich wewnętrznych funkcji Nasal, po prostu dlatego, że we FlightGear nie zaimplementowano kodu łączącego. Więc nie ma żadnych właściwości dla ciebie i żadnego dostępu do wewnętrznego wywołania funkcji, które zapewnia Nasal.[14]

Posiadasz prawa autorskie do swojej pracy, nawet jeśli wydasz ją na licencji GPL i możesz dalej rozwijać swoją pracę i wydać bardziej kompletną wersję na licencji komercyjnej, jeśli tylko chcesz (jest to wariant podwójnej licencji). Jedynym sposobem, aby nie zachować praw autorskich do tego, co robisz, jest przeniesienie ich na kogoś innego lub zrzeczenie się ich poprzez udostępnienie swojej pracy jako domeny publicznej. Jeśli stworzysz model 3D dla samolotu FG i nadasz mu licencję GPL, nikt nie zabroni Ci adaptacji i sprzedaży go dla X-Plane. W rzeczywistości możesz go sprzedawać również dla FG (ale inni mogą go redystrybuować, jak im się podoba, gdy go kupią, ponieważ jest to GPL, więc może to nie być zbyt opłacalny model biznesowy).[15]

Czy inne symulatory oferują szyfrowanie lub ochronę zawartości? Na przykład udało mi się zlokalizować i przetestować wtyczkę blendera, która może otworzyć wiele modeli samolotów MSFS. A jak z X-Plane? Minął *długi*, *długi* czas, odkąd majstrowałem przy ich pakiecie, ale w tamtym czasie zwracałem uwagę, że wszystkie ich formaty 3D były otwarte i dobrze zdefiniowane. Często komercyjne symulatory przechowują rzeczy we własnych formatach binarnych, ale w większości przypadków nie są one zaszyfrowane, a użytkownicy końcowi dość szybko je odszyfrowują -- więc mogą edytować lub tworzyć nową zawartość w tym samym formacie. Nie uważałbym formatu binarnego za schemat ochrony treści, zwłaszcza w projekcie typu open source, w którym źródło do ładowania i przechowywania formatu binarnego jest łatwo dostępne. Rozumiem pragnienie twórców treści, aby nie dać się „oszukać”. Ale zrozum też, że jednym z głównych powodów, dla których FlightGear może odnieść sukces, jest to, że cały kod źródłowy i zawartość są otwarte. Gdybyśmy nie otworzyli wszystkiego, nie otrzymalibyśmy prawie takiej samej liczby datków wolontariuszy, a wysokiej jakości wolontariat jest kluczowym powodem, dla którego FlightGear odniósł taki sukces. Gdybyśmy byli zamkniętą organizacją komercyjną, kto chciałby się włączyć i pomóc komuś innemu zarabiać pieniądze? Ale gdy wszystko jest otwarte, wiesz, że wszyscy inni mogą cieszyć się takim samym wkładem, tak samo jak Ty cieszysz się wkładem wszystkich innych. Istnieje kilka oszustów, którzy próbują zarobić na pracy innych ludzi i chętnie kłamią i wprowadzają w błąd, aby wyłudzić jak najwięcej pieniędzy od niczego niepodejrzewających użytkowników końcowych. Prawda jest taka, że ​​ci ludzie zawsze istnieli i zawsze będą istnieć. Są niezwykle skrupulatni i uporczywi w kopiowaniu rzeczy, posuwają się nawet do łamania schematów ochrony przed kopiowaniem, przeprowadzania inżynierii wstecznej projektów sprzętu, kopiowania dokładnego wyglądu produktów (nawet łącznie z logo). To nie jest problem, który jest unikalny dla projektu FlightGear -- i jest to coś, z czym wciąż byśmy się borykali, bez względu na to, jak ciężko pracowaliśmy nad stworzeniem schematów ochrony przed kopiowaniem. Jeśli zaprojektowałeś format zawartości binarnej, ktoś dokona inżynierii wstecznej. Jeśli zaprojektujesz schemat szyfrowania, ktoś po prostu zmodyfikuje kod symulatora, aby zrzucić odszyfrowaną wersję po załadowaniu jej do pamięci przez zastrzeżoną wtyczkę deszyfrującą (o ile nie złamie schematu szyfrowania lub nie ukradnie kluczy szyfrowania). We wszystkich tych przypadkach zawartość nadal można łatwo kopiować, replikować, sprzedawać itp. Najlepszy schemat, jaki widziałem, to taki, który ma klucz blokady węzła, który będzie działał tylko na jednym komputerze (klucz przypisany do adresu mac lub identyfikatora procesora). Oznacza to jednak bardziej skomplikowaną dwuetapową instalację, w której użytkownik musi wrócić do Ciebie po zainstalowaniu produktu, zgłosić swój unikalny identyfikator, uzyskać klucz, a następnie zainstalować ten klucz, zanim będzie mógł działać. Problem z tym wszystkim polega na tym, że w projekcie open source ktoś może po prostu skompilować nową wersję symulatora, która pomija sprawdzanie klucza lub akceptuje trywialny klucz lub dowolny klucz. Zastanawiam się tutaj nad różnymi możliwościami, ale mam nadzieję, że widzisz, że to, co na pierwszy rzut oka wydaje się prostą prośbą, w rzeczywistości jest dość złożone i w dalszym ciągu powoduje różnego rodzaju problemy (zarówno pod względem technicznym, jak i ze wsparciem użytkowników). Ostatecznie złoczyńcy i tak zazwyczaj znajdują obejścia i nie są zbytnio spowalniani. Kiedy rolnicy uprawiają rośliny, muszą znosić chwasty. Możemy spróbować rozsądnych rzeczy, aby zminimalizować chwasty, ale jeśli jesteś zbyt agresywny w zabijaniu chwastów i nie tolerujesz ani jednego, najprawdopodobniej zabijesz również większość swoich upraw. Dlatego uważam, że jest to coś, z czym musimy się po prostu pogodzić. Możemy spróbować podjąć rozsądne kroki, aby zminimalizować problem, ale nie możemy wyeliminować wszystkich złych osób bez szkody dla wszystkich dobrych rzeczy w naszym projekcie.[16]

Kiedy już rozpowszechniłeś kod źródłowy na licencji GPL, wyraźnie zadeklarowałeś, że każdy ma prawo do redystrybucji i modyfikacji - o ile nie rozpowszechnia go na innej licencji. Ale ty, jako właściciel praw autorskich, możesz zmienić licencję dla nowej wersji kodu, której jeszcze nie rozpowszechniałeś na licencji GPL - o ile modyfikacje te nie zostały dokonane przez innych, tj. Ty, jako jedyny posiadacz praw autorskich, możesz również rozpowszechniać go na kilku licencjach jednocześnie, np. GPL i niektórych licencjach własnościowych (czyniąc go wartym pieniędzy, które ludzie mogą za niego zapłacić, dzięki szybszym poprawkom błędów, dystrybuowanym tylko do płacących klientów itp.).[17]

Inną rzeczą do rozważenia jest to, że dystrybucja Twojego statku powietrznego jako .dll lub .so nie ukryła by ani nie zaciemniła by Twojego kodu i tekstur po załadowaniu ich do struktur symulatora w celu renderowania. Reszta FlightGeara jest open source, więc wstawienie wywołania funkcji OSG, aby zapisać samolot (modele i tekstury) w innym popularnym formacie 3D, nie wymagałoby wiele wysiłku. Spowodowałoby to pewne straty w zakresie organizacji plików źródłowych, ale mimo to dałoby miejsce startu komuś, kto zamierza skopiować lub zmodyfikować pracę. Cała konfiguracja XML także powinna być dostępna za darmo w drzewie właściwości. Licencjonowanie Nasal (jak sądzę) jest napisane w sposób, który utrudnia dystrybucję zastrzeżonego kodu Nasal. Zatem stworzenie samolotu dla FlightGear zabezpieczonego przed modyfikacjami, nie mówiąc już o kopiowaniu, wiązałoby się z pewnymi naprawdę poważnymi wyzwaniami.[18]

Kluczem do projektu open source nie jest to, czy możesz wygrać spór prawny, czy nie. Chodzi raczej o to, aby przede wszystkim unikać wszelkich sporów prawnych i to za wszelką cenę. To znaczy trzymać się z dala od sądu. Aby bezpiecznie użyć czegoś takiego w projekcie open source, sugerowałbym coś w następujący sposób:

  • Upublicznienie swojego produktu pochodnego w całości (ale bez licencji, mówiąc, że jest to materiał chroniony prawem autorskim),
  • Zwrócenie się do właścicieli oryginalnego produktu i przekazanie im linku do produktu pochodnego,
  • Poproszenie ich o publiczne oświadczenie, że produkt pochodny może być licencjonowany przy użyciu licencji „GPLv2 lub nowszej wersji”,
  • Pamiętaj, aby poprosić ich o zidentyfikowanie publicznego produktu pochodnego jako łącza i zidentyfikowanie wszystkich jego części (aby uniknąć późniejszego stwierdzenia, że ​​​​umieściłeś fragmenty chronionego materiału).

Kopię zapasową każdego oświadczenia złożonego w sieci można znaleźć w archiwum internetowym (http://web.archive.org/). Aby uprościć ten proces, możesz sporządzić część oświadczenia opisującą w całości produkt pochodny, ze wszystkimi szczegółami. Dzięki temu nie będzie już żadnych odcieni szarości! Jeśli chętnie to zrobią, to z prawnego punktu widzenia nie będzie problemu z ich użyciem (tj. szara sytuacja zmieniła się w białą). Jeśli nie są zadowoleni z Twojej propozycji, pewnego dnia mogą odwrócić się i pozwać (tj. szara sytuacja zmieniła się w czystą czerń).[19]

Świat open source zależy od warunków licencji i praw autorskich oraz współpracy i zaufania w celu ochrony naszej pracy. Znosimy niewielki podzbiór ludzi, którzy chcą nadużywać tych warunków i mamy nadzieję, że presja większej grupy utrzyma złych aktorów w ryzach. Czasami istnieje środek prawny, czasami trudno jest coś z tym zrobić, gdy problemy wykraczają poza granice kraju (lub gdy ktoś po prostu chce złamać zasady dla własnych korzyści). Mam jednak wrażenie, że na dłuższą metę większość ludzi jest uczciwa i chce postępować właściwie, a mała grupa, która naprawdę istnieje, aby powodować problemy lub po prostu służyć sobie kosztem innych, nigdy nie przetrwa tak długo, jak większa grupa ludzi o dobrych intencjach. Ostatecznie musisz samodzielnie określić, ile wysiłku włożyłeś w model, ile pieniędzy możesz zarobić na jego sprzedaży, w porównaniu z ryzykiem, że ktoś go sam skopiuje i rozpowszechni, w porównaniu z kosztami prawnymi, aby spróbować ich powstrzymać.[20]

Obejścia DRM

W jednym z moich poprzednich projektów miałem do czynienia z autorskim modelem dynamiki lotu. Początkowo korzystałem z interfejsu Ethernet, aby mógł działać jako zewnętrzna samodzielna aplikacja. Potem przełączyłem się na dwukierunkowy układ potoków uniksowych, więc mogłem mieć ściślejszą synchronizację z kolejnością wykonania, ale nadal zewnętrzny program był całkowicie niezależny i samodzielny. Chciałbym, aby wszystko było darmowe i otwarte, ale w tym przypadku nie miałem wyboru i było to coś zakupionego od firmy zewnętrznej na surowych warunkach. Czułem, że dwa niezależne, samowystarczalne programy (które mogą ze sobą rozmawiać i wymieniać informacje) stworzyły wystarczającą separację licencji, aby honorować warunki licencji GPL FlightGeara.[21]

Na ile to jest warte, FDM „ExternalPipe” został skonfigurowany tak, aby obejmował większość obszarów, których dotknąłeś. Prawdopodobnie nie jest to dokładnie to, czego chcesz, ale oto trochę mojej logiki w tym, jak/dlaczego skonfigurowałem to tak, jak to zrobiłem:

  • Korzystanie z interfejsu sieciowego dodaje trochę indeterminizmu. Czasami pakiety sieciowe są opóźniane lub układają się w stos w zależności od tego, co dzieje się z maszyną, więc nie ma gwarantowanej relacji między symulatorem a dynamiką lotu.
  • Zwykle interfejs sieciowy jest dobry, ale zaobserwowałem czasy, kiedy pakiety docierały tam, gdzie powinny, z dodatkowymi opóźnieniami.
  • Alternatywnie ustawiam parę „nazwanych potoków”. Potoki są konstrukcją uniksową, dla programu wyglądają jak plik, ale to, co do nich zapisujesz, jest gromadzone i przechowywane do odczytania przez inną aplikację. Niestety nie są one obsługiwane w systemie Windows. Potoki są jednokierunkowe, stąd potrzeba dwóch do komunikacji dwukierunkowej. Potok jest naprawdę prosty: otwierasz go jak każdy inny plik, a jeden proces zapisuje w nim; odczytuje z niego inny proces. W międzyczasie system operacyjny może buforować pewną ilość informacji, dopóki proces odczytujący ich nie złapie. Możesz użyć blokowania odczytów (ostrożnie z tym), aby mieć pewność, że FlightGear i zewnętrzny FDM działają dokładnie tak samo.
  • Potoki oznaczają, że oba procesy będą działać na tej samej maszynie, interfejs sieciowy pozwoliłby procesom działać na oddzielnych maszynach.
  • Interfejs ExternalPipe obsługuje elastyczny interfejs właściwości, więc zewnętrzny proces FDM może wysyłać dowolne pary nazwa/wartość, które chce wysłać, a interfejs sumiennie skopiuje je do drzewa właściwości FlightGeara. Strona FDM może również wysłać listę nazw właściwości, które chciałaby otrzymać w odpowiedzi, a interfejs będzie sumiennie przesyłał je potokiem wychodzącym w każdej klatce. To był miły dodatek, a nazwane potoki mają dużą przepustowość, aby zrobić to czystym tekstem, nawet z wieloma dodatkowymi wartościami właściwości.

Historia: Użyłem tego jako części projektu, który zrobiłem z symulatorem lotu ATC. Mieli własne, zastrzeżone aplikacje do dynamiki lotu, które modelowały konkretny statek powietrzny w samym kodzie. Modele te posiadały całą niezbędną dokumentację źródłową i dane z testów w locie, aby spełnić wymagania testowe certyfikacyjne FAA dotyczące ostatecznego symulatora. Ponadto ten zewnętrzny kod modelował wiele systemów samolotu dla jednej z ich wysokiej klasy symulacji. Wymagało to elastyczności w zakresie wysyłanych tam i z powrotem wartości i umożliwiło mi sterowanie niektórymi wskaźnikami przyrządów bezpośrednio z kodu zewnętrznego.[22]

  1. Paul Guhl  (Aug 25th, 2011).  [Flightgear-devel] Content protection for modders? .
  2. Soitanen (Aug 28th, 2014). Re: Encrypted aircraft dynamics post on the forum This is a link to the FlightGear forum.
  3. Alan Teeder  (Oct 21st, 2015).  [Flightgear-devel] External FDM to protect propriety data in a GPL eviirenment .
  4. Thorsten Renk  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  5. hvengel (Aug 28th, 2014). Re: Encrypted aircraft dynamics post on the forum This is a link to the FlightGear forum.
  6. Thorsten Renk  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  7. Edward d'Auvergne  (May 10th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  8. Stuart Buchanan  (May 10th, 2016).  Re: [Flightgear-devel] botom line: if i don't my aircraft to be subject to GPL FGAddon clauses .
  9. Stuart Buchanan  (May 10th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  10. Thorsten Renk  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  11. Curtis Olson  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  12. Ludovic Brenta  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  13. geneb  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  14. Erik Hofman  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  15. Thorsten Renk  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  16. Curtis Olson  (Aug 25th, 2011).  Re: [Flightgear-devel] Content protection for modders? .
  17. Jens Thoms Toerring  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  18. Curtis Olson  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  19. Edward d'Auvergne  (Oct 22nd, 2015).  Re: [Flightgear-devel] External FDM to protect propriety data in a GPL eviirenment .
  20. Curtis Olson  (May 9th, 2016).  Re: [Flightgear-devel] can i distribute my airplane as a shared library, and what legislation issues would that ensue? .
  21. Curtis Olson  (Oct 21st, 2015).  Re: [Flightgear-devel] External FDM to protect propriety data in a GPL eviirenment .
  22. Curtis Olson  (Jan 29th, 2014).  Re: [Flightgear-devel] Feeding FlightGear data through the Protocol Pipe .