Арт-проект на Raspberry Pi генерирует миллионы «ущерба» для правообладателей

Питер Сунде, бывший пресс-секретарь The Pirate Bay, никогда не скрывал своих идеалов: это свобода информации и свобода копирования. Он заплатил за эти идеалы: в прошлом году Питер провёл пять месяцев в тюрьме для особо опасных заключённых.


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


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


В своём арт-проекте Питер Сунде довёл идею до абсурда.


Мини-компьютер на Raspberry Pi с ЖК-дисплеем крутит скрипт на Python, который непрерывно копирует в /dev/null один и тот же файл — песню Нарлз Баркли Crazy.


По логике корпораций, каждая копия приносит им убытки. Если так, то скоро вся индустрия обанкротится — ведь The Kopimashin наносит им «ущерб» в десятки миллионов долларов каждый день.


Методика расчёта «ущерба» от копирования нелицензионных файлов всегда вызывала возмущение у Питера Сунде. По его мнению, корпорации сильно переоценивают стоимость пиратских копий.


The Kopimashin производит 100 копий файла в секунду, то есть более 8 млн копий файла в день. По методике расчёта упущенной прибыли корпораций, это означает ежедневную «потерю» примерно $10 млн. По мере копирования файлов цифра «ущерба» обновляется на ЖК-дисплее мини-компьютера. Действительно, crazy.

The Kopimashin — часть арт-проекта, посвящённого цифровому копированию, который готовится к будущей выставке.


«Я хочу показать абсурдность самого принципа определять стоимость цифровой копии, — говорит автор. — Машина сделана очень грубо и демонстрирует, что здесь нет никакой угрозы для индустрии вообще. Но если следовать их риторике и образу мышления, то она обанкротит их».


Главная цель проекта — показать, что миллионные счета компенсации, выставленные Питеру Сунде и его коллегам из The Pirate Bay, не имеют ничего общего с реальностью. Они так же иллюзорны, как цифры на экране The Kopimashin.


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


Машинка на Raspberry Pi, тем временем, работает без отдыха и продолжает банкротить лейбл, который распространяет песни Нарлз Баркли. «Та, что лежит у меня дома, уже сделала 120 миллионов копий, — говорит Питер Сунде. — Это соответствует $150 миллионам убытков для звукозаписывающей индустрии — следуя их логике».


Чтобы зафиксировать невиданные убытки для индустрии, Питер связался с представителями Книги рекордов Гиннесса, которые в данный момент рассматривают его заявку. Автор: Анатолий Ализар (редактор проекта GeekTimes.ru)

Вы смотрите срез комментариев. Показать все
302
Автор поста оценил этот комментарий

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

раскрыть ветку (140)
113
Автор поста оценил этот комментарий

#!/usr/bin/env bash


I=0


while [ 1 ]; do


I=$(( I + 1));


echo "$I"


dd if=/home/pi/music.mp3 of=/dev/null 2> /dev/null


done


Все, копируешь это в файлик делаешь ему +x и запускаешь на любой линуксовой машине.

Если хочется красивостей, то меняешь эхо на то что тебе нравится.

edit:

путь на mp3 нужно поправить на тот который у тебя в системе.

раскрыть ветку (58)
184
Автор поста оценил этот комментарий
копируешь... делаешь....запускаешь...меняешь....нужно поправить

Это явно не для лл)

раскрыть ветку (16)
54
Автор поста оценил этот комментарий

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

Это такой Proof Of Concept 

раскрыть ветку (15)
19
DELETED
Автор поста оценил этот комментарий
Вместо ЖК экрана можно lighttpd поставить и онлайн-счётчик замутить, если, конечно, провайдер даёт белый ip.
раскрыть ветку (12)
34
Автор поста оценил этот комментарий
И считать, сколько людей поддерживают Питера и сколько "убытков" понес уже лейбл!
Шикарный проект, пилите, на кого подписаться, чтобы насолить мажорам на лям баксов?
раскрыть ветку (10)
23
Автор поста оценил этот комментарий

Вечером сделаю. С экранчиком и с http мордой. (хотя может тут кто и более фастпоке)

раскрыть ветку (9)
19
Автор поста оценил этот комментарий
Только суть-то токова должна быть, что любой зашедший может скачать программку и присоединиться к Лиге Пиратов, и их борьбе. И после запуска файлика его борьба складывается в общую копилку, его участие плюсуется в общую цифру участников, а его копии плюсуются к общему числу копий. Ну и убытки считать. Шикарно было бы.
раскрыть ветку (5)
19
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (1)
14
Автор поста оценил этот комментарий
Красные мокасины уже выехали за тобой!
раскрыть ветку (2)
Автор поста оценил этот комментарий

у меня есть малина, и 7" дисплей :D счетчик больше будет

раскрыть ветку (1)
Автор поста оценил этот комментарий

Угу, поправь под себя lcd.py  и будет тебе счастье.

1
DELETED
Автор поста оценил этот комментарий

Нужен распределенный разорятель индустрии музыки

1
Автор поста оценил этот комментарий
Подписался
1
DELETED
Автор поста оценил этот комментарий
У меня экранчика нет :( Без него не комильфо
2
Автор поста оценил этот комментарий
если, конечно, провайдер даёт белый ip.

Ну можно по ipv6 замутить. Где-то уже дают, а где не дают есть teredo (miredo) + DynDNS (они умеют AAAA записи). В наше время ipv6 не может только ЛЛ - даже винда, говорят, умеет.

Автор поста оценил этот комментарий

sh'ник с окошком выбора файла. или лучше зашить файл. для ЛЛ самое то. 

раскрыть ветку (1)
Автор поста оценил этот комментарий

Как мембер ЛЛ, буду рад пуллреквесту.

Лучше на curses, потому что не у всех к малине экран подключен.

33
Автор поста оценил этот комментарий

Для винды:


@echo off

chcp 65001

set c=0

:loop

cls

copy .\track.mp3 .\nul > nul

set /a c=%c%+1

echo Убыток %c%$

goto loop

раскрыть ветку (7)
79
Автор поста оценил этот комментарий

Не надо его будить!

Иллюстрация к комментарию
раскрыть ветку (2)
49
Автор поста оценил этот комментарий
Не повезло чуваку, его каждый более-менее сисадмин вызывает по многу раз)
раскрыть ветку (1)
23
Автор поста оценил этот комментарий
Даже на пикабу не успевает посидеть, бедняга )
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий
а после chcp 65001 разве не надо потом кодировку возвращать?
раскрыть ветку (2)
Автор поста оценил этот комментарий

А зачем, если она даже в терминале не сохраняется?

раскрыть ветку (1)
Автор поста оценил этот комментарий

У меня вроде сохранялась, а может это на XP было, давно батники не делал.

21
Автор поста оценил этот комментарий

Есть замечания, товарищ:

1. Убыток инкрементится до факта копирования.

2. Игнорируются возможные ошибки процесса копирования.

3. dd имеет аргумент bs (размер блока). По умолчанию он равен 1 байту. Медленно и накладно на CPU.


Решение:

Надо инкрементить $I только при нулевом $? команды dd. Процесс копирования можно значительно увеличить, задав bs в размер страницы дискового кэша.


Всё как всегда - тяп ляп и в продакшен.

раскрыть ветку (8)
5
Автор поста оценил этот комментарий

А на человеческом языке? :(

раскрыть ветку (1)
10
Автор поста оценил этот комментарий

1. деньги считаются до того, как их "украдут" копированием
2. что-то может пойти не так, и нет никакой защиты или инструкций на этот случай
3. долгий и тяжелый процесс копирования


p.s. вроде ниче не напутал

1
Автор поста оценил этот комментарий

1. Пох, т.к. копирование всегда удастся - см п 2.

2. Ошибки копирования в /dev/null? Разве что диск гикнулся и вылетело IO error по чтению. Да и то вряд ли, так как песня закешируется в оперативку сразу, и диск дёргаться не будет вообще. А вот делать echo "i=$i\n" > count и source count не помешало бы.   

3. Да, BS=4M было бы неплохо.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

2.1 Устройство /dev/null можно просто отключить. Можно смонтировать на /dev что-то другое. Вы не сделали fopen и не держите постоянно действующий дескриптор, а каждый раз открываете файл снова. 

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

Следовательно, п. 1 - не пох. Сильно не пох.

раскрыть ветку (1)
Автор поста оценил этот комментарий

2.1 Можно и бинарник cat chmod'нуть. Много чего весёлого сделать можно. Будем в простеньком скрипте для фана вообще всё учитывать?..


2.2 Протухать? При постоянном чтении оттуда?.. Ну давайте tmpfs смонтируем, скопируем туда файл и будем молиться, что никто наш дескриптор не снесёт прямым редактированием памяти...

Автор поста оценил этот комментарий
Тогда ещё хранить в БД накопленные значение и суммировать к нему в случае краха системы или ребута по питанию )
раскрыть ветку (1)
Автор поста оценил этот комментарий

БД? о_О.

echo "i=$i\n" > count в цикле и source count в начале. БД - не unix-way.

Автор поста оценил этот комментарий

Эм, я же писал что это POC, замечания хорошие, вечером поправлю.

10
Автор поста оценил этот комментарий

Очень много строк :)


whle ( true ); do cat ~/music.mp3 > /dev/null; done

раскрыть ветку (7)
17
Автор поста оценил этот комментарий

"Убыток" не считает

раскрыть ветку (6)
6
Автор поста оценил этот комментарий

while ((i++)); do cat ~/music.mp3 > /dev/null; echo $i; done

раскрыть ветку (5)
17
Автор поста оценил этот комментарий
Переполнится.
раскрыть ветку (4)
30
Автор поста оценил этот комментарий
Ты как мой препод по информатике
Автор поста оценил этот комментарий

Чуть позже тепловой смерти Вселенной. Числа в баше используют bigint.

раскрыть ветку (2)
Автор поста оценил этот комментарий
Да без разницы. Потенциальная уязвимость есть уязвимость. Потом, например, он захочет i увеличивать на сумму в атомах золота, а это уже чуть больше миллиона лет (при условии 1 итерации в секунду)
раскрыть ветку (1)
Автор поста оценил этот комментарий

+1

А то тут недавно и backspace'ом кое-кого ломали.

2
Автор поста оценил этот комментарий

Как грубо. 

раскрыть ветку (7)
Автор поста оценил этот комментарий

Зато работает.

зы принимаю пожелания и предложения

раскрыть ветку (6)
Автор поста оценил этот комментарий

Я вобще не понимаю, за каким лешим он использовал целый распбери. Можно было спокойно на MSP или AVRе каком нибудь сделать. 

раскрыть ветку (5)
Автор поста оценил этот комментарий

Потому что быстро.

раскрыть ветку (4)
Автор поста оценил этот комментарий

Ну эээм, сомнительно.

раскрыть ветку (3)
Автор поста оценил этот комментарий

Я про скорость разработки.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Я тоже.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну, на плюсах я бы точно дольше писал, хотя опыта в них много.

2
Автор поста оценил этот комментарий
Отлично, перепишу в рабочий блокнотик.
Автор поста оценил этот комментарий

А если написать на С и загнать а ramdisk то убытки зашкалят :-)

раскрыть ветку (3)
Автор поста оценил этот комментарий

А че ж сразу memcpy не использовать?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Не будет так явно, в том и фишка

Автор поста оценил этот комментарий

Можно, но зачем?

Автор поста оценил этот комментарий
I=0
while[1];do
I=.....

Зачем вы объявили переменную, которую вы вообще не задействовали в цикле и после которого вы опять объявили ту же переменную и присвоили другие значения?

Разве не так надо?
while[I];do

Тут разве лучше не FOR использовать? Объясни пожалуйста, мне очень интересна специфика!
раскрыть ветку (2)
Автор поста оценил этот комментарий

while[1];do - бесконечный цикл. Т.е. выполнять пока 1 не 0.

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Ок, ясно. А что на счет:

I=0
...
I=$((I+1))

В первой строке вы присвоили переменной I значение 0.

В третьей строке вы объявили переменную I и присвоили переменной I значение I + 1. Разве интерпретатор языка не должен брать параметры I с третьей строки, как самой последней и тем самым вызвать ошибку, так как вы вызываете I, который ещё не объявили, ведь оба I из первой и третьей строки являются глобальными пепеменными?

Не поймите меня неправильно. Мне правда интересно это узнать.
1
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
Автор поста оценил этот комментарий
Но не по сути. как часть арт-проекта было бы прикольно собрать себе точно такую-же вещь. Вся суть ведь не в функционале, а в абсурдности происходящего. Можно бы было даже сайтик замутить куда присылать отчет о "нанесенном ущербе" в миллиарды долларов.
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Тогда для большей аутентичности, заставь прогоаммулину заставлять просматривать этот контекст людей, которые не платили за трек. Это подобно тому, что я сейчас разверну бесплатные кинотеатры с просмотром новых ЗВ. Все, кто просмотрел у меня не пойдут в платный кинотеатр. Вот тебе и убыток. А то, что описано в посте, весело конечно, но это - бенефис идиотизма. Прибыль от пиратства получает тот, кто крутит вам рекламу на трекерах.
ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку