FG Add-on FAQ
This document attempts to answer some Frequently Asked Questions from aircraft/scenery add-on developers coming from other simulators. Click here for general FlightGear FAQ!
It does not cover technical details, but rather describes the overall ethos of the project. As FlightGear is quite a different environment from that which most add-on developers are used to, this is quite important.
Hopefully, this document will help to avoid possible misunderstandings and mis-communications and help add-on developers to develop exciting new features for FlightGear.
So, why would you want to develop add-ons for FlightGear?
The main reasons are stability and innovation. FlightGear is developed by volunteers rather than a company, and due to being released under the GPL, isn't going to disappear. Issues such as those that hit Microsoft Flight Simulator in January 2009 are simply not possible.
FlightGear is also the most innovative desktop simulation available, again due to being released under the GPL. Recent developments include glider-towing and wild-fire simulation. Anything is possible! In recent months a developer has made an incredibly detailed model of the Space Shuttle, and the 777 and Cessna C172P SkyHawk have seen recent development..
How is FlightGear developed?
FlightGear is developed by volunteers all over the world. The core development team (those writing the core code of the simulator) had 20-40 active contributors at one time. There are many more people developing new aircraft and scenery as well.
FlightGear is not a commercial product owned by a company. Instead it may be described as the collective responsibility of a wide group of people.
Development is coordinated on the firstname.lastname@example.org mailing list, as well as to a limited extent, on the Official Forums here.
Releases are currently bi-yearly, based around the number 17. On January 17 and June 17 the repositories on SourceForge close to new features for a month of bug -fixing. On or around February 17th or 18th and ditto for July, the next version is officially released, and the cycle starts all over again!
What's the GPL?
The GNU General Public License (GPL) is an open-source license that gives the user a wide variety of freedoms . FlightGear and the core data used by it are released under the GPL v2.
Note that this is quite different from "freeware" as understood by many other simulation communities. Particular difference of note are:
- The source code of the simulator must be made available in a machine-readable form.
- The author cannot prohibit modification and subsequent distribution
- The end product may be used for commercial purposes.
You may be able to release your add-ons under the GPL, and the FlightGear community would encourage you to do so for a variety of reasons:
- It maximizes the freedoms that the community has to enhance and maintain your add-on. This can be particularly important as the pace of FlightGear development is very high, and you may no-longer want to support the add-on yourself.
- It can be maintained within the FlightGear source-code repository (Git), and included in subsequent FlightGear releases.
- It can easily be combined with other FlightGear GPL'd components, and made greater than the sum of its parts.
- Most core developers prefer to work on GPL's software, as they see it as being more beneficial to the community. They may work on GPL add-ons in preference to non-GPL add-ons.
- Having all add-ons released under the same license simplifies life.
- It's a nice thing to do, as it gives something back to FlightGear.
I don't want to use the GPL - can I use another license?
- You need to be absolutely clear on what the GPL does, and does not allow you to do. To take an example of developing a new aircraft: you can reference a gauge elsewhere within the FG data repository, but you cannot copy it and modify it for your aircraft without releasing it under the GPL.
- You will need to make your own arrangements for hosting, code revisions etc.
- It will not be possible to including your add-on within the FlightGear release itself.