bash.im ithappens.me zadolba.li

Программы

12967

Принять котом, решать потом

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

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

Почему ПО так легко скопировать, что приходится защищать копирайтом? Из-за гибкости и лёгкости пути к каждой следующей копии. Компьютеру, без которого о ПО вообще речи не идёт, всё равно, что копировать: ваши собственные файлы или любую из установленных программ. И любая копия может послужить источником практически неограниченного числа других копий.

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

В экономике принято разделять все товары на две группы: средства производства и предметы потребления. С помощью средств производства можно производить другие товары или услуги, с помощью предметов потребления — нет. Разделение нечёткое — тот же телевизор можно использовать, например, в качестве элемента видеосалона, — но помещение и другие факторы будут иметь в нём также очень значимую роль, кроме того, будут сложнее заменимы, поэтому телевизор всё же скорее предмет потребления.

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

Каким же образом это сделать? Обычные правила защиты собственности тут не работают (производитель написал программу и копирует, покупатель купил, то есть тоже получил в собственность, и копирует). Дополнительные договоры при продаже? Часто вы, покупая диск, слышали, чтобы продавец вам хотя бы вкратце перечислял ограничения по поводу его копирования и прочее копирайтовое? А если бы перечислял, какой шанс на то, что вы всё же купили бы диск? Лицензионное соглашение? Если брать то, которое «принимается при открытии коробки с диском», то считать его действительным сложно, а если то, которое уже давно стало элементом установки большинства программ — так его убрать не проблема (ну, или, как писали когда-то на Баше, «принять котом»).

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

После подобных действий копирайт легко распространяется по всему миру — где-то по той же схеме, где-то методом кнута (санкции) и пряника (ВТО). Параллельно его начинают пиарить, и среди всех призывов громче всех звучит такой: «Пожалейте автора! Украдёте (то есть скопируете) — он не напишет новых программ и вообще умрёт с голоду». Давайте рассмотрим его подробнее.

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

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

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

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

Вот и всё, что я хотел сказать по поводу сабжа. Конечно, некоторые вещи не затронуты, а некоторые изложены упрощённо — но это размышления для IT happens, а не научная статья. Dixi.

12964

EULA и варенье вприкуску

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

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

…В течение 90 дней с момента получения чека о покупке электрического чайника его функционирование будет в основном соответствовать внутренней конструкторской документации завода-изготовителя (на китайском языке, гриф «для служебного пользования»)…

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

…Производитель не несёт ответственности за какие-либо убытки и/или ущерб от электрического чайника (даже при его взрыве в руках пользователя; даже если пользователь уведомил производителя о заложенной производителем в электрическом чайнике взрывчатке)…

…В любом случае ответственность за электрический чайник ограничивается ценой чайника…

…Настоящее лицензионное соглашение регулируется законодательством штата Несуществующий Несуществующих Соединённых Штатов…

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

12961

Две тыщи ватт непреодолимой силы

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

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

Может быть, при покупке пылесоса что-то иначе? И снова нет. Никакой ответственности за вред, причинённый пылесосом, в договоре купли-продажи не прописан. Паразиты, однозначно!

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

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

А если кто-то хочет, чтобы в ПО была круглосуточная поддержка продукта, выезд сервисных инженеров на место, максимальные гарантии и даже материальная ответственность — не проблема, есть и такое. Но очень дорого.

12949

На четвереньки, нищеброды!

Прочитал про тернистый путь к слайду. Аж расплакался. Особенно громко рыдал над фрагментом: «И некоторые были запатентованы про запас».

Именно в этом и кроется вся бредовость патентной системы. Представим, что некто Ньюкмен создаёт паровую машину и, естественно, патентует и её, и про запас ещё десяток-другой модификаций. А что же Джеймс Уатт? А он идёт лесом: всё запатентовано до него, придумывай с нуля. Но так не бывает, 99% изобретений — результат доработки уже существующих изделий. И в итоге хрен вам, а не промышленная революция.

Патент на «slide to unlock» — это всё равно что патент на ложку. Ну, или на кирпич. Конкретный программный модуль — да, защищайте сколько хотите. Точно так же, как особо хитрую ложку с регулируемой глубиной или кирпич с близкой к нулю теплопроводностью. Если ваш будет по комплексу параметров лучше всех остальных — вы его продадите.

Но нет, сейчас в тренде патенты на любую фигню. Например, на 3,5-миллиметровый джек со слегка подпиленным основанием (главное и единственное преимущество: в разъём для него обычный 3,5 не влезает) — тоже привет Apple, кстати. Хотя это общая беда всей связанной с IT индустрией: деньги потекли рекой, поэтому случилась миграция эффективных менеджеров и блестящих маркетологов. В итоге, если 20 лет назад один небритый студент писал интересную фичу, второй брал её и с небольшой доработкой вставлял в свой проект, а в итоге она становилась стандартом для всей отрасли, то сейчас собирается толпа высокооплачиваемых менеджеров по дизайну, юзабилити, внедрению, маркетингу и т. п. (ни один из них сам ничего не делает, ибо является профессиональными менеджером), проводятся умные совещания с графиками и диаграммами, в итоге подаются 20–25 заявок на патент (профессиональные патентные юристы тоже хотят зарплату), из которых используется только один (потому что инвестору больше всего понравился именно этот), проваливается в продажах — и обо всём этом забывают лет на пять. До тех пор, пока кто-то случайно не внедрит у себя один из запасных вариантов и не получит прибыль.

В общем, нормальный порядок вещей. Бурный рост позади, наслаждаемся прелестями пика и ждём стагнации и кризиса. Глядишь — он вышибет из отрасли скопившийся балласт и заставит оставшихся умерить аппетит, а государства — довести законодательство до ума. А то ведь реально скоро очередная мегакорпорация запатентует прямохождение — и поди докажи, что сам додумался.

12947

Тайны древних толстых

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

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

Прошло лет пять. Банк стал очень солидным, и самопальный собственный клиент перестал удовлетворять руководство. Поставили задачу сделать новый толстый клиент, но уже крутой и классный. Задачу выполнили, вот только обращался этот клиент не к серверу и даже не к фирменному клиенту, а к старому самопальному клиенту, который в фоновом режиме запускается вместе с новым. По сути, оболочку они сделали по принципу NC и DOS.

Прошло ещё десять лет, и банк решил перейти на тонкий клиент с веб-интерфейсом. Угадаете, куда идут запросы от этого тонкого клиента? Правильно: они идут на толстый клиент, который крутится на сервере подразделения, который обращается к старому клиенту, который обращается к фирменному клиенту, который обращается к серверу.

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

Но самое смешное — это иерархия айтишников. Крут тот, кто умеет чинить старые клиенты. Их не дорабатывают уже много лет, поэтому если что-то ломается в них — это катастрофа. Когда айти-жрецы 90 уровня, помнящие «тайны древних», заходят в старый клиент и что-то там рихтуют, все ликуют, когда у бородачей всё получается, и с вожделением смотрят на нарисованные чёрт знает как таблички на экране, приговаривая: «Да, вот ведь как раньше просто можно было всё делать…»

12941

Через тернии к слайду

Прочитал я тут историю «Безусловно-платно» и решил объяснить её автору, почему он неправ.

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

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

Формируются независимые исследовательские коллективы, каждый из которых предоставляет свои наработки и защищает их. Затем из них выбираются наиболее перспективные, доводятся до стадии прототипов, оцениваются менеджментом, фокус-группами, тестерами, обычно в несколько циклов. Всё это время огромное число крайне высокооплачиваемого народа вкалывают, как папы Карло, но не приносят их работодателю ни цента прибыли. Компания оплачивает их услуги из своего кармана в расчёте на будущие доходы. Результатом долгих трудов огромной группы людей оказывается какой-нибудь «slide to unlock», глядя на который, люди восклицают: «И вот за лицензию на это они требуют таких несусветных деньжищ? Я бы и сам придумал не хуже!»

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

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

А ты можешь придумать не хуже? Молодец! Придумай и запатентуй. А пока не придумал — молчи в тряпочку, на словах-то все горазды.

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

Тем, кто воет на тему засилья патентов, дам несколько советов: во-первых, если без конкретного патента обойтись никак нельзя, то лицензию на его использование можно и купить. Это не так уж дорого. Во-вторых, нельзя запатентовать идею. Только конкретное воплощение идеи. «Потянуть что-то куда-то для разблокировки» — это идея, не защищённая и не защищаемая патентным правом; «потянуть значок в виде квадратика со скруглёнными углами в полоске, символизирующей собой паз, по направлению стрелки» — это имплементация, она защищена. В-третьих, патентные базы разных стран не объединены: даже если патент на какую-то штуковину есть в Штатах, её все равно можно запатентовать в Монголии. В-четвёртых, очевидные воплощения патентовать нельзя. Критерий признания воплощения идеи очевидным крайне прост: если до этого воплощения мог додуматься свежеиспечённый бакалавр наук в данной области без опыта работы по специальности, она считается очевидной. В-пятых, очень легко защитить себя от патентных дрязг: создать prior art. Если описание воплощения идеи (со всеми техническими данными, необходимыми для реализации) было создано до регистрации патента, хозяин этого описания не будет платить за лицензию, даже если это описание попало всего лишь в его личный дневник. Если же такое описание было опубликовано, никто не сможет зарегистрировать патент на описанное воплощение. Именно тут и кроется отдушина для будущих изобретателей: создавайте свой prior art!

На закуску: в апреле 2013 года Германия решила отказаться от практики защиты программных решений в рамках патентного права. Количество стартапов там резко пошло вниз, и теперь немцы бьют тревогу, потому что талантливые изобретатели покидают Родину и предпочитают творить в других странах, где их труд будет обеспечен оплатой.

12932

Котёл из коробки

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

В комплекте — инструкция в картинках, как именно надо устанавливать этот котёл в дом на этапе, когда фундамент уже уложен, а стены находятся в процессе возведения. Прилагается крепёж: шурупы, дюбеля, уплотнительные шайбы и синяя изолента. Установка проста для любого, кто умеет держат в руках молоток. Комплект подходит для установки в домах серии БРД-12, ЗПР-34, ГПА-42-2.

Прекрасно, замечательно, особенно если вы строите дом серии ЗПР-34 и прямо сейчас возводите стены! Но вдруг случилось страшное, и у вас дом какой-то другой? Котёл не вписывается по размерам никуда, кроме специальной ниши (которая у вас не предусмотрена), трубы согнуты не там, где нужно, для первого этажа пятнадцати радиаторов много, а второй в комплекте не предусмотрен, крепёж не подходит, инструкция неприменима.

И вишенкой на торте — согласно порядку и правилам эксплуатации котёл не работает в период с 15 марта по 15 ноября. Потому что не положено по лицензии. Купите другой, такой же — но он не работает только с 15 апреля по 15 октября, у него лицензия расширенная.

И тогда вы плюётесь, идёте в другие магазины и покупаете отдельно котёл (из 100+ моделей), трубы разного сечения и длины, фланцы, радиаторы, анкеры, гвозди, шурупы, перфоратор. Возможно, придётся купить сварочный аппарат, электроды и маску. Наверняка забудете что-то нужное, наверняка запорете пару труб, придётся искать и читать руководства по электросварке и устройству систем отопления. Многие просто не осилят и будут вынуждены нанимать специалистов.

Зато в итоге в вашем собственном доме, построенном по вашему проекту, будет ваша система отопления, которой (если вы всё сделали правильно!) вы сможете пользоваться так, как вам удобно и когда удобно, а не так, как и когда разрешено по лицензии.

Примерно этим и отличаются «удобные проприетарные SDK» от «неудобного опенсорса».

12923

As is, высший сорт

Люблю я иногда повозиться с DOSBox, DOSEMU, FreeDOS. Рождение открытого драйвера CD для поставки вместе с FreeDOS произошло буквально у меня на глазах. Я тестировал новорождённого с первых дней его жизни. Новоиспечённый счастливый папаша честно предупреждал: мой ребёнок ещё очень маленький, с вашим приводом, скорее всего, не заработает. Даже не «работоспособность не гарантируется», а «скорее всего, не заработает». И привёл ссылку на сайт производителя приводов, где можно скачать альтернативу — проприетарный драйвер, официально не универсальный, но по факту — работающий и с приводами других производителей.

Не тут-то было. Я тестировал опенсорсный драйвер с приводами разных производителей, CD и DVD, десктопными и ноутбучными. С самой первой версии он без единого глюка работал со всеми этими приводами. Не завёлся всего один раз, и то не из-за привода, а потому что на 286-м.

Вот такая это штука — самоуверенность. Много её — плохо. Мало — тоже плохо. Поди угадай!

12921

С элементами порно

Кто не смеялся над историей о проге, которая вырубает комп, если набрать на клаве «порно»? Ну, я. Сам ещё во времена DOS написал резидентный аналог на Ассемблере. Только мой резидентик реагировал не на слово «порно», а на матерные слова, и машину не вырубал, а завешивал, выдав в видеораму яркую мессагу: «Матерщине — бой!».

Анекдот про «Застрахерьте меня» я знал намного раньше, чем затеял кодить эту прогу, поэтому с самого начала продумал проверку — что за символы вбиты раньше найденного матерного слова и после него. Это должны были быть пробелы, знаки препинания и что-то ещё из небуквенных символов. Поэтому резидент спокойно разрешал набор на клаве слов «застрахуйте», «оскорблять», «заколебал», а вот матерные слова иногда пропускал — но с малой вероятностью. Не на первом, так на втором-третьем слове матерщинник обнаруживал зависание компа с ярким транспарантом на экране и вынужден был жать Reset.

Поэтому про студента, не сообразившего насчёт опорно-двигательного аппарата, могу сказать только одно: ламер детектед. Для того чтобы накодить проверку, не часть ли другого слова это «порно», не нужен мощный AI с подгрузкой громадных словарей: набор предыдущих символов, выявляющих это «порно» как отдельное слово, невелик. Продумывайте условия срабатывания!