15 de dezembro de 2015

The "call me back" test for open source software

This post isn't about Python. It's about choosing an open source software to be really used.

I'm on the system development sea since 1988 and I've used a ton of tools in mainframe, desktop (MS-DOS, Windows and Linux), client/server and web environments. Many of them saved me. Others injured me a lot.

I already saw great tools sink, even if they were being backed by wide enterprises. I also saw simple pieces of software remaining active for years, backed by a couple of guys.

As time passes and scars come, I learned a bit more about choosing technologies I will use on a daily basis. Of course, sometimes I make the wrong choice. That's why I've just ditched my web framework of choice, after almost 5 years and a lot of struggle with it, and why I decided to really learn Javascript, instead of keeping the fight. No, I don't like Javascript!

In the fronted arena, the battle is still bloody and who pays attention to its users, probably will win.

I've been looking for alternatives in CSS frameworks. I use Twitter Bootstrap at work, but I'm starting a new project right now and I was looking for the flexbox grid benefit. So I found Zurb Foundation for Sites 6 and Semantic UI.

I'm not a frontend guy. Actually, I'm very far from it, but I want to start a project with accessibility in mind, with the UI generated from a backend system. Besides, I want to start small and don't want to install a full stack of frontend tools, like Grunt, Bower, NodeJS, etc. I don't want to learn all this now. I'm looking just for a CSS Framework with classes that make more sense to me and that has the flexbox thing. Both tools allow me to begin simple and evolve to a more complex environment later, if I need.

The open source wave is very interesting. You can start to use a tool useful to you and, when a new language or framework version comes in, you can be in trouble. So, it's prudent to make a trial not only about the product itself, but about the developers behind it.

I admit that I myself have some open source initiatives I'm not maintaining anymore. There are some pull requests waiting for my attention from several months ago. Maybe I should update the README and say I will not touch it again.

But if I had a project I really wanted people to use, I should pay attention to the users. Mainly to that who give their time correcting bugs and sending pull requests for free to me.

I really liked Zurb Foundation, so it was my first candidate for a serious test. Their form validation plugin (Abide) allows me to have some nice HTML structure and, with a small adjustment, I could mark fields with errors according to the U.S. Web Design Standards and UK's Government Service Design Manual recommentations.

I made a simple form and grid implementation and found some bugs in Abide. I looked for solutions and found some issues opened in their Github repository suggesting fixes. I also found some pull requests solving some problems and adding features. And they were waiting for the developers.

As they didn't publish a roadmap for a 6.1 version, I contacted them through twitter. No answer. Even though I decided to break things down and wrote some small patches and improvements to solve specific problems and opened an issue. Still silence.

Then, I thought, I'll give them a hug and let's see if they act. No sound yet.

In contrast, yesterday I sent Bram Moolenaar an email just saying "thanks for Vim". He replied in the same day saying "Enjoy :-)". This is one of that kind of software you ask yourself why it survives for so long time. Obviously if it was a crap, nobody would still be using it. But, in spite of being a great software, people has alternatives. Oracle is learning it again with MySQL, isn't it?

I made contact to Zurb by twitter, Github issues and pull requests. In return I got nothing. Silence. Void. Null. None!

I'm afraid Zurb didn't pass the "call me back" test.

I'll wait a bit more. If the situation remains, let's move on and give Semantic UI a chance.


At the same day, Brandon Arnold, the Lead on the Foundation project contacted me by email. He politely apologised for the lack of replies, explaining the overwork due to the new release of Foundation for Sites 6. Chris, one of their developers, made a comment in one of my PR's asking me to address it to the abide branch, but I noticed they had already integrated all of them. So, ZURB team didn't accepted directly my PR's, but you can see all merges:
  1. from abide-validate-textarea-and-select-on-form-submit branch,
  2. from abide-fix-validation-of-textarea branch,
  3. from abide-add-is-invalid-label-to-input-group branch
  4. and from abide-submit-form-when-validation-is-ok branch.

Finally, I had a few more interactions by email with Brandon and his final words were:
Sounds good, man! We're slowly getting caught up but are really excited for the help on any of these pieces. Thanks for being persistent and for some great code.

I am sure Zurb passed the "call me back" test. :-)

Eu sou Vinicius Assef, um programador do século passado que gosta de Python, pratica Lean Development e acredita em Deus. Você pode me contactar por email ou twitter.

Nenhum comentário:

Postar um comentário