Hello dev list,

If you're in no mood to critically appraise a rant then read no 
further.

For quite a while now, since I stopped actively contributing to FG, 
I've been sitting here watching the direction in which FG 
development is heading and if ever there was a good project, which 
has potentially boundless scope in the field of VR, but which has 
lost it's way and is now chasing it's tail up it's own fundament  
then FG is it.

What finally broke this camel's back was the thread about release 
schedules, but it goes further than that.

The idea that FG should be updated and released to what is a purely 
abstract schedule is disingenuous and destructive nonsense.  The 
origin and sole purpose behind the idea of releasing new versions 
of software on any sort of regular schedule is to upset and exploit 
the market for the type of software you're producing; it's a thinly 
veiled attempt to deter your market from trying, and perhaps 
adopting, alternative solutions by promising even better things in 
your future product.  This simply doesn't apply to open-source 
software projects because maintaining or increasing market take-up 
of your product brings no benefits to you, other than massaging 
your egos.

The idea then, that new versions of FG should be released on a 
regular schedule, is an attempt at competing with something that 
has no intrinsic value - it's a worthless fight, not only for the 
effort that it consumes, but for what could be won.

The reason that Open-source projects occur at all comes down to one 
major factor; someone has a better idea.  There are a number of 
secondary reasons for open-source projects, but without that single 
primary reason they're pointless - what is there to be achieved by 
simply duplicating what has already been achieved?  Simply doing it 
so that people don't have to pay money for it is not an adequate 
answer;  if people need the software they'll pay for it, if 
necessary.  The 95% of computers that run MS software proves this.

The justification for the existence of FG is to make a better 
solution.  'Better' in this context encompasses several areas: 
being 'open' is the primary benefit of open-source projects, 
because whatever you do will never be perfect for everybody, but 
being open means that other people can progress in their own 
direction by standing on your shoulders;  but they couldn't do 
whatever they want to do without you doing your bit first.  But 
being 'better' also means other things too.  Another important 
aspect of 'better' includes the overhead of using the FG solution 
over others, and in this respect FG is getting worse not better.

FG development has become chaotic.  While people are still having 
new, and very good, ideas, the method of implementing them 
frequently breaks all that has gone before.  Now this may seem to 
be a single and easily identified problem but it's actually just a 
symptom of a deeper and more fundamental problem caused by two 
factors:  these are lack of foresight, and lack of foresight.  The 
first lack of foresight is short-term lack of foresight, and it's 
due to the second lack of foresight, which is long-term foresight.  
This isn't actually anyone's fault - there's no blame upon anyone 
for this.  What has happened is that FG was designed, in computing 
terms, a long time ago, when computing at this level was still in 
it's very early days and just making a workable solution with the 
available hardware and software was an achievement in itself.  
Since then however, not only has an awful lot has been learned 
about system design and the practicalities of maintenance but a 
paradigm shift in computer hardware has swept over everything.  
FG's architecture was designed around h/w and s/w designs that were 
leading edge at the time but everything has moved on since then.  
The short-term lack of foresight is a consequence of this; as new 
ideas and features have been thought of and implemented, in the 
light of new technological advancements, they've had to be massaged 
to fit an architecture that has become obsolete, both in design, 
maintenance and in terms of the h/w it runs on.

As a consequence, while the overall design of FG is familiar to many 
of the developers, no one knows all the details.  This is normal in 
such a complex software project, but in such a complex project 
everyone _does_ need to know the scope of their work; what their 
work will effect, and how.  For FG though, this is absent; no one 
can be sure that the scope of their change will not extend beyond 
what they intend and it's almost become a case of random guesswork 
as to the scope of the consequences of source-code changes.  In 
just about every case, the software changes that make it in to FG 
are a good idea, and should make FG better, but in practise now, 
they are just making a confused situation worse.

In summary then, for FG to survive in any greater form than a quaint 
alternative to better alternatives, which I admit may not exist yet 
but will certainly do so at some point in the future, FG _needs_ to 
be re-designed with an architecture that not only makes use of 
current hardware, especially with regard to multi-core/distributed 
computing systems, but also enforces scope of sub-systems and 
allows multiple concurrent versions of sub-system.

Doing this is a daunting but necessary task.  It also cannot be the 
only task that people work on, but it has to be done nonetheless, 
and sooner rather than later.  It will also not be a quick and easy 
task - it will probably take a couple of years of thinking, 
experimenting and testing to just come up with a viable 
architecture, let alone implementing a 100% solution, but it needs 
to be started now.

Having got that off my chest, I'd like to make it clear that I'm not 
trying to criticise anyone, or the FG dev community in general, and 
as such, I'm not interested in arguing about any of this.  The 
reason that I've bothered to spend a couple of hours composing this 
post is not to annoy & diss people but because I care.  If I 
didn't, I wouldn't have bothered.  And at least I waited until 
after xmas so I didn't spoil it for anyone:)

Happy new year,

LeeE

------------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to