Как стать автором
Обновить

В открытом коде Winamp от Llama Group эксперты обнаружили нарушение лицензий GPL и LGPL

Время на прочтение2 мин
Количество просмотров21K
Всего голосов 11: ↑11 и ↓0+16
Комментарии41

Комментарии 41

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

А в issues вообще творится полный раскардаш, похоже, даже двачеры туда подтянулись.

Привет всем из 2004 года.

Вы как думали, разрабатывалось ПО в те времена? Ключи лежали в репе, репа синкалась дискетами по компьютерам. Если везло - был либо tortoise или MS VS Foundation Server.

Код был из чего угодно, а уж ключ - куда положили, туда и положили. Жизнь была простой и незатейлевой.

Иногда всё шарили на одном компе по сети, и надеялись что sasser ничего не сделает. Никто и не думывал выкладывать сорцы в опен, и не парил мозги лицензиями. Ловили только на честном слове или с помощью промышленного шпионажа.

Не у всех были репы в то время.

А если были, то их разнообразие было поистине интригующим.

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

давайте по пунктам:
1) кривая лицензия
3) чужой код
4) код с нарушением лицензий правообладателя
5) файлы которых не должно было вообще попасть в исходники
6) нарушение правил площадки
....

ещё не понятно сколько там найдётся дальше.

я искренне считаю что исходники такого легендарного софта (хотя я не особо понимаю чем он легендарен) должны быть открыты и сохранены хотя бы для истории. но так же я считаю что контора должна финансово понести наказание хотя бы за пункты 3 и 4.

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

3 как раз нормально, при условии, что 4 пункт не нарушается.

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

я напомню что в 4 пункте идёт речь о проприетарном коде китайских корпорастов которые сильно не в восторге от этого..

Да кому этот винамп сдался? Нам, старикам, вздрочнуть на прошлое?

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

А теперь-то что? У нас есть кодеки, вшитые в большинство операционок и браузеров, практически на всё. То, на что кодеков не хватает, отлично лечится через ffmpeg. А в реальности вопрос отсутствия кодеков или наличия специальных плееров беспокоит разве что большого меломана-задрота, любителя ходить по чёрт-знает каким торрентам, чтобы скачать Шестнадцатую сонату Моцарта, в исполнении великого японского пианиста Комуто Фиговато, записанную на пластинку в день цветения сакуры.

Профессионалы, которые занимаются музыкой используют другие программы.

А для обыкновенных людей, музыка превратилась либо в Spotify, либо в Apple Music либо в Яндекс, и когда мы не можем найти какого-то конкретного хита на этих платформах, мы может сходим на йутуб, а потом мирно забъём на это. Организация библиотек сегодня - это не 2003 год, когда коллекции MP3 нежно причесывались всякими теггерами и подгонялись под винамповый интерфейс. (Кстати, не самый удобный в мире)

Если я не сижу на работе, то в большинстве случаев мое взаимодействие с музыкой будет в стиле "Эй Сири, поиграй-ка мне джазу да покрепче".

С 2005 года я ни разу не интересовался битрейтом прослушиваемой музыки. Моё ухо не улавливает шума воды из-за переэатого mp3, и то слава богу. А если звук плосковат, то я выключаю задравший Зум, который постоянно переводит все гарнитуры из режима наушников в режим микрофона, и всё чинится.

И так, вопрос года, нафига нам исходники винампа?

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

В общем развлечения для ребят желающих бесплатно поработать на дядю

Смысл публикации исходников как в патентах - не дать возможноть конкурентам использовать этот код или его фрагменты.

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

Да ну, закрытие исходников никак не мешает правообладателю обратиться в суд, у адвокатов истца они то будут.

Никто и не думывал выкладывать сорцы в опен, и не парил мозги лицензиями.

Поэтому претензии к нарушению GPL-кода бесмысленны, никто не выкладывал сорцы в опен, значит винамп и не мог их украсть)

Вот именно поэтому огромное количество софта никогда и не будет открыто, даже если потеряло коммерческую ценность.

Уже слышны "I told you so!" и "it was a terrible idea" из внутренних чатов, а юристы потирают ладожки, какие же они молодцы, что без них солнце не взойдет.

Потому что компания-разработчик нарушает закон и все в ней об этом знают?..

Мда.

Надеюсь, все понимают, что теперь не считать эти исходники полностью GPL-ными так же незаконно, как юзать утекшие сорцы Opera Presto?

Кстати, скачаю-ка. Последний раз вроде не собиралось черт знает из-за чего, но посмотрим.

Потому что компания-разработчик нарушает закон и все в ней об этом знают?..

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

А уж следить чтобы коллеги там чего-то не нарушали или искать нарушения в легаси-коде? Кому это надо?

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

И тот факт, что какая-то библиотека распространяется под GPL, не означает, что она распространяется только под GPL. Я регулярно вижу кастомные лицензии на софт, разработчики часто продают специальные лицензии для включения своего софта в закрытые коммерческие сборки.

Я не утверждаю, что код винампа чист, но одного факта наличия какого-то файла в репе недостаточно для утверждения обратного. Вот пример очень популярной библиотеки, исходный код которой доступен под AGPL, что не мешает ей активно продаваться.

Ооо! Сколько раз разработчики (web-сайтов и мобильных приложений) в ответ на моё требование использовать только лицензионно чистые картинки/иконки/шрифты делали квадратные глаза - "В смысле, чистые? Это как уследить-то?!"... а всего лишь, лет 15 назад на моего работодателя довольно плотно наехал правообладатель шрифта, которым был оформлен логотип одной из его торговых марок (а логотип был и на сайте, и на упаковке продукции, и на элементах оформления торговых точек, и на брэндированном автопарке...) - я убирал лого с сайта, т.к. сайт как запилили в незапамятные времена, так его никто и не админил - хорошо, что пароль сохранился. Как решали вопрос с остальными местами использования - не интересовался. Но очень не хочется столкнуться с подобным в своей зоне ответственности.

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

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

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

Большинство разработчиков не задумываются и о правильной налоговой отчётности компании, однако, как только ты начинаешь, к примеру, продавать свой софт и открываешь компанию, к тебе начинает применяться налоговой кодекс (вне зависимости от мнения разработчика о нём).

И для этого в компаниях обычно существуют бухгалтера.

И если фирма об этом не позаботиться, то это всё равно не зона ответственности разработчика. И он не будет за это отвечать если что-то пойдёт не так.

И с использованием сторонних библиотек/кода ситуация похожая. Более того как мы видим наказывают фирмы за такое не особо часто. Мягко говоря.

Да, суд накажет не конкретного разработчика, а компанию, но это не освобождает разработчика от ответственности перед работодателем.

Тот факт, что к забору прислонен чей-то велосипед, не означает, что я могу свободно на него сесть и поехать. Любой более-менее опытный разработчик (тот, чей код идёт в прод) должен иметь базовые знания об IPR.

Во первых давайте посмотрим на то как часто за это действительно наказывают. И если наказывают редко и/или не особо сильно, то не удивительно что и фирмы на это часто забивают.

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

Вы смешиваете понятия.

  1. Иски по защите интеллектуальной собственности не так уж и редки, и зачастую с монументальными суммами. Чем мельче контора, тем меньше вероятность попасть на такой иск, но всё равно нулевой она не будет. См. про бизнес-риски, как правильно сказал @funca.

  2. Работник несёт ответственность. Не напрямую перед судом / клиентом, но перед работодателем. Если по вине работника какой-нибудь ремонтной конторы клиенту будет нанесён ущерб, то отвечать перед клиентом будет контора. Что не означает, что работник имеет полное право творить что ни попадя.

  3. Если какая-нибудь контора, даже самая маленькая, попадёт на деньги по иску о нарушении интеллектуальной собственности, то с вероятностью 100% она нагнёт того, кто её нарушил. То есть, даже если работотадель забивает на лицензии, это вообще не повод рядовому разработчику делать так же.

    Если же разработчик сам себе строит западню, пусть и маловероятную, то он сам себе Буратино.

Иски по защите интеллектуальной собственности не так уж и редки,

Как часто были иски конкретно в контексте "неправильного" использования различного опен-сорса и нарушения его лицензий? Особенно когда речь о опен-сорсе, который писал кто-то в одиночку или небольшая группа людей? Какие штрафы в итоге платилсь?

Работник несёт ответственность. Не перед судом, но перед работодателем

И эта ответственность обычно прописана в трудовом договоре, рабочей инструкции или озвучена каким-то другим образом.
Если совсем грубо, то за бухгалтерию разработчик не отвечает. Как и за кучу других вещей.

Если какая-нибудь контора, даже самая маленькая, попадёт на деньги по иску с нарушенями интеллектуальной собственности, то с вероятностью 100% она нагнёт того, кто её нарушил

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

Ещё раз, если кто-то хочет нарушать закон (особенно любопытно, что даже не в своих личных интересах) и делать ставки на то, что его не поймают, то флаг ему в руки, миру нужны Буратины :)

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

Я бы не сказал что люди, которые отметились в комментариях к этой статье, это репрезентативная выборка :)

Кроме того просто что-то знать и поступать соответственно этому знанию это далеко не всегда одно и то же.

Ну то есть на собеседованиях куча народа "знает" что надо писать чистый код или там юнит-тесты или документацию. Но потом почему-то далеко не все это делают если им об этом не напоминать...

У нас используются практики DevSecOps, описанные в https://owasp.org/www-project-devsecops-verification-standard/. В частности, заимствования кода определяются инструментом для Software Composition Analysis. Вместе с ним Software License Compliance проверяет лицензии. В случае нарушения в проект моментально прилетает ишью с блокирующим приоритетом. Для разработчиков регулярно проводится security trainings, где лицензиям и политикам использования посвящён один из модулей. Поэтому они естественно в курсе что в каких случаях можно и что нельзя.

Знают может не все, но предполагают все.

Это как написание рефератов, статей или другой литературы. Когда нужно, например, описать климат какой-нибудь территории, ты не пойдёшь его исследовать и собирать статистику. Ты найдёшь любой документ, где этот климат описывается и скопируешь себе. В лучшем случае укажешь источник. И не задумаешься, законно это или нет.

Какие-нибудь научные результаты выдавать за свои, не хорошо, но такие мелочи так или иначе "воруются" и будут "вороваться" всегда.

Есть отдельный класс софта, который автоматически определяет такие "мелочи" (SCA). Дальше все зависит от специфики бизнеса. В крупных компаниях на западе все это довольно сильно контролируется, поскольку нарушение лицензий может привести к большим судебным издержкам.

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

Я итак воспринимал эту статью как анекдот про стюардессу, а потом ещё и глазом споткнулся об это. Вы серьезно или это какие-то слои иронии?

Никакой иронии, один из создателей Winamp и плагинов для него уже несколько лет продолжает развитие программы, даже не имея исходников. Пишет врапперы, переписывает некоторые компоненты с нуля. В 32-битной редакции даже ядро винампа с собой таскает.

Можете сами оценить активность разработки, он выпускает по несколько билдов в месяц.

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

НЛО прилетело и опубликовало эту надпись здесь

Я не программист, сорян за глупые вопросы.
1) Не проще ли всё переписать по-нормальному с нуля, оставив только скин?
2) Помню у винампа были роскошные визуализаторы (цветомузыка) которые работали с отличной скоростью на старых компах. Куда это наследие делось, и есть ли возможность пересобрать этот код под линукс/мак?

емнип, визуализации от винампа ещё какие-то плееры поддерживали

https://getwacup.com/
Проект, который ведёт один из бывших девелоперов Nullsoft.

Началось как сборка последней версии Winamp от Nullsoft (v5.666 конца 2013-го года) с подпиленными плагинами, выросло в переписывание с нуля при сохранении совместимости с плагинным и скиновым API оригинала.

Не проще ли всё переписать по-нормальному с нуля, оставив только скин?

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

Не проще ли всё переписать по-нормальному с нуля, оставив только скин?

Тогда зачем что-то переписывать? Скин винампа уже многократно воссоздан для других плееров.

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

Визуализаторы были плагинами и писались в т.ч. сторонними разрабами. Да и вообще там многое было плагинами

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории