Пасхальные яйца и Open Source

    «Пасхальное яйцо» (англ. Easter Egg) — секрет в компьютерной игре, фильме или программном обеспечении, заложенный создателями. Отличие пасхального яйца в игре от обычного игрового секрета состоит в том, что его содержание, как правило, не вписывается в общую концепцию, выглядит в контексте неправдоподобно, нелепо, и зачастую является внешней ссылкой. Пасхальные яйца играют роль своеобразных шуток для внимательных игроков или зрителей. (wiki)

    Пасхальные яйца бывают разные. Например широко известна команда apt-get moo, которая рисует корову в консоли:


             (__) 
             (oo) 
       /------\/ 
      / |    ||   
     *  /\---/\ 
        ~~   ~~   
    ...."Have you mooed today?"...

    Пожалуй все согласятся с тем, что apt-get moo не является деструктивной функцией. Эта пасхалка может показаться смешной, или же нет, а то и вовсе неуместной, но она наверняка вам ничего не сломает. Также можно посмотреть некоторые другие пасхалки в linux.


    В этой статье я бы хотел остановиться на одной конкретной пасхалке. А конкретно о "christmas" в ant-design. Это неплохая UI библиотека контролов для React-экосистемы. Про неё можно было бы написать отдельную статью, но сейчас не об этом.


    Открыв сегодня проект с применением этой библиотеки я увидел нечто странное:


    У всех кнопок атрибут title превратился в "хо-хо-хо", а ключевые кнопки получили снежную шапку. Достигнуто это было за счёт этого коммита с применением класса "christmas" и кастомным стилем на этот счёт.



        const isChristmas = now.getMonth() === 11 && now.getDate() === 25;
        const classes = classNames(prefixCls, className, {
          // ...
          christmas: isChristmas,
        });
    
        // ...
        const title= isChristmas ? 'Ho Ho Ho!' : rest.title;

    Поначалу я засмеялся. Полез в код. Посмеялся ещё раз. Посмотрел на дату. А потом вспомнил про production. Хм, да-да. Рождественское настроение доехало и туда.


    Полез гуглить, как же так. Может быть мне стоило прописать какой-нибудь ключ аля env? Наткнулся на этот issue, с извинениями от автора:


    About the christmas egg in antd, it is derived from my commit 00aebeb at Sep 10th. This implementation will make primary button snowy with native tooltip Ho Ho Ho! at the specificed day of Dec 25th. It is a complete stupid decision of my own and very sorry to everyone that get involved.

    Are there other eggs in antd's code. No.

    Are there same events would happen in future? No, I promise. We are open source project, please supervise us like this time, like always.

    После обновления проблема ушла. Автор проблему признаёт и раскаивается. Свой поступок называет "stupid decision".


    Отмечу, что библиотека имеет 38 тысяч звёзд и 13 тысяч форков. И она правда неплоха.


    Собственно в комментариях хочу поднять вопрос: а что вы думаете о пасхальных яйцах в публичных проектах? Допустимы ли они? Какими они могут быть? Скажем тащить 2 MiB шуточную-картинку с мемом ― однозначно перебор. А нарисовать ASCII корову? Где проходит та самая грань? Уместен ли юмор в open source?

    Only registered users can participate in poll. Log in, please.

    Допустимы ли пасхальные яйца в open source?

    • 26.9%Да, это же весело59
    • 58.4%Да, но только очень аккуратно, трижды подумав и всё взвесив128
    • 9.1%Нет, весь юмор не должен уходить дальше комментариев в коде20
    • 5.5%Я мимокрокодил12
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 10

      +1
      Юмор уместен всегда, даже в самом серьезном проекте, что говорит о том что проект сделан с любовью и в него вложено масса энергии. Пара МБ картинки или какая-нибудь подпись типа «включить реактор или взорвать?» точно перебор. Но забавная мелочь, в уместное время, очень хороши.
        0

        На одной из работ участвовал в разработке CRM внутренней. Добавил маленькую пасхалку с этим парнем, выскакивал когда случалась ошибка сервера. Правда все равно был только в dev режиме. Бекендерам зашло

          +5
          У ruby gem'а HTTParty есть забавный post-install message (сообщение, выводящееся в консоли после установки либы): «When you HTTParty, you must party hard!». В свое время очень удивился, узнав, что множество людей его просто таки ненавидят. На гитхабе есть куча отклоненных PRов и issue, десятки комментов о том, насколько это ужасно и неуместно, многие упоминают, что перешли на альтернативные либы только из-за этого. Кроме того есть специальный гем, не дающий другим гемам выводить post-install messages вообще, который, кажется, как раз этой строкой вдохновлен (тут не уверен).
          Честно говоря, так и не понял, почему это настолько страшно. Может не всем настолько смешно, как автору, но чтоб прям так…
            +2

            Нарисовать ASCII корову — вполне допустимо, apt-get moo не является необходимой командой.

              +2
              Это пока никто не догадался, что такой ASCII-арт оскорбляет чувства верующих индуистов, для которых корова — священное животное.
                +1
                А разве её не только есть нельзя, но и рисовать?
                  0
                  Но защитникам обиженных и оскорбленных ответ на этот вопрос не важен!
              +1
              Под рождество у x64dbg все иконки (а они там на каждый пункт каждого меню) превратились в картинки рождественской атрибутики (крашеные яйца, банты, что-то еще). Я это заметил далеко не сразу, и долго не мог понять что не так (ибо до этого машинально ориентировался по картинкам, а тут их нет).
              Разработчик быстро выпустил билд, где это можно отключить прописав вручную параметр в файл конфигурации. Но на мой взгляд он все же перестарался с этой пасхалкой.
                +1
                Не по теме, но камон — где вторая часть про SASS???
                  0

                  Ох, да :)


                  Уже 6 лет прошло с момента публикации первой части. Меня аж ностальгией накрыло. Не думаю что есть какой-то смысл писать вторую. С того момента про SASS\SCSS уже столько всего понаписали, читать не перечитать. Но лучше всего обратиться к первоисточнику.

                Only users with full accounts can post comments. Log in, please.