The last few years have seen a lot of new entrants to the Flight Simulation marketplace. This has in part been driven by the introduction and buzz around the latest iteration of MSFS, bringing flight simulation to a whole new audience.
Many entrants to that market are commercial companies, but we’re also seeing a lot of freeware entrants, some of which are producing some very high-quality output. FlyByWire is one of these freeware entrants to this space and their ethos, story and future plans are very interesting and potentially disruptive for the MSFS market.
Who is FlyByWire?
FlyByWire is not really a traditional organisation; there is no boss, there is no leader, they’re a collection of highly motivated and talented developers of all kinds united around a common cause and culture. Their values are about transparency, open-source software, detail, accuracy and to a large extent making the products they wish to see in the MSFS space.
Talking to the developers, at the FSWeekend event in Lelystad I got a real sense of what FlyByWire is about and its motivations.
It came about through a common view of what the developers wanted to see in MSFS, specifically an A380, but also a decent rendition of the A320 as the default version was lacking. This is not slight on Asobo, their plan was never to create highly detailed aircraft simulations themselves, but to provide the platform on which others could build and expand the ecosystem. Asobo wants to see this on their platform, so much so that they’re ensuring it happens through establishing partnerships.
So a collective of individuals got together and started working on improving the default A320. Initially, it was simply adding improved and more accurate displays, then adding functionality to nominally inoperative buttons and switches. The repository was open, the word soon spread around, and more developers joined the party.
How do I get involved? Can I apply?
So how did the others get involved? Well, FlyByWire doesn’t have a recruitment process; they don’t interview or pay their developers. You’re not going to have a job at FlyByWire, but that doesn’t stop you from being a part of the team. In fact, anyone can be part of the team. Sure, there is a core team of regular and highly active developers that have higher tiers of privileges granted to them, but all code is available to anyone for modification and development within their GitHub repository. I could become a contributor today, I simply pick a problem or a feature I want to incorporate, then I make it and propose it back. The collective then reviews this and it either makes it into the next build or it’s rejected, but anyone can do this. Those that are most active and contribute heavily may then be asked to join group discussions, meetings and be granted additional layers of privilege. It’s important I stress that it is privilege -not access – you obtain. Everyone has access right now. It’s the essence of open source, it’s not hidden. But some control needs to be maintained from a trusted set of individuals when it comes to determining what goes in and what stays out of the next build.
Does their approach actually work?
The FlyByWire approach has advantages and disadvantages. The main advantage is that the team is vast. FlyByWire have over 100 active contributors to their projects with around 40 regular contributors as part of their ‘core group’ of members with more privileges. That is a large team, much larger than most commercial entities within the simulation marketplace. This means things happen fast, but it allows developers with varied abilities to dip in and out, meaning outside of the ‘core group’ individual contributions range from small fixes to larger system enhancements.
Does this matter though? FlyByWire isn’t chasing profit margins or delivery dates, there are no defined expectations of output from their contributors. They simply contribute what they can, if they can, when they can and more importantly, if they want to.
Looking at the positives, this takes the pressure off the developers and means when they’re contributing it is because they want to. Developers that have a clear passion for simulation will be the most active and are arguably more likely to strive for the ultimate fidelity the community is looking for.
The fact the code base is open and free to anyone to access takes the pressure off when it comes to trying new things or bugs. The FlyByWire team has stable, development and experimental versions. The experimental channel allows developers to simply try things out and get relatively fast feedback from the community, and since it’s free there are no repercussions or reprisals if things go wrong.
This sounds chaotic, but the result speaks for itself. FlyByWire has a great A320 that’s constantly evolving and is very popular with simmers. It may be that the freedom with the approach they’ve taken allows for faster development, benefiting the community.
The developers I met at FSWeekend had one thing in common. This is free now, and will remain free. They are totally committed to the open source ethos, it’s a core value they all share. You can make donations if you wish, but it’s by no means expected and there are no penalties for not doing so.
They’re also completely transparent in how they spend their donations. If you’re curious go to their website and click on “donate”. The page that comes up isn’t simply a ‘put in your donation here’ followed by a ‘thank you’ message, but an open view of their finances. You can view what they’re spending on hosting, what their balance is and their estimated annual costs. They also show specific projects they’re doing and the funding and required to cover them. For example, on the site they’ve outlined their costs for supporting FSWeekend, which were around 140 euros, meaning those attending clearly did so from their own pockets!
But they’ve just built on something that exists? What about something truly new?
It is true that they have essentially ‘upgraded’ the default A320 within the simulation, but this isn’t where they started. It may come as a surprise to most reading this that the A380X started development first. The A32NX(in a weird way) is the by-product of that development thread. How does this make any sense?
Well to develop an Airbus A380 within the simulation there are many things that need to be done. The physical model, the cockpit, systems, displays, animations, everything basically. This all had to be created from scratch with nothing pre-existing to work with. The A32NX on the other hand was a different story. The scaffolding existed in the form of the default aircraft. There was (whether you think it’s good or not) a model on which to begin incorporating new systems and upgrading existing ones. This made the A32NX a great starting point. They had a head start, and the learning acquired doing the A32NX build in terms of systems, flight controls, displays and so forth is all being fed into the A380X development thread.
It’s fair to say that as far as the A32NX goes there isn’t much left of the original scaffolding. The code base of the FlyByWire A32NX for the most part (baring a few exceptions) has totally replaced the code base for the default aircraft. The displays are totally new, the flight model is new, the systems are new. Very little of the original aircraft remains.
The physical modelling of the A32NX in terms of cockpit and exterior aren’t a massive priority (those talents are in use elsewhere and we’ll come to that in a moment), but it is certainly not off the cards that this might get some attention in the future. However, no commitment can or will be made because that’s not how it works in the FlyByWire culture.
Then there was the installer
I wanted to draw attention to this specifically. Installers have had a lot of attention from many developers over the years. There are some good examples, and (let’s be honest) there are some truly awful examples. The reason the FlyByWire installer exists, and is as good as it is, is because the developer here felt exactly the same way about many installers of payware or freeware MSFS software.
The FlyByWire installer is fast, intuitive, and is open for anyone to use, but with a caveat. If you want to use this installer, then freeware is a stipulation. The installer does not and will not support e-commerce. If you’re developing a freeware product and want to use it, go right ahead. I’m sure the FlyByWire team will be happy to help you get setup and incorporate your product. This however does bring me to another important point, FlyByWire are not responsible for anything on their installer other than their own freeware products. They don’t necessarily have insight into other projects. It’s not to say that some of the FlyByWire developers won’t also work on say the Salty 74S if they want to (there is no exclusivity requirement at FlyByWire), but the Salty, is the Salty.
I got a chance to see the A380X at FSWeekend and I have to say that it was quite something. They held nothing back, there were no smoke and mirrors, the development team was quite candid in saying at the moment many of the systems are A32NX systems they’ve ported over to get them started. They’ve been working on enhancing and replacing the A32NX components gradually with A380 specific systems and displays as they go, some of which were shown such as the engine display on the centre panel and MCDU displays. The visual model however was something else entirely.
Remember when I said the A32NX visuals were a low priority? That is because the A380 modelling of the flight deck is honestly fantastic, and there is a reason for that. The modellers have worked extensively on the flight deck and spent many 100’s if not 1000’s of hours painstakingly creating the most accurate rendition they can. The developer primarily working on the modelling spent a good 20 to 30 minutes showing me some features. The number of moving parts in the flight deck is crazy and even the developer joked about how utterly unnecessary some of it was. He actually found some of it hilarious, in that he actually bothered to create animated models of some cockpit elements. When asked why he went to this length to animate some of these elements, the answer was ‘because he wanted to’.
This is someone that is not getting paid and is doing this purely for self-satisfaction. Don’t get me wrong, he was happy to receive praise (and believe me it is due) for making a great product, but I’m not entirely sure his drive for detail was motivated by what others thought. There were imperfections that I couldn’t even notice that, according to him, required fixing. And I like to think I’m a bit of a stickler for detail.
I learned a lot about 3D modelling, colours, shadows, ensuring clearances were correct so you don’t get collisions in the animation and much more. I don’t pretend to be an expert or be able to do what 3D modellers do, but I can say I have a newfound respect for the work. It really is an artform and that goes for all payware and freeware the like.
It’s a shakeup, that’s for sure
There is a tendency within the community to disregard Freeware. I heard it described in a way that made me reflect on my own biases: if we’re not paying through the nose for an aircraft then it will not be high fidelity. Perhaps it is self-justification for the money I personally have spent on high fidelity aircraft over the years, not wanting to accept that freeware could possibly compete.
This might not only be an out of date perspective, it might be outright wrong. I’m not saying all freeware is high fidelity, like with all things open source there is a lot of junk out there, but then there are things like this FlyByWire that really challenged my way of thinking..
The view that freeware is not high fidelity is an outdated and incorrect view in some cases. FlyByWire is one such example. The systems behind many freeware aircraft are high quality accurate renditions and not dumbed down representations. Sometimes there is a tendency to believe that the freeware aircraft is at fault because it behaves differently to a (perhaps reputable) payware equivalent, or because you pay for one and not the other, by definition the payware must be superior and correct. This is simply not the case anymore I’m afraid.
There are no definitive commitments that can be made by FlyByWire, because of their collective nature. They go where they want to go as a group. If the modeller wants to get the coffee cup on the flight deck perfect, that’s his prerogative. Or if you want certain things to work differently, the answer to that is to get involved
The other thing I was curious about was donations and their view on this. Many didn’t seem to be that worried about them as long as costs of operation were covered. They are looking for regular contributors with the needed skills to progress the aircraft development. This is perhaps worth more to them than donations, although I’m sure donations are still appreciated
I have certainly changed my perspective on freeware after FSWeekend. If I’ve learned anything it is that I’m going to take the time to look at what has gone into developing a freeware product. I will look at it objectively,. Sure, I can provide friendly feedback that may or may not be taken further, if I want to effect a change, and have the skills, I should involved for the greater good. If anything is more clear to me after FSWeekend, is that FlyByWire has changed the bar for freeware. And with that, by association, also changed the bar for payware.