Translating Jenkins with Perl
This is my first post here and I hope it is more positive than a rant to the readers eyes...
It was 2017 when I had installed Jenkins locally in my notebook for a series of experiments. The notebook was running Ubuntu configured in Brazilian Portuguese and Jenkins automatically presented me with a translation to my native language. After 15 minutes trying, I changed Ubuntu settings to English and never went back.
It took me a while to jump into the project repository and start translating the missing parts, about four years... and the translation hasn't improved since.
You might be asking yourself what this has to do with Perl and why I'm blogging about it here... well, Jenkins project uses (at least) since 2010 a Perl script to help with the translation work.
The current translation process is not really friendly for non-programmers and the script was still using syntax and style prior to the first edition of Learning Perl (the "lhama" book) that I could put my hands into. Giving the lacking of documentation about the translation process, it didn't took me long to start reading the code to figure out what to do and I decided to start refactoring the program while I was translating.
The idea was to not only fix small bugs, but making it easier for newcomers to offer revisions.
After some initial pull requests (with very simple refactorings) were accepted, to my surprise making the script a module (with h2xs!) became too complex to be accepted!
I was initially frustrated enough to not even try a reply on that PR. It took me a while to properly answer to it, after all, people back there were pretty respectful to state "thanks, but no, thanks".
It still strikes me that a helping hand offered might be rejected, but even more that the only reason for such rejection is about having to learn only enough Perl to keep using the same tool being used for more than 10 years!
Would that happen if I tried rewritten it with Haskell or Erlang? In fact, there are also scripts over the project written in Ruby and Python, so my guess is the problem is really with Perl.
It wouldn't surprise me if I got this kind of feedback from a programmer in Brazil: in fact I've already met people (with all range of programming experience) that consider Perl a "write-only" programming language that nobody uses. I usually tell this people that their Linux and/or "fancy" MacOS X already comes with Perl installed. And if they insist on that, I suggest to just uninstall it and see what happens next.
The good news is that the translation to Brazilian Portuguese is complete (as much one can consider such a thing) by now and I there is a fork for the translation-tool.pl available for download. Hopefully I'll be able to keep it going for a while, adding new features that I consider that could be useful.
But I'm still thinking if this was the best answer I could give for such situation. What do you think about?