Разработчики Mail.ru на протяжении 11 лет заимствуют код из открытых проектов, нарушая лицензию GPL +77




6 августа разработчик, скрывающийся под ником John Preston, заметил, что исходный код одного из проектов Mail.ru (репозиторий im-desktop) содержит код старого самописного движка анимаций Telegram Desktop.

Исходный код im-desktop

Исходный код Telegram Desktop

Разработчик предположил, что в репозитории содержится код мессенджера Myteam, но похоже, что это исходный код десктопного клиента ICQ, поскольку именно на репозиторий im-desktop указывает README репозитория, где раньше разрабатывался ICQ Desktop.

Проблема заключается в том, что разработчики Mail.ru взяли чужой код с минимальными изменениями (как выразился John Preston, «почти под копирку»), но не указали автора оригинального кода, а ещё в одностороннем порядке изменили лицензию с GPLv3 на Apache. Эти действия грубо нарушают условия лицензии GNU GPLv3.

После того как на проблему обратили внимание некоторые Telegram-каналы, разработчики добавили требуемое упоминание Telegram Desktop. Но главная проблема — перелицензирование, никуда не делась. Это даёт Telegram прекрасную возможность подать иск к Mail.Ru Group.

Mail.ru не впервые уличена в нарушении свободных лицензий. 11 лет назад Mail.ru Агент был замечен в использовании кода из Jabber-модуля Miranda IM, которая также распространяется под лицензией GPL. Более того, код из Миранды до сих пор нетрудно обнаружить в исходниках Mail.ru:
Исходный код im-desktop

Исходный код Миранды

Таким образом, разработчики Mail.ru просто повторили тот же самый трюк — взяли чужой код, не указали авторство и в одностороннем порядке поменяли лицензию.

Update: разработчики признали свою ошибку и пообещали переписать проблемный код.




Комментарии (77):

  1. dartraiden
    /#21931584

    Проблему можно было бы решить, запросив исключение, как в своё время сделали разработчики QIP. Лурк, правда, утверждает, что они сначала стырили код, а когда поднялся шум, пришли договариваться.

    Но Mail.ru просто берёт код и плюёт на лицензии, ведь им очень нужно.

    • Sergei_Erjemin
      /#21932588

      Ну mail.ru в свое время купили ж ICQ… Возможно это им позволяет использовать старый код ICQ в своих текущих проектах? Но выпилить упоминание авторства — однозначно, не комиль фо…

      • dartraiden
        /#21933258

        Речь про новый клиент ICQ, который представляет собой практически копию Агента.

        От ICQ осталось мало что, даже протокол уже полностью иной.

        • Sergei_Erjemin
          /#21954134

          Понятно. Тогда печально, что в мейл не проверяют код на легаси. Причем если это внутренние разработчики — позор списывать, а если контракторы — позор не проверить.

    • red_ball
      /#21937086

      А в России свободные лицензии по типу GNU GPL и Creative Commons вообще имеют юридическую силу?

  2. boss_molokosos
    /#21931598 / -5

    Не понимаю, почему Вы так наивны? Выкладывая код в общий доступ всегда нужно иметь ввиду, что его могут скопировать сторонние программисты, не указав Вашего имени. Лицензии это формальность. По факту на них не обращают внимания

    • dartraiden
      /#21931602 / +4

      Странная логика. Если я на выставку привёз картину, это не означает, что её похищение является нормой и не будет расценено как кража. На неё разрешено смотреть, но не более.

      В случае с кодом его разрешено заимствовать, но на указанных условиях. Не устраивают — тогда лишь смотри.

      • A1f
        /#21931638

        Посмотрел. Сел работать. Как потом понять, что пальцы и память воспроизвели именно этот фрагмент кода? Сравнивать со всем, что видел за последнюю неделю?

        • dartraiden
          /#21931640 / +3

          Именно поэтому разработчики Wine, в своё время, решили не смотреть утекший исходный код Windows 2000.

          По этой же причине, когда необходимо отреверсить чужой код и написать свободный, делающий то же самое, один человек разбирает чужой код и в общих словах описывает механизм работы другому человеку, который уже и пишет код. Тем самым достигается защита от сознательного или несознательного копирования.

          • novoselov
            /#21931740

            Авторское право на алгоритмы и патенты на код должны умереть в 21 веке, они только тормозят прогресс.
            Вы либо выкладываете свой код на всеобщее обозрение, либо используете приватные репозитории.
            Либо отдаете бинарники пользователям с возможностью декомпиляции, либо запускаете в облаке.
            Все остальное лишь прикрытие бумажками, никто не помешает украсть код и использовать его в закрытом проекте.

            • adictive_max
              /#21931764

              А это не авторское право на алгоритмы и не патенты.
              Это что-то схожее с литературным плагиатом — никто не запрещает вам сочинить очередную историю про очередную школу магии (они и до ГП и после выходили пачками), но передрать слово-в-слово текст ГП, заменив там только имена — это уже нельзя.

              • Simplevolk
                /#21932600

                Таня Гроттер и другие — передают привет)
                Хотя Танька довольно оригинальная

                • adictive_max
                  /#21932834

                  Хотя Танька довольно оригинальная
                  Однако, видно, не достаточно.

              • novoselov
                /#21935868

                Желание «объяснить» все с помощью аналогий порождает только больше проблем и неразберихи. При рассмотрении смешивают разные вещи: право на использование и право на авторство. Код это высокоуровневые математические операции, представьте что вам запретили использовать в своих вычислениях логарифмы: либо совсем, либо без указания авторства, либо с необходимостью раскрытия всего вашего кода. Или вы не должны использовать то же самое доказательство логарифмов, а должны придумать свое. И все потомки Джона Непера побежали дружно строчить иски в суд. С таким подходом мы бы до сих пор использовали счеты.
                Автор создает решение математической задачи, все остальные должны иметь возможность использовать его as is. Использование не означает отчуждение авторства, я просто хочу использовать код, при этом я не заявляю свои права и не умаляя труд авторов.

            • AlexeyALV
              /#21932084

              Может юристы меня поправят, но в России нет юридической защиты алгоритмов. Патенты на это точно не выдают.

              • mamont80
                /#21932912

                Патентов нет, а защита есть. Суть дела не меняет.

                • middle
                  /#21935174 / +2

                  В России авторское право защищает не «алгоритмы», а текст программы как литературное произведение. То есть никто не запрещает написать аналогичную программу, основанную на аналогичных идеях и алгоритмах, а вот тырить куски кода запрещено.

                  • nckma
                    /#21936672

                    А если менять названия функций и переменных?
                    И/Или переформатировать с табуляций на пробелы?

                    • dartraiden
                      /#21937026

                      Недостаточно сильная переработка.

                      По аналогии с литературным произведением, если вы поменяете местами слова в предложениях, то этого не достаточно. И даже просто поменять слова на синонимы тоже не достаточно. Если вы хотите получить текст, который не будет являться производным произведением, нужно бросить попытки хоть что-то оставить из исходного текста (включая порядок слов, предложений и прочее). И сделать пересказ (вот прямо как в школе учили пересказывать).

                      С похожей проблемой регулярно сталкиваются и успешно решают её люди, пишущие статьи в Википедии. Потому что правила требуют писать по источникам, но не копируя источник, а пересказывая своими словами.

                      В случае с кодом решение я описывал выше: один человек смотрит код и рассказывает, что код делает («а вот тут от сервера приходит массив строк в JSON, мы его парсим»), а другой, не подглядывая в исходник, по этому описанию пишет свой собственный код, реализующий ту же логику.

            • nuclight
              /#21935654

              Всё правильно, должны умереть. Но — только вместе с капитализмом. Иначе и будут случаи, как вот этот — делалось свободным для всех, поживиться решил кто-то один за счет других.

              • Chamie
                /#21938560

                А как у вас без капитализма будут распределяться ресурсы? Мнением «верховных вождей»?

          • Dark_Reaper
            /#21933272

            Даже в таком случае есть вероятность, что код может получиться идентичным.

            • Kanut
              /#21933318

              Но эта вероятность на мой взгляд будет не сильно больше вероятности что у двух людей будет абсолютно идентичный почерк. А наличие такой вероятности как-то не мешает существованию графологической экпертизы в той же криминологии.

              • nikolayv81
                /#21936408

                Интересно сколько одинаковых функций main в каком нибудь c# под wonifms ;)

        • Kanut
          /#21932228 / +2

          Я думаю данная дилемма решается банальным антиплагиатором, которые используются в университетах. Tо есть если вы что-то посмотрели, запомнили и потом где-то как-то сами воспроизвели что-то похожее, то вряд ли антиплагиатор найдёт много сходств. А вот если у вас сорс на 99% совпадает вплоть до названия переменных и опечаток, то…

          • ITurchenko
            /#21932388 / +1

            Т.е. сортировку пузырьком мне уже написать нельзя, правильно? Потому что я не знаю сколько туда воды нужно будет налить, чтобы
            а) не придрался антиплагиатор
            б) не просела итоговая производительность и читаемость кода

            • Kanut
              /#21932410

              Естественно есть какие-то паттерны/сниппеты/алгоритмы/примеры/..., которые все копипэйстят и которые у всех выглядят один в один. Но их вам никто и не даст под лицензию запихать. Ну то есть запихать то вы их можете, но свои претензии потом никому предъявить не получится.

              Тут же речь скорее не о таком, а о целых библиотеках на сотни, тысячи, а то и десятки тысяч строк кода.

              П.С. И я как бы многое понимаю, но когда возмущаются что кого-то заставляют соблюдать GPL лицензию…

            • lair
              /#21932554

              Т.е. сортировку пузырьком мне уже написать нельзя, правильно?

              А вы про public domain слышали?

              • nikolayv81
                /#21936412

                А если представить что её там нет? :)

                • lair
                  /#21936500

                  Зачем же останавливаться на полпути? Давайте представим, что нужно лицензировать каждое использование ключевых слов языка програмиирования. Или даже еще дальше — каждое использование букв латинского алфавита.

      • Sergey-S-Kovalev
        /#21931646 / -2

        Ох уже эти попытки связать логику воровства в реальном и в виртуальном мире. У Вас не совсем удачный пример, потому что в Вашем случае часть картины сфотографировали и встроили в сюжет своей мэйлрушной картины. Оригинал остался на месте и жив здоров. В реальном мире всем на такое всеравно.

        Скорбь в том, что бить по рукам за такое большим компаниям — не у всех есть желание и возможность.

        • fpir
          /#21932250 / -1

          Вот только, большие компании надо бить не по рукам, а по голове, желательно рельсой. Чтобы, выставила, например, 1с 1000 исков в год к гражданам по 5 лямов, один необоснованный — штаф 500 лярдов. Чтобы риски были соизмеримыми. Ну и на мыло, думаю, иск в пару годовых бюджетов России.

      • Finesse
        /#21931700 / -1

        Скопировать код ? похитить картину. Скопировать код = сфотографировать картину.


        Посмотрел на картину, запомнил какие-то черты и потом неосознанно где-то воспроизвёл их, этого не избежать.

        • Kaballist
          /#21932142 / +2

          Так точнее: картину скопировали почти целиком, внеся небольшие правки, а потом выдали за своё. И это не будет неосознанным воспроизведением какой-то черты, просто присваивание себе чужих творений.

        • mig126
          /#21932842

          Сфотографировать картину ? скопировать код. Почему? Потому что копируется лишь внешний вид(и то с одной стороны), но не материал, текстура, краски.
          Аналогией тут будет код получающий такой же результат, но достигнувший его другими путями. Или программа имеющая такое же оформление/дизайн/итоговый результат, но код там совершенно другой.
          В цифровом мире копирование происходит сто процентное(если файлы не битые и/или есть коды коррекции ошибок).

          • Finesse
            /#21932984

            Даже если сделать полностью идентичную копию картины, владелец картины не лишится картины

            • Kanut
              /#21932992

              Но при этом он всё равно в отдельных ситуациях может лишиться своих сбержений. Потому что если у вас есть одна уникальная Мона Лиза, то она стоит миллионы, а если их вдруг стало две абсолютно идентичные, то цена каждой из них опускается до стоимости производства новой копии.

              Но это как бы уже совсем другая ситуация и скорее проблема «адекватной оценки стоимости произведений искусства».

              P.S. С другой стороны стоимость «производства новой копии куска кода» тоже как бы стремится к нулю и следовательно если вы разрешаете всем, всегда и абсолютно в любых количествах копировать абсолютно любой код без разрешения автора, то у отдельных авторов и «производителей» кода(ну то есть у тех кто этим зарабатывает себе на жизнь) начинаются проблемы, потому что на коде больше невозможно заработать ни копейки. Ну или они начинают встраивать в свой код/программы всевозможные «защиты от копирования» что как бы тоже не то чтобы совсем оптимальный вариант…

              • Finesse
                /#21933194

                В любом случае, копирование это далеко не тоже самое, что изъятие, и соответствующие аналогии бессмысленны

                • Kanut
                  /#21933242

                  Но при этом и кoпирование и изъятие могут иметь очень схожие последствия для «пострадавших». И в таком контексте вполне уже можно и аналогии проводить и общие варианты решения проблем искать.

                  Более того если мы возьмём произведения искусства, то чем дальше развиваются технолoгии, тем больше и больше проблема копирования возникает и там. Кроме того давно уже есть есть такое явление как «limited edition» и там проблема копирования тоже стоит очень остро.

                  P.S. И например «сертификаты подлинности» вполне себе могут со временем трансформироваться в «сертификаты оригинальности». То есть при помощи подобных механизмов возможно будет определяться кто держит ту самую «оригинальную копию» или права на неё и все её «производные». И торговать тогда уже будут не сами произведения искусства, а эти сертификаты.

                  • mig126
                    /#21933320

                    Проблема копирования реальных вещей давно уже стоит в полный рост. К примеру научились выращивать копии драг. камней вплоть до мельчайших изъянов прямо в теле кристалла. Настолько качественно, что проходят серьёзные дорогие проверки. С картинами такая же ситуация.
                    Впору вводить маркировку с онлайн движением/отображением, т.к. сертификаты и разные голографические защиты подделать и вовсе не сложно(по сравнению с копированием самого предмета роскоши).

                • Mana_Banana
                  /#21933520

                  Дело в пассивном доходе, скорее всего.
                  Если бы картина приносила прямой и постоянный доход, а её копии были бы могли делать то же самое равноценно, то встаёт вопрос «а стоит ли мериться с тем что на твоём труде кто-то заработает или строит на нём целые архитектуры, даже не упоминая тебя в основании?».
                  Поэтому по сути и придуманы лицензии. Одни говорят что ты не вор, другие говорят «упоминай» и так далее и тому подобное.
                  Тут даже не важна картина, сколь важна техника, за которой испокон веков гонялись и просили продвинутых людей «научить». Теперь мы собрали технику, оцифровали её и выложили в сеть на определённых условиях. Условия — условны, они имеют значение т.к. мы придали им значение, потому что нужно уметь не только брать, но и давать.

      • boss_molokosos
        /#21931712

        Не логично полагать, что кражу картины — предмета вещественного, можно сравнить с копированием кода

        • AlexeyALV
          /#21932092

          Почему? В чем разница?

          • DaneSoul
            /#21932144 / +1

            После кражи у Вас картины не остается, Вы ее лишаетесь.
            А после копирования Ваша картина остается на месте, но ее копия появляется у кого-то еще.

            • AlexeyALV
              /#21932232 / +3

              Если вы делаете с картины копию, и объявляете ее копией, тогда да. А если вы делаете копию и продаете ее кому-то, выдавая за оригинал…

              • DaneSoul
                /#21932516

                Я с этим и не спорю, и не оправдываю такое копирование, но и кражей это называть не корректно.

        • aafin
          /#21932490

          Вопрос не в копировании а в смене лицензии. GPL не запрещает копировать но есть нюанс.

    • Int_13h
      /#21933010

      -штрафовать за то, что я пописал в бассейн! Но ведь так делает почти каждый!
      -может быть, но не с вышки же…

  3. badmilkman
    /#21931714 / +1

    <сарказм>Теперь ждем новости о уголовном деле и ночном обыске в квартире г. Усманова</сарказм>

    • /#21931970 / +3

      Ждём новости о том, что этот код всегда принадлежал mail.ru, и написали его в рабочее время сотрудники mail.ru

    • Like_fa
      /#21932254

      Разве что в «Прекрасной России будущего»…

  4. El_Kraken_Feliz
    /#21931888 / +1

    Остаётся поаплодировать прозорливости менеджмента ФМэйл.ру, которое превентивными мерами свела имидживые потери от подобный событий к нулю

  5. vesper-bot
    /#21931932 / +1

    "На протяжении 11 лет" не равно "дважды пойманы за 11 лет". Желтизна, однако.

    • rrrad
      /#21931980 / +2

      Если после первой поимки продолжили использование gpl-кода, то, согласно текущему законодательству, это длящееся нарушение (таким же образом против nginx возбудили дело).

  6. Andrey_Rogovsky
    /#21932044 / -2

    mail.ru еще живо?
    Интересно, кому в 2020 еще нужна куча навоза?

    • Kopilov
      /#21932118

      Тем, кто ходил под себя 20 лет подряд

    • JohnDaniels
      /#21932198

      Личная почта лет 10 на mail.ru, проблем нет.
      Бесплатное облако на 100Гб, проблем нет.
      В рабочих целях активно используем msc, проблем нет.
      Раньше еще в Аллоды играл.
      Почему навоз?

      • fpir
        /#21932296 / +2

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

      • Andrey_Rogovsky
        /#21932854

        Потому что во-первых был яндекс, и у него это все было на порядок круче майлру, а сейчас есть гугл у которого это все лучше яндекса

    • StGeass
      /#21932256

      Личное отношение может быть разным, но у компании широкий пулл активов, от MY.GAMES с ВК и Одноклассниками, до всяких Ситимобилов, YouDrive и прочих, с чего бы им умереть?

  7. pkruglov
    /#21933190 / +1

    dartraiden, спасибо, что обратили внимание на эту ситуацию. Конечно, со стороны она выглядит не очень хорошо. Вернее, совсем нехорошо. Увы, сработал банальный человеческий фактор. Где-то недосмотрели, и сложилась вот такая ситуация. Нам жаль, что так вышло. Мы с большим уважением относимся к авторскому праву. Приносим извинения.

    Мы уже связались с автором кода и попросили у него разрешения на использование. Он любезно согласился, но чтобы совсем уж закрыть ситуацию мы, пожалуй, этот код вообще перепишем.

    • El_Kraken_Feliz
      /#21933312

      — Что это за пункт в моём счёте «прокатило 5000?»
      — Не прокатило, вычёркиваем!

    • Kaffeine_C7
      /#21937556 / +1

      Это хорошо.
      А с Qt что? strings на статически слинкованном бинаре (например отсюда) показывает qt_lcnsprod=OpenSource and qt_lcnsuser=Open Source. Использование статической линковки требует либо предоставления исходников, либо платной лицензии Qt. У mail.ru бюджета на это не хватает?

  8. ShuraorSasha
    /#21933324

    Mail, ну Вы что, итак репутация так себе, а тут еще такие новости вскрываются

  9. apbondarev
    /#21933326

    По-моему, если исходный код открыт, то должно быть так: бери и используй как хочешь, главное результат должен оставался открытым. Если берешь то, что принадлежит всем, то оно и должно оставаться принадлежать всем. Так по будет по честному. И в этом контексте они ничего не нарушали. А эти ваши юридические тонкости не интересны.

    • Mana_Banana
      /#21933464 / +1

      Ну это по Вашему. А так придуманы правила использования, чтобы ты мог выбрать из кучи вариантов подходящий.

  10. nuclight
    /#21935664

    Новость о том, что кто-то крадет чужой [исходный] текст, лишь слегка его модифицируя и даже без ссылки на оригинал — сама скопирована с https://www.opennet.ru/opennews/art.shtml?num=53503 с незначительными перефразировками и даже без ссылки на оригинал (хотя сайт этого требует; а дополнения про Миранду здесь — из тех же комментов на опеннете).


    Не то что бы я (автор оригинальной новости) был против распространения этой информации, но какова ирония!

    • dartraiden
      /#21937068

      дополнения про Миранду здесь — из тех же комментов на опеннете
      Комментарии про Миранду там — мои комментарии.
      Первые три абзаца новости — пересказ фактов из исходного сообщения в Telegram, с Opennet максимум 4 абзац можно связать.

  11. dominigato
    /#21936836

    Вот если бы с апаче на gpl, тогда можно, а наоборот — нельзя.
    Как-то приходилось перелицензировать с gpl на апаче, пришлось писать каждому контрибьютеру в git blame, и просить разрешения на смену лицензии. Там был всего десяток, но больше я таких экспериментов пожалуй делать не буду… Если бы кто-то не согласился, пришлось бы ревертнуть его коммиты, и то не уверен что это решило бы проблему.
    А тут так просто — gpl, apache, да пофигу, они же все на одно лицо эти опенцурцы.

  12. YaSeven
    /#21937628

    Удивительно, как какая нить статья про торренты, то в комментариях в пух и прах разносят эти ненужные авторские права.
    А тут же, в комментариях, прямо такой праведный гнев, скопировали, да как могли то изверги )))

  13. magiavr
    /#21946172

    А вы посмотрите на отечественную ОС AstraLinux. Она чихать хотела на Open Source — там даже декомпилировать запрещено.