Difference between revisions of "Backwards Compatibility Initiative"

From FlightGear wiki
Jump to: navigation, search
m (Afd)
Line 1: Line 1:
{{Afd|reason=seems heavily outdated and unmaintained ?}}
{{Out of date}}
{{Merge|Towards better troubleshooting}}
{{Merge|Towards better troubleshooting}}
{{Template:RFC Navigation}}
{{Template:RFC Navigation}}

Latest revision as of 06:17, 25 November 2020

This article has been nominated for deletion. To discuss it, please visit the talk page.

Do not remove this tag until the discussion is closed.

Reason for the nomination: seems heavily outdated and unmaintained ?

It has been suggested that this article or section be merged with Towards better troubleshooting.
Request for Comments:


1rightarrow.png See FlightGear Version Check for the main article about this subject.

FlightGear in its current form neither provides version information about the fgfs binary and its various dependencies (i.e.libraries such as OpenGL, FreeGLUT/SDL, PLIB, OpenAL,OSG or SimGear) or subsystems (i.e. FDMs such as JSBsim), nor does it provide any detailed version information about its base package resources (such as aircraft, scenery, joystick or GUI elements).

This not only problematic because users may not easily figure out version information about their FlightGear components to determine interoperability requirements, but also because the very same information would be required to improve FlightGear's backwards compatibility. Also, it is this very information that would enable community members to more easily help new users who are experiencing problems while trying to get FlightGear to work for them.

In fact, currently major changes to FlightGear components or their underlying data files will usually result in non-existing backwards compatibility, so that old data files may no longer work with newer binaries, often enough failing without explicit notice about a version conflict being present.


  • FlightGear needs a --version parameter to provide detailed information about a fgfs binary and its dependencies available in Git/HEAD as of 01/2009
  • additionally, base package-related information would probably also come in handy [1]
  • compiler flags (used compiler, build time, settings) might also be useful
  • OpenGL related information (i.e. hardware support)
  • such information would preferably be made available via the property tree, so that it can be easily shown using XML-configurable GUI dialogs to improve accessibility for users
  • All PropertyList-encoded XML files should preferably feature a version attribute for the opening PropertyList node to indicate the file format version
  • Purpose-specific XML files would also need additional attributes indicating their purpose (i.e. keyboard bindings, joystick bindings, menubar, dialog) in order to help differentiate them from other PropertyList-encoded XML files, and if necessary also version information
  • BTG/STG files should preferably expose version information, as well

It can be expected that providing these types of information in the aforementioned fashion for upcoming versions of FlightGear would have the following benefits:

  • improved user experience
  • less verbose, more to the point troubleshooting reports and discussions
  • better overall debugging experience (dependency awareness)
  • easier backwards-porting
  • easier to provide and maintain separate tools or XML Schemas [2]