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

**URL:** <https://rubytalk.org/t/who-the-f-heck-is-tadayoshi-funaba-and-why-can-he-reject-sensible-patches-unilaterally/69407>\
**Category:** ruby-talk\
**Created:** [2 May 2014 20:22 UTC](https://rubytalk.org/t/who-the-f-heck-is-tadayoshi-funaba-and-why-can-he-reject-sensible-patches-unilaterally/69407 "2014-05-02T20:22:55Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![Yukihiro\_Matsumoto3](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/yukihiro_matsumoto3/32/1988_2.png) [@Yukihiro\_Matsumoto3](https://rubytalk.org/u/Yukihiro_Matsumoto3)\
**Post date:** [3 May 2014 00:50 UTC](https://rubytalk.org/t/who-the-f-heck-is-tadayoshi-funaba-and-why-can-he-reject-sensible-patches-unilaterally/69407/5 "2014-05-03T00:50:18Z")

</div>

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.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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](https://bugs.ruby-lang.org/issues/9794)  
> > [2] [Bug #7445: strptime('%s %z') doesn't work - Ruby master - Ruby Issue Tracking System](https://bugs.ruby-lang.org/issues/7445)  
> > [3] [Home - TIOBE](http://www.tiobe.com/index.php/content/paperinfo/tpci/Ruby.html)
> > 
> > --  
> > Felipe Contreras

---

_[View the full topic](https://rubytalk.org/t/who-the-f-heck-is-tadayoshi-funaba-and-why-can-he-reject-sensible-patches-unilaterally/69407)._
