2015-07-27

Об Ulcamp 2015

Это был уже аж пятый Ulcamp. Ну а для меня — первый. Если так пойдет и дальше, то и последний.
Для тех, кто совсем не в курсе. Улькамп — это такая айтишная конференция в окрестностях Ульяновска. Ульяновск — это бывший Симбирск, город, в котором родился Владимир Ильич Ленин. Ульяновск славен в айтишных сибириях мощным рубишным сообществом. На деле оказалось, что тут еще и очень сильно повышенная концентрация ерлангистов.
Ulcamp Logo
Так как Ульяновск находится на Волге, которая река, и которая впадает в Каспийское море, то конференция носит нестандартный пляжный формат. Песок, Волга, солнце, сосны, титьки (об этом позднее), палатки, выпивка, дискотека. Ах да, какие-то унылые доклады на главной «сцене» и куча баркемпов, то бишь докладов, возникающих стихийно и вписываемых в расписание самими участниками по ходу дела. Впрочем, на пути обратно выяснилось, что отдыхать летом на природе любят не только ульяновские айтишники.
Шестеро омичей решили временно покинуть Омск и, пропутешествовав через пол-России туда-обратно на поезде, таки гульнуть в Поволжье. По пути к ним присоединились другие омичи, которые предпочли самолет поезду ради экономии рабочих дней. И даже один москвич даже затесался.
7bits
Казахстан. Поезд из Омска ВНЕЗАПНО идет через территорию Казахстана. Ну понятно, когда Транссиб прокладывали, на границы союзных республик не смотрели. Вот только хождение по поезду, пока едем между Исилькулем и, господи, где ж там другой конец границы, Петухово, наверное, строго запрещено. Периодически проходят по вагону, заглядывают и пересчитывают погранцы разных национальностей.
Из достопримечательностей Казахстана: ходящие по поезду торгаши, торгующие местным шоколадом, коньяком и мелкой электроникой. Им, почему-то, по поезду перемещаться было можно.
Курган. Унылый городишко. Самое высокое строение, наблюдаемое из поезда, — водонапорная башня. Зато на перроне вокзала стоит чучело настоящего паровоза.
Паровоз в Кургане
Челябинск. Местного метеорита не видели. Видели местные синие пирамиды, что торчат возле вокзала. Паровоз на перроне есть, но даже не чучело, а так — плюшевая игрушка.
Челябинские синие пирамиды
Потом начались Уральские горы. Днем ехать через них весьма интересно. Озера. Крутые повороты, где видно хвост поезда. Склоны, затянутые сеткой, чтобы не осыпались. Вершинки и впадины.
Уфа. Город трех шурупов. Тут мы на пути и туда и обратно задержались на несколько часов. Пересадка. Река Белая, она же Агидель. Башкирия. Длиннющий и крутой подъем от вокзала. Милый парк имени Якутова, аж с маленькой «пионерской» железной дорогой. Отличное кафе «Бакшиш» с национальным колоритом, недогорой вкусной едой, и даже, зачем-то, танцами живота.
Ульяновск. Странный очень зеленый город. Императорский и Президентский четырехкилометровые мосты через Волгу. Заволжский район города гораздо более отделен, чем омский левый берег. Никто не ездит на уазиках. «Лента», такая же, как везде. Потрясающий офигенный вид из на удивление дешевого бара «Олимп» с совершенно совковым обслуживанием на верхушке совершенно совковой на вид гостиницы «Венец», самого высокого здания в самой высокой точке города. Милейший парк Дружбы народов с чудесным видом на Волгу. Пустынный ночной бар «Штольц» в пятизвездочной гостинице со своим александровским парком.
Ульяновск
«Симбирская гавань». Местечко на левом берегу Волги, где, собственно, и состоялся Ulcamp. Этот берег довольно обрывист, метров пятнадцать обрывы высотой. Но время от времени к Волге выходят овраги, куда она наносит кучу мелкого песочка. Вот в таких овражках и прячутся местные базы отдыха. Широченная полоса песка, выходящая к Волге. Домики для VIP персон и местной администрации. Небольшой причал с пришвартованной яхтой имениТатьяныча. Палатки. Наверх, на обрыв, над самой Волгой. Ни одного комара. Вообще.
Симбирская гавань
Доклады и докладчики главной сцены были изучены заранее и особого энтузиазма не вызывали. Чего-то ждали от местного эротичного стартапа TittyGram. И действительно, на всех углах, столбах, стволах и сортирах висели QR коды. По ним открывались титиграмки, которые полагалось коллекционировать. Тот, кто не поленился и собрал все коды, становился мэром TittyСity. Впрочем, за это лишь давали бесплатное пиво.
А кто-то упарывался от Олега Брагинского. Кто такой, не знаю. С блокнотом, чтобы все записывать, не хожу. Но, пожалуй, одобряю.
Пришлось брать инициативу на себя. И тихо и незаметно заполнить своими баркемпами добрую половину программы. Про магические способы делать MVP через FFF, про магические библиотеки, которые в этом очень могут помочь, про обучение падаванов, про тестирование баз данных. Надеюсь, нас заметили и запомнили. И, может, кто-то приедет в декабре на HappyDev.
Другие баркемпы как-то даже не отложились в памяти. Кто-то рассказывал историю ИскИна. Зачем, если Википедию каждый может прочитать? Самарские линуксоиды жаловались на жизнь. Своей неотмирасегошностью они живо напомнили омских линуксоидов. Уныло.
Нейронная сеть
А развлечения порадовали. Волейбол. Футбол. Пляжные. Перетягивание каната. Стрельба из луков, арбалетов и даже настоящих двухметровых японских луков. Отличная дискотека. В Ульяновске имеются в наличии замечательные музыканты. В пятницу вечером — группа «Громов». В субботу вечером — квартет «Вивальди» и потрясающие «69b». Ну и вечер с субботы на воскресенье сделал Ягермейстер. Его выдули весь, во всех доступных барах. И поздним воскресным утром нежно вспоминали.
Японский лук
Группа 69b
Достигнуты ачивки:
  • Побывать в Уфе
  • Побывать в Ульяновске
  • Увидеть дом, где родился Ленин
  • Искупаться в Волге
  • Во второй и третий раз переночевать в палатке
  • Несколько раз устать от хождения по холмам/горам/обрывам вверх-вниз
  • Ознакомится с музыкальной культурой Поволжья

2015-07-11

О несвободном свободном

Я всегда верил в GPL. Ну не совсем всегда. Был темный момент моего программистского прошлого, когда я просто не знал про существование свободных лицензий. И придумывал свою белиберду, в духе WTFPL.

I support free software

Осознание того, что выбросы моего программисткого творчества я ни в коем разе сопровождать пожизненно не смогу, пришло довольно рано. Ну и захотелось сделать так, чтобы кто-нибудь с Альфы Центавра, если заинтересуется моим кодом, мог бы им без проблем воспользоваться.
Сначала хотелось простоты. И всякие MIT и BSD казались хорошим выбором. Но хотелось сделать мир лучше не только своим кодом, но и участием в заговоре.
Ведь батька Столлман организовал именно заговор. Чтобы сделать любое программное обеспечение свободно доступным для всех. Если бы накопилась достаточная масса качественного софта под GPL, безо всяких поблажек вроде LGPL, то гнусные проприетарщики и софт под другими лицензиями вынуждены были бы перейти на GPL. Все.
Это хорошо. Наступило бы светлое коммунистическое будущее, где любая идея, алгоритм и т.п., воплощенные в программном продукте, становились бы достоянием всего Человечества. И свободные и счастливые энтузиасты доводили бы, на добровольных началах, софт до совершенства. Или наступило бы светлое капиталистическое будущее, где любая идея, алгоритм и т.п., воплощенные в программном продукте, становились бы одинаково доступны всем конкурентам. И, в борьбе за бабло, конкуренты бы совершенствовали софт и предлагаемые услуги.
Ради более полного воплощения этого заговора были даже исправлены баги в самой популярной и почти совершенной GPLv2. Сначала оказалось, что GPLv2 никак не защищает пользователей от патентов, DRM и тивоизации. Хитрые производители, чаще железа, умудрились обхитрить GPL, лишив пользователей и покупателей своих продуктов некоторых прав. Права использовать заложенные в коде патенты, права ломать то, что ломается, и права перепрошивать то, что перепрошивается. Залатали эти баги в GPLv3.
Потом оказалось, что интернеты. И хитрые поставщики веб сервисов не дают пользователям этих сервисов, которые пользуют эти сервисы через Сеть, тех же прав, что админам, которые пользуют этот софт непосредственно. Эти веб сервисы, получается, могут брать GPL софт, модифицировать его и никому не давать изменения. Кроме админов. Чтобы исправить эту несправедливось выпустили AGPL, ныне тоже v3.
Получается, что лицензия на ПО уже заползла на территорию патентов, способов распространения железа и особенностей использования ПО конечными пользователями. (Впрочем, GPL как раз не разделяет пользоваетей на конечных и бесконечных.) Но остаются еще авторские права. Их GPL пока не трогает. Кто код написал, тот и автор. Но не всегда. И в этом — еще один баг.

Gnu Linux

Я, начитавшись восторженных комсомольских книжек, вроде «Just for fun» или главу про сообщество ZeroMQ в их официальном руководстве, считал, что, если софт под GPL, то любой желающий, буде он способен оформить грамотный пулреквест на Гихтабе, сможет стать соавтором крутого свободного продукта. Оказалось, не так.
Ковырял и пилил я как-то внутренности OTRS. Нормальная такая бородатая система для организации работы техподдержки. На Perl написана. Нужно было сделать так, чтобы тикеты можно было создавать из внешней программы. В OTRS было для этого некоторое API, которое работало по протоколу, гордо именуемому SOAP. На деле же это был какой-то XML, очень похожий на конверты SOAP, пересылаемый по HTTP.
Я добавил пару-тройку новых вызовов, для своих нужд. И не собирался эти изменения куда-то распространять. Но парочка исправлений: приведение SOAP чуть более к стандарту и небольшое улучшение в создании тикетов, оказались довольно общими, и я решил их запулреквестить. Красивенько форкнулся, смержился, оформил изменения и заслал пулреквест.
И получил в ответ ответ. Мол так и так, хочешь быть контрибутором, будь им. Но сначала подпиши эту бумажку, отсканируй и пришли нам. Суть бумажки заключалась в том, что все права на те десять строк, что я поменял в коде OTRS, я передаю компании, которая стоит за разработкой OTRS. Впрочем, один пулреквест, где очевиднейшим образом изменялась ровно одна строчка, приняли.
Я так расстроился тем, что мое видение идеального свободного мира внезапно рухнуло, что даже не нашел сканера, чтобы бумажку за моей подписью отсканировать и отослать. Так и валяется где-то. И второй пулреквест не принят.
Многие, слишком многие компании, гордо прикрывающиеся словами «оперсорц», «FOSS» и т.п. стараются оставить (авторские) права за собой. (Не очень понятно, работает ли это в РФ.) И их понять можно. Полное владение правами на каждую строчку кода одним (юридическим) лицом дает возможность осуществлять двойное лицензирование. Для красоты, пиара, привлечения халявных разработчиков и потенциальных будущих клиентов — пожалуйста, GPL. Для денег, настоящих серьезных клиентов, платных хитрых фич — проприетарная лицензия.
Конечно, можно взять GPL версию и форкнуть. Но форк — это форк. Тут начинается маркетинговая война. Чем, ничем не отличающийся от оригинального, продукт лучше? Впрочем, есть в истории и случаи форков, которые выжили. Продукты, которые купил Oracle, были форкнуты и живут своей счастливой жизнью. Например, Jenkins — форк Hudson, LibreOffice — форк OpenOffice, MariaDB — форк MySQL. Интересно, стоящие за форками организации тоже блюдут свои права?
Linux (и ZeroMQ?) — не такой. Хоть все и начиналось с одного человека, но все росло сообществом. Нет такого физического или юридического лица, которому принадлежал бы весь код. И двойное лицензирование или перелицензирование теперь невозможно. Ибо невозможно так просто добиться согласия всех авторов. И форки не нужны :) По мне, так это как-то ближе к свободе.