An open apology to the authors of jQuery, Prototype and others

December 13th, 2007, posted by Valerio

A month has gone by since this article was published, and in retrospect, I’m honestly sorry about some things I said about Olmo. It was harsh. It was a bad situation, every party involved could have behaved better, we all ended up saying stuff we didnt really mean. I already apologized privately to Olmo, and i wanted to do it here too.

Valerio.

Some days are goood days, others not so much. Today, not so much. This morning I woke to something of a firestorm on the interweb about, well, something stupid, and frankly, it was my stupid.

Yesterday Olmo posted a video of a presentation of Mootools that he gave to a group of developers at the LA Web Application Developers Meetup. When he posted the video on the official Mootools blog I noticed it, but was busy with other things and only gave a cursory scan of the video itself. What little I saw of it seemed fine and I made a note to go watch it when I had time.

Frankly, I should have known better. Olmo’s lack of maturity, even for his age, always was notable, but he was a helpful part of the team regarding actual code.

The video itself contains numerous pejorative and flat out erroneous statements about other frameworks, jQuery in particular. It’s insulting. Nevermind the fact that it doesn’t help people understand Mootools at all to spend your time bashing other frameworks, it’s just so stupid to harbor that kind of perspective.

To be fare, I’ve tolerated this kind of trash-talking amongst a few of our developers because it seemed to be one of their motivations - to make the best framework around. It was never, ever in any public discussion and seemed to be more like sniping for fun. This was a mistake and unprofessional on my part. Public or private, these other projects deserve our respect and admiration. We’re all trying to do the same thing, and while we like our approach, we learn things from everyone else’s methods as much as by our own ingenuity.

To be clear: what Olmo said in his talk are his opinions and he was waaayyyy out of line. The kind of “sniping for fun” talk I’m referring too was much more playful, locker-room kind of stuff. Not that it matters much now.

The apology here is not that Olmo gave his little rant, nor that it got posted on our blog. I am personally sorry that he did, but that’s not the point. No, my apology is for letting this kind of perspective have a place on our team. It’s immature, but it’s also disrespectful, and while I looked at it light heartedly as something fun, Olmo seems to have truly felt this way and I should have recognized that as both dangerous and infectious.

Olmo is no longer a part of the Mootools development team. We wish him well, but frankly we can’t tolerate his immaturity any longer. Additionally, I’d like to apologize to the rest of the Mootools development team whose reputations may have been tainted by this whole affair. There are some stellar people who help out with our project, and I’m already in their debt, and this is no way to repay it.

To the jQuery team, I don’t know how else to say it than this, but I know it’s insufficient. I do regard your work with respect. It’s different than our approach, but solid work none-the-less. If there is anything I can do to make up for this mishap, just say the word.

Valerio Proietti

26 Responses to “An open apology to the authors of jQuery, Prototype and others”

  1. Rey Bango Says:

    Thank you for your reply to me, John and the jQuery team via email and for posting the apology on the blog, Valerio. It speaks volumes about your character as a person and professional and further strengthens my respect for you.

    Rey jQuery Project Team

  2. WernerM Says:

    Wow.

    This is probably the most sincere and straight-up-no-nonsense apology that I have ever read coming from any framework author. You apology (and your resulting actions) are admirable.

    I do use MooTools much more than JQuery and Prototype lately, especially as of the 1.2 release. However, a lot of my previous (and current projects) still involve the use of JQuery and Prototype and I must say, you can't really compare apples and pears. Everybody keeps saying it, but some people just don't get it - frameworks are as individualistic as people are - some framework will always be superior (or best suited for a specific task) for some individuals, for others, not.

    Bashing the ones that does not suit your taste is indeed childish and give any concrete contribution to anyone listening.

    That being said, I must mention that I respect your maturity in this matter.

  3. Yes, this is certainly a good reflection of your character Valerio. It also serves as an example for the entire community to not make inaccurate criticisms of others' work - you won't get away with it. Each library has strengths and you must point out those strengths rather than others' weaknesses.

    Thank you, this situation serves as an example to all of us in the open source community.

  4. nfq Says:

    Sounds like a step that you felt needed taken. But I just watched the video and didn't find it as harsh as described. Bashing isn't good I agree. But passion is and it's a fine line to tread. I have no problem however, with either my clients or in personal to give critic to something which I feel may be inferior. Being politically correct and neutral is something I can't personally respect and saying that something sucks, when it actually does suck is being honest and out-spoken, and not necessarily a bad thing.

    Either way, as the other comments show, I certainly respect your transparent and 'cards-on-the-table' post, it shows great strength.

  5. "Being politically correct and neutral is something I can't personally respect and saying that something sucks, when it actually does suck is being honest and out-spoken, and not necessarily a bad thing." -nfq

    @nfq: This isn't about being politically correct, it is about someone making blatantly inaccurate criticisms to the public. If you are going to say that something "sucks" - back it up with accurate statements as to why it sucks.

  6. Valerio -

    Thank you for your apology and your response, I can only imagine how difficult and challenging this must have been, but it has shown an incredible amount of leadership and I respect that.

    I, too, know the challenges of trying to foster healthy competition and good-spirited debate; there's an invisible line that's difficult to gauge and even harder to enforce. Seeing your desire for change has been very refreshing and makes me excited for the future.

    I hope that this exchange will help foster collaboration between our communities and to continue to make the Open Web a better place for JavaScript developers.

    Looking forward to working together.

    --John

  7. Paul Says:

    Wow. Just wow. I won't admit my javascript framework alliances, but John's blog is in my reader, and when I saw his post, I just yawned. 'Twas a normal day on teh internets. Your response (and apology), however, has given me hope that maybe the world isn't full of passive-aggressive people after all. I was beginning to wonder what internet apologies looked like, since they happen so never often.

  8. An apology doesn't count for much when you point fingers and trash someone's character doing it.

    "Olmo's lack of maturity, even for his age, always was notable...frankly we can't tolerate his immaturity any longer."

    Re-read your post after the heat of the moment has passed. You may decide that you owe Olmo an apology too...

  9. We all are strongly motivated about our daily jobs, challenges, etc. But there's more minds out there than frameworks so far, therefore, respect will guide us through the better road. Many people comes to the chat and forums to ask if they should use mootools, jQuery or others frameworks to develop. It entirely depends on the person; you name your variables, you choose your platform for javascript, that's all.

    Great talk Valerio.

  10. There seems to be a lot of immaturity popping up in the realm of JavaScript lately. I'm glad to see this come to an appropriate conclusion. I have a newfound respect for you folks at Mootools and your response to this situation. Cheers!

  11. David Says:

    You fired the guy for this? I don't get it--it seems like a complete overreaction. I mean, it's your business and your prerogative, but really... I watched the video, read the responses and I don't see anything worthy of an uproar. I think everyone needs to just relax here...

  12. Louis Says:

    Yep, that's totally disproportionate IMO.

  13. @David, "fired" is perhaps the wrong word, as we all contribute to Mootools for free. But ultimately our decision was that Olmo's behavior, and not just in this case, nets out as counterproductive to our work. This isn't the first time that we've had this sort of disagreement with his behavior.

    @Michael, it seems to me that Olmo illustrated his temperament to everyone who watched the video. He's not a bad person and his comments weren't malicious, but they were unprofessional. Increasingly our framework project is getting interest from more and more users, and our goal is to conduct ourselves in a friendly, professional manner. Olmo's recent and past behavior just isn't fitting in with those goals.

  14. Les Says:

    Yep, Olmo screwed up, but at the end a guy who was in need of guidance got instead humiliated... this should not have happened.

  15. @Les, what I'm trying to say is that we have been giving that kind of guidance to Olmo. Valerio spells out pretty clearly his own responsibility here, and as a member of the team I share in that responsibility and that failure. But as I pointed out, this isn't really the first time we've had this type of conversation with him.

    I'll also point out that this post wasn't meant to humiliate Olmo, but rather to apologize for any offense that was given by a member of our development team.

  16. Ally Kendall Says:

    Unless there are other factors unrelated to the account related here, firing Olmo was pretty reprehensible and probably damaged you a lot more than the video ever did. Otherwise, I think you've done a good job handling the situation. Unfortunately, its the kind of case where 99% doesn't get you where you want to be.

  17. If you guys felt that Olmo was a detriment to the MooTools team, you have every right to remove him from the team. No argument there. You don't even need a reason.

    But dragging his name through the mud, telling the world that his "lack of maturity, even for his age, always was notable", is appalling.

    Valerio, the rest of your post was great, and I know you're sincere when you say "my apology is for letting this kind of perspective have a place on our team". We just didn't need all the comments about Olmo's character.

    Hate the sin, not the sinner.

  18. Oleg Says:

    Firing the guy was an overreaction. Who would want to work for you in the future, knowing that you can get fired for saying things about some 3rd party products?

  19. Olmo Maldonado Says:

    Thanks for your support guys but I have to agree with Aaron. I was "unprofessional." I've been thinking this over and over. In fact, I realize that I should of just asked for the video to be taken down, told John to unpublish his article, and I would unpublish the blog article -- and that'd be the end of it. Things happen for a reason, however.

    I am definitely inexperienced in giving a presentation -- you could see that from that beginning. It's no excuse, however, to say things that I shouldn't. May they be right or wrong, that wasn't the right place to do it. You guys should learn from this as much as I have.

    In retrospect, I should still reply to John's rebuttal to my rebuttal. I'm under a lot of stress from school so that will not happen until I can sit down again for another 4 hrs. So I'll get to that eventually.

    For those that have concerned "feelings" about mootools now, I'd say don't worry 'bout it. I'm certain that MooTools is undergoing some internal shifts in it's philosophies/policies. Like Valerio said we've always talked to ourselves about other frameworks and we've been good at keeping things to ourselves. I just happen to be more verbal than others because I don't have much to lose. Even as I have lost a great opportunity to contribute to the code (directly), it still will not stop me from voicing my opinion. In fact, it probably has liberated a lot of chains that have held me back a long time now. I mean. Where, and for how long, did I know a lot about jQuery, or rather John? If you guys noted, I referred to a lot of things when I replied to John. Wait. I'll stop. I needn't turn this into *my* blog.

    Sorry Aaron to have upset you. It's good to hear from you. It's been what? 3? 5 months? I know the other dev's feelings on this matter so no need to comment on that.

    Thanks again guys for your support but just relax. Enjoy MooTools code.

  20. The Man Says:

    Sounds like you need to relax a little. You can't fire someone for their "immaturity". People like you make everybody else stressed. If he was that "immature", you should fire YOURSELF for putting him in the position to make that mistake.

  21. @Oleg, @Michael, I'll reiterate, this isn't the only time we've had issue we had with Olmo. As stated above, he's a good coder, but his attitude is something we've had problems with before. Today's situation was just the final wake up call. I stand by Valerio's decision here. If we're going to change the perception that exists that Mootools is unprofessional, we can't tolerate unprofessional behavior.

    And I'll also reiterate that "fired" is the wrong word here. He's just no longer a contributor.

    I'll also note that if I had made these kinds of comments in a public forum as a representative of CNET, I'd be fired. If Olmo had made these comments on his own blog or if he hadn't said at the beginning of his video "I'm an official Mootools developer", I might feel differently. Instead he is speaking for the Mootools team, which means he is speaking for me, and I personally don't want my name associated with this kind of attitude.

    Finally, I'll assert that this post was not about dragging Olmo's name through the mud. It was intended to express that his views are not those of all of us, and that our tolerance of that kind of thinking in itself was unacceptable.

  22. nfq Says:

    Since my last post and researching more into the situation, reading John's blog and watching the video in detail again, I have to say I am actually highly disappointed. Seems clear to me that John has overreacted, in a big way. He is throwing his toys around and this doesn't show maturity on his side.

    @Valerio: I feel no interest in Olmo one way or the other but what you have done is not cool. You have apologized on the skin of his back, which is your decision and can of course be respected but you've dragged his name and reputation through the mud. Very very uncool. Never turn on your own people. Showing 'togetherness' would show strength of leadership even more.

    @Aaron: Well, it does actually look like Olmo is being dragged through the mud, that's clear. What isn't clear is any emotion at all from you or Valerio. Yeah, I know that Olmo hasn't always been the most neutral mootools dev but he is always in the channel, helping people, giving advice and more. This gives a really great and professional impression for mootools. I know that he spent fricken ages contributing to the docs, in some cases completely writing them for 1.2. I know you have a full-time job but I have hardly ever seen you actively involved in the channel and I find your criticism unfounded.

    It is a sad day when a person can't state their opinion, without this kind of backlash. You want to be professional suddenly but what about all the crap in the forum and so on until now? Using Olmo as a scapegoat isn't cool for the creaks and cracks that are already evident. It takes allot more and requires you all to show solidarity and that you know what's going on with each other, before letting these types of situations from arising.

  23. @nfq, you're right, I'm not in the IRC channel hardly ever. However, I discuss things with Valerio nearly daily, and until recently I helped out on the forums daily (but my life got complicated in the last two months, which made keeping up with the forums impossible).

    As for "a sad day when people can't state their opinions", as I said, Olmo and anyone else is welcome to do that. When they stand up and speak for me and the other developers, it's not just their opinion that counts. Watch the video again and ask yourself how you would feel if he was talking about your work. It's unacceptable.

    I know he has contributed a lot. Hell, I wrote ALL the docs the first time around and I'm very aware of how much he has improved them. Olmo's work is good stuff. But it was Valerio's decision that this was the right course, and all I'm saying is I support that. I might not be as active in the IRC channel and elsewhere as Olmo, but Valerio is, and he's the principal developer for Mootools. You say we should show solidarity and that's what I'm doing.

  24. Ted Henry Says:

    Olmo: You don't couldn't have just "told John to unpublish his article." You could have requested it.

  25. Olmo Maldonado Says:

    Damn it Ted. Good catch. ;D

  26. I think at this point, everything that has needed to be said has been said.

    I need to remind everyone that MooTools is developed out of passion and enjoyment for web development and the JavaScript programming language. I think we all have enough drama and stress in our life that we don't need any more of it here.

    MooTools will continue to be developed by passionate programmers, for passionate programmers and web developers. Moving forward, I wish all the other frameworks and their developers the best and hope we can continue to influence and be influenced by eachother. All have done some really amazing stuff and theres no doubt the Internet is infinitely cooler and more robust than it was just a few short years ago.

    We look forward to seeing more great work out of everyone as we all continue to push the limits of the web and make the Internet better for everyone.

    -cheers

Sorry, comments are closed for this article.