Who the f*heck is Tadayoshi Funaba and why can he reject sensible patches unilaterally?

Hello,

Even though I can imagine your frustration (we had similar troubles
before among Japanese programmers), Tadayoshi is one of the best
programmers who knows about time and calendars, which are
unfortunately very difficult for various reasons.

This is very unfortunate miscommunication across language barrier.

As far as I understand, strptime with %s and %z combined is undefined.
because struct tm does not have timezone info. In the language
specification, "undefined" means you cannot expect anything, including
rejection as Tadayoshi did for DateTime.

%s means 'time_t value from the epoch'. The epoch is fixed time point
(1979-01-01 00:00 UTC). Offsetting it according to %z seems nonsense,
or plain wrong. That's the reason behid his rejection. If you were
lucky to read Japanese, you'd have understood it.

Besides that, you didn't explain why you need to change the behavior.
Why do you want to do `strptime("%s %z")` at the first hand?

At least at the time of #7445, he didn't reject the future
possibility, but he needs rational reason to change the undefined (and
conforming) behavior to the other undefined behavior. By 'reason', I
don't mean the specific implementation behavor, nor wrong behavior.

              matz.

ยทยทยท

In message "Re: Who the f*heck is Tadayoshi Funaba and why can he reject sensible patches unilaterally?" on Fri, 2 May 2014 15:22:55 -0500, Felipe Contreras <felipe.contreras@gmail.com> writes:

Hi,

I've spent a lot of time trying to fix Ruby's bad handling of the "%s
%z" time format that is used in every Git commit. It's now fixed for
Time and in Rubinius both Time and DateTime without affecting anybody
negatively.

The only one remaining is DateTime, and as you can see in the bug
report[1], the rationale is perfectly sensible, the fix simple, clean,
and unobtrusive.

Yet this guy, Tadayoshi Funaba, closes it immediately without any
reason given. After I complained he gives what is probably a bullshit
reason, it's hard to know because it's in Japanese, but the code in
the explanation is most definitely a red herring. This is probably due
to an earlier discussion [2] in which he didn't explain anything
either.

So my question is: who the f*uck is this guy? And why can he just
reject sensible patches like that?

After a private discussion with somebody heavily involved in Ruby, I
was enlightened to the fact that Ruby development is heavily
influenced by Japanese culture, so every component has a clear
maintainer, and he has the final word, regardless of their bullshit
reasons.

This model is clearly wrong. The most successful projects out there
(e.g. Linux, Git) do not have maintainers making decisions
unilaterally, but rather discussion and consensus are more important
than authority. This ensures that if the maintainer is wrong (we are
all wrong sometimes (some more than others)), the project doesn't
suffer as a result.

If you must have a maintainer that makes decisions unilaterally,
shouldn't it be a sensible person able to communicate properly? This
is something Tadayoshi Funaba is not. Apparently he cannot even speak
English, so what is he doing maintaining a module of such an important
project as Ruby?

I believe this explains a lot about why Ruby has such a problem
gaining and maintaining popularity. Even though the language is
extremely awesome, the implementation cannot advance as it should,
heavily in part due to this Japanese culture.

This forces projects like Rubinius, and RubySL. I've talked to people
in those projects who are heavily discontented with the way Ruby MRI
does things; ignoring the larger community out there (who are not
Japanese).

For example, Ruby MRI doesn't match the RubySpec, and why do the
developers do? Nothing, ignore the RubySpec (at the moment of writing
this I see 25 failures).

If this political and cultural bullshit continues, I'm afraid Ruby
won't ever be as successful as similar but inferior languages such as
Python, and whatever popularity it gains, it will quickly loose it as
it did in 2008[3]. It will become a lost gem, like so many good
Japanese things, only used in Japan (if at all), and ignored by the
rest of the world.

I hope Ruby becomes a sensible truly international project, adopt
practices of other successful open source projects, and let go of this
NIH bullshit.

[1] Feature #9794: DateTime.strptime() doesn't work correctly for '%s %z' - Ruby master - Ruby Issue Tracking System
[2] Bug #7445: strptime('%s %z') doesn't work - Ruby master - Ruby Issue Tracking System
[3] Home - TIOBE

--
Felipe Contreras