[GRASS-dev] [GRASS-SVN] r60713 - in grass/trunk: include lib/gis

Glynn Clements glynn at gclements.plus.com
Fri Jun 6 10:01:24 PDT 2014


Huidae Cho wrote:

> I can feel strong frictions between Glynn and some of us. I was shocked
> when Glynn simply broke 7.1 on Windows. From my experience, I can see that
> he is more of a purist and doesn't like workarounds and hacks. I totally
> understand his points, but just because there is an issue doesn't make it
> any more acceptable to break other people's solutions that have been proved
> to work for a long time, *without* providing his own better solution. I
> don't mind any existing code being replaced by more correct solutions, but
> simply reverting it and breaking the whole system is not acceptable at all.
> I think that the whole system *should* always be in a working condition no
> matter what "magic" was used in the code. If that magic is hackery, dirty
> or whatever, it has to be *fixed*, not just removed. If he submitted a part
> of his solution in the middle, it's not acceptable again because he should
> have submitted a whole solution to make sure the system is at least not
> worse than before.

Sometimes that's not possible. Sometimes the job cannot be done by any
one person. So if no-one is allowed to start anything they can't
finish single-handedly, such issues will never be solved.

> Now, regarding my "exclusive" hack or implementations without any
> discussion, first, I apologize for not discussing this issue before
> submitting my implementations. Putting aside who's right and who's wrong,
> it's very frustrating and demotivating to see hours of effort is gone in
> seconds of typing with no better solutions coming in.

I outlined a possible solution as soon as I read your message. What
are your objections to it?

[I'm being facetious. Partly. I'm aware that the change had already
been done before my message was posted. But the point about appearing
to start a discussion then not waiting for a reply (or even following
up in the thread to state that somehting had been done) is serious.]

> As Martin said, I saw
> a lot of core implementations from Glynn without clear discussions and he
> often insists that he's right and he even said that he would revert any
> changes he doesn't like. Looks like, any core changes have to be approved
> by Glynn after serious discussions with him? He may be one of the best
> developers in the team, but does it give him "exclusive" rights to revert
> or break things with no solutions? I don't know.

It's hard to address your comments without seeing any specifics. But
AFAICT, there are two issues here.

1. I've made major structural changes (e.g. display re-write) which
weren't discussed in detail (because that would have taken decades and
I'm not assuming that I'll live to 100). But the broad outline was
discussed long before any changes started.

2. When I've said "if you do X, I'll revert it", it's for a reason,
and I'm always willing to discuss the issue. Usually, such a position
is a desperate response to someone a) stating (or, more likely,
implying) that they're going to make an ill-advised change and b)
trying to avoid discussing the merits of it (in fact, the change or
threat of change is often seems like an attempt to forestall
discussion).

It may come across as being dictatorial, but that's more psychology
than fact. Trying to evade discussion by imposing something as a
/fait accompli/ is actually rather more dictatorial. By coming
straight out and saying "I'll revert that", I'm just telling them not
to expect the "screw discussion, make facts on the ground" approach to
work. Even if it means looking like the bad guy.

Note: I don't consider the change being discussed here to be an
instance of that. I think that it was just an unfortunate coincidence
of Huidae being impatient and me not having the time to read my list
mail that day.

This has been up for discussion for years, and a few more days
wouldn't have hurt.

> Maybe, I was just simply wrong because I didn't have any discussion before
> submitting the "exclusive" implementations and don't have rights to
> complain about the revert. Now, I'm not sure what to discuss and what not
> to. I even posted a couple of messages calling for a discussion, but they
> got no attention at all. This kind of experience just demotivates and
> pushes me away from real implementations and keeps me fixing small bugs and
> typos here and there.
> 
> Last, I have a strong feeling that we really need defined procedures that
> we can follow when making changes to the core and even individual modules.
> Otherwise, this same situation will arise again and again.

We don't need defined procedures (if we do need them, we're screwed,
because they aren't likely to happen). But if there's a realistic
prospect that other people might have different ideas, at least try to
get it discussed first (and don't assume that people are scanning the
list 24/7; we live in different time zones, and some of us might
occassionally miss a whole day).

That might sound hypocritical in light of ... recent events regarding
the scripts-on-Windows issue. But that issue had actually been
discussed ad nauseum, and with precious little to show for it.

Automatically setting shell=True on Windows was my mistake (I wasn't
aware that it would affect argument parsing), and I fixed it.

Unfortunately, as is often the case with such partial "solutions", the
result is that we believed we were further ahead than we really were. 
Execution of scripts never actually worked on Windows, it just
happened to be close enough to fool the casual observer, myself
included.

Which is a large part of the reason I'm so cautious (paranoid, some
might say) about such issues.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list