Re: [Flightgear-devel] Grr... I am so angry

2008-12-29 Thread LeeE
I'd like to thank the people who have responded to my rant - they 
have all done so in a considered, thoughtful and positive manner 
and have not taken anything personally, for which I am extremely 
relieved.

While some people have pointed out that work is already being done 
to address some of the issues I tried to highlight, I still think 
that many of these efforts are a case of trying to ameliorate 
problems that need not exist in the first place.  Just as these 
people disagree with what I've said, and even though I have immense 
respect for their opinions and views, I'm afraid that I still have 
to disagree with them.

I'd also like to thank Brain Schack for that link to the "A New 
Architecture for FlightGear Flight Simulator" document, which I 
think everyone involved with the development of FG should read.  
This document really trumps my posting because not only does it 
raise the same issues but also suggests some specific approaches 
and solutions to answer them.  While the issues that worry me might 
still beyond the horizon I think it is certain that they will 
arrive here one day, and in the not too distant future.  Indeed, it 
has been the early signs of these issues, which has forewarned of 
their coming, that motivated me to post and the authors of that doc 
to put the time and effort in to researching and producing it in 
the first place.

If the only thing that my post achieves is to get more people to 
read and think about that doc then it will have been worthwhile.

Regards,

LeeE

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


Re: [Flightgear-devel] Grr... I am so angry

2008-12-29 Thread Stuart Buchanan
Hi Lee,

Thanks for taking the time to write. It's well worth airing these issues,
even if I disagree completely with your analysis. :)

Others have already addressed a number of points, but my own
tuppence is below.



LeeE wrote:
> 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.

You are correct that a regular release schedule brings no benefit to me
personally (ego aside). However, I think that is to completely ignore users
who don't compile from source and track CVS. It also ignores the altruistic
side of the FG project in favour of a very self-centered viewpoint, which I
doubt you intended.

We now have a huge variety of contributors: those that develop scenery models
(sometimes using sketch-up -  ;)), contributors to The Manual (yes, 
there are some, and their help is very much appreciated) and aircraft 
developers.
Many of these people have no interest in compiling CVS. They do have an 
increasing stake in the FG project, and are an important part of our community. 
I think it is very easy for those of use who inhabit the -dev list to forget 
about them.

Producing regular releases so they can benefit from new features and 
developments
is extremely worthwhile, if only to keep them closer to the core developers, and
therefore a single community. 

For a lot of new contributors, having their work available to the public is 
quite 
important, and encourages further contributions. Having to wait a year for
your grammatical corrections to The Manual to finally become public is 
hardly encouraging!



> 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.

Sorry, I have to diagree with you on this. There have been significant
code clean ups by James Turner and Tim's work in moving to OSG. 
For my part, a significant part of the 3D clouds work involved 
unravelling what was a mess in the METAR / Environment code 
(admitedly, that took a couple of goes to get right ;) )



> 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:)

No problem. These sort of issues are much better discussed openly.

> Happy new year,
> 
> LeeE

And you too!


  

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


Re: [Flightgear-devel] Grr... I am so angry

2008-12-29 Thread James Turner
(I essentially agree with everything Tim, but want to add one  
technical detail)

On 29 Dec 2008, at 13:12, Tim Moore wrote:

> Putting snark
> aside, I'd suggest that FG is not in as bad shape as you think. The  
> property
> system is already a great mechanism for communication among the sub- 
> systems of
> FG. A great project would be to look at making the property system  
> thread-safe,
> and follow that up by turning it into a "blackboard" that can be  
> used by
> distributed copies of FlightGear.

Just to add, Simgear now has some good threading primitives, and so  
does OSG. The refcounting system is thread-safe, and I'm planning a  
TLS / pool-based system to make property nodes thread-safe as well  
(hopefully without incurring a per-node lock, but that's getting into  
deep technical debates). (If anyone wants to have a technical  
discussion about this, great)

The key thing is, we have a good modularity thanks the to SGSubsystem  
and properties. It needs some enhancements in some limited ways, and  
we have state that violates the property-tree abstraction for various  
(valid!) reasons, but I don't believe there is any major obstacle to  
running batches of subsystems on worker threads in the medium term.  
It's not a high priority compared to other things, since the biggest  
multi-thread enhancements come 'for free' thanks to OSG. But it does  
not need some major re-think or re-design, as far as I can see.

For everything else, I can only agree with Tim.

James


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


Re: [Flightgear-devel] Grr... I am so angry

2008-12-29 Thread Matthew Tippett
I agree with Tim here.  There are many secondary benefits of
time-boxed releases.  Getting bugfixes and mindshare improves
interactions with the user community and attracts users which
ultimately attracts new developers.

Of course there is a percentage effort cost to ensure broad stability
- but ultimately that comes down to developer discipline and branch
structure more than anything.  By project agreement you sacrifice a
release for high value/high risk changes (like the OSG transition).
But beyond that you push for a greater focus on complete changes and
as was originally suggested an improved architecture that allows
subsystems to be added and removed is the main driver.

With this new release, flightgear's multihead capability will be added
to the Phoronix Test Suite as a test.  (Google for more info).  If
someone wants to take leadership in improving testability/automated
testing with flightgear, that can go a long way to pushing flightgear
out further, as well as ensuring that standard releases can be tested.
 If there is someone willing to step up to the task I can provide more
information.

Any takers?

Regards... Matthew


On 12/29/08, Tim Moore  wrote:
> LeeE wrote:
>> 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.
> What we're talking about is doing "timebox releases." I suggest you Google
> the
> term. There is a steady stream of new features checked into CVS. However,
> most
> FG users can't or won't build Flightgear from source, so these features
> don't
> see wide use until a release. The fact that we make a release is a signal
> that
> we believe the code to be stable and that it is worth the time of packagers,
> within the FG project and outside, to make a package out of the code at that
> point. The timebox idea enforces some discipline to get the code ready and
> not
> noodle around with new features indefinitely. It's used by many open-source
> projects today. It will certainly work better with several independent
> source
> branches in the repository.
>
> So I reject the breathless cynicism of your proposition :)
>
>>
>> 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.
> I think many would say that an open-source flight simulator is already a
> better
> idea than a closed source one. Not only is it useful for many projects, it
> is
> more fun to work on :)
>>
> ...
>>
>> As a c

Re: [Flightgear-devel] Grr... I am so angry

2008-12-29 Thread Tim Moore
LeeE wrote:
> 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.
What we're talking about is doing "timebox releases." I suggest you Google the 
term. There is a steady stream of new features checked into CVS. However, most 
FG users can't or won't build Flightgear from source, so these features don't 
see wide use until a release. The fact that we make a release is a signal that 
we believe the code to be stable and that it is worth the time of packagers, 
within the FG project and outside, to make a package out of the code at that 
point. The timebox idea enforces some discipline to get the code ready and not 
noodle around with new features indefinitely. It's used by many open-source 
projects today. It will certainly work better with several independent source 
branches in the repository.

So I reject the breathless cynicism of your proposition :)

> 
> 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.
I think many would say that an open-source flight simulator is already a better 
idea than a closed source one. Not only is it useful for many projects, it is 
more fun to work 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.
> 
Part of the problem is that it's hard to comprehensively test new work against 
the wide range of aircraft and possible scenarios, to say nothing of the 
varieties of hardware and operating systems people are using. I don't have any 
great insight there, other then perhaps using more pre-recorded FDM data like 
Matthew Tippet has done in his demos. Frequent releases help flush out bugs 
too...

> In summary then, for FG to survive in any greater form than a quaint 
> alternative to better a

Re: [Flightgear-devel] Grr... I am so angry

2008-12-28 Thread Jon S. Berndt
> What finally broke this camel's back was the thread about release
> schedules, but it goes further than that.

The idea of release schedules for an open source project struck me as odd,
as well.

Jon



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


[Flightgear-devel] Grr... I am so angry

2008-12-28 Thread LeeE
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 ad