2014-05-31

О Нью-Йорке

В мае 2012, по служебной необходимости, был две недели в Нью-Йорке. Тогда я вел путевые заметки в Жуйке. Вот решил соединить их все в один текст.


А есть двагис Нью-Йорка?

/me летит в Нью-Йорк.

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

Очень многие голливудские штампы оказались правдой (по крайней мере, на вид).
Иудеи в шляпах и пейсах.
Толстые негритянки.
Негр в машине, с грохочущим рэпом, опустив стекло, положил руку на дверь. На руке — ну очень золотые (позолоченные?) часы.
Ночью по улицам ездят только велосипедисты и автобусы.
Где-то по соседству стучат в деревянные барабаны и дудят на трубе.

Та америка, что успел увидеть, сплошь двухэтажная или трехэтажная.
Двухэтажные — особнячки. С заборчиком. С крыльцом в полутора метрах от оживленной магистрали.
Трехэтажные — столетние «многоквартирные» дома. С тремя квартирами на подъезд. С деревянными лестницами и полами. Иногда внезапно с двухэтажными квартирами со входами на разных этажах.


Да. Самое большое впечатление от первого дня в Америке — двухчасовая очередь на таможню в JFK.
У них удалось организовать многотысячную толпу в смирную организованную очередь. С помощью столбиков с ленточками.
Сама таможня — пара минут :)

Внезапно оказалось, что переходов с одной платформы на платформу противоположного направления не существует. Пришлось выходить и переходить дорогу (благо, метрокарта безлимитная).
Но на другой стороне произошла другая неприятность. Метрокарта при прокатке радостно рисовала «just used» и не пускала. Пойманный индус сообщил, что раз карта поюзана, то нужно 10-15 минут подождать. Пришлось выйти и посидеть еще пять минут на лавочке возле квадратного парка им. Мэдисона.


Совершенно магическим образом умудрился посеять зарядку к планшету. Давал знакомому поискать дома аналог :(
А это чудо тайваньской техники категорически отказывается заряжаться от обычного USB, от зарядок айфона и от зарядок айпада.
Зайду сегодня вечером в J&R, гугль уверяет, что там зарядка есть. За $30.
Зато у меня появится вожделенный второй шнурок к этому Асусу.

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

В J&R закупился электроникой.
Продавец разговаривал с акцентом, подозрительно похожим на русский («три» говорил вообще по-русски). Постоянно переспрашивал, сколько нужно девайсов, не верил, что одну штуку.
Первая касса, которая предложила с кредитки расплатиться рублями. Но курс обмена мне не понравился.
Купленный Galaxy Nexus почему-то сзади содержит лого Docomo и некое предустановленное приложение на японском. Зато за $450.


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

Тут все очень доброжелательные. Местные говорят, что в Омске тоже все доброжелательные. В отличие от российского дефолт сити.
Тут, как и в дефолт сити, на Махэттэне носятся толпы сумасшедших людей. Но никто никого не толкает. А если случайно случится столкновение, тут же дико извиняются.
Личное пространство друг друга все берегут. Нигде и никогда невозможно, чтобы набиться как сосиски. Даже в час пик в сабвее можно спокойно стоять, а не дышать чьей-то подмышкой.
Можно поймать любого и спросить о чем угодно. Тебя не пошлют :) Правда, нужно выбирать тех, чей акцент ты понимаешь :)

Еда в Америке ужасная. Ну или непривычная.
Ни одной знакомой надписи, а названия блюд в ресторанчиках вообще выносят мозг. Ни в каком словаре таких слов не найдешь.
Даже Макдональдс оказался мааааленькой забегаловкой (впрочем, с большими желтыми гордыми буквами у входа), где не нашлось не только ни одного знакомого названия, но и ни одной знакомой картинки.
С одной стороны тут «беспокоятся о здоровье». Все обезжиренное. Натуральное мясо. Диетическая кока. Сахарозаменители. «Оздоровительные» чаи. Молоко 0% (sic!) жирности.
С другой стороны вредной жратвы — тонны. Кока кола, много кока колы. Чипсы. Чудовищных размеров сэндвичи. Булочки и пончики.
В результате на улицах довольно много толстопопых черных американских женщин и пузатых белых американских мужчин :)


Тут (в Бруклине, да и на Манхэттене) очень-очень старые дома. С 19 века или даже еще старее.
Деревянные лестницы и перекрытия. Не удивительно, что через каждые 20 метров стоит по гидранту.
И очень забавно в эти дома внедряются блага цивилизации. Провода просто проложены по стенам. Под потолком тянутся видимые всем трубы. Никто ничего не пытается запрятать, как в этих наших евроремонтах.
Так как розетки и вилки очень маленькие, из удлинителей сочиняются очень замысловатые гирлянды.
Куда они прячут кондиционеры — непонятно. Но они есть и постоянно работают.


Мусор выбрасывается отдельно.
Есть просто Trash, а есть Recycled. В последнее положено выкидывать пластик, стекло и металл. Иногда еще отдельно выделяют ведро для бумаги. А остальное — трэш.

Вайфаев — как говна. В каждом доме по несколько десятков точек.
Но все — за WPA.
А которые не за WPA — радостно показывают веб страничку, где нужно ввести логин да пароль. Часто это логин и пароль какого-нибудь местного оператора именно вайфая.

А Restroom, это не то, что вы подумали, а туалет.

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

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

Андроиды тут на удивление популярны. Всюду рекламируется и продается Galaxy Note. В J&R почему-то висят рекламы Asus Transformer, именно первого трансформера, не прайма.
Вероятности увидеть у человека в руках (на улице или в метро) яфон или «лопатку» андроида примерно одинаковы.

Сижу в Проспект-парке. Хорошо.
Все красивое и зеленое. Холмики, пикники, толпы школьников.
Почему-то тут в парках всегда особенный запах. Цветов и зелени.
Дубы, клены, ивы...


Выражение «down the street» имеет совершенно буквальное значение. Тут холмы и улицы идут вверх или вниз. Вниз — это именно в сторону уменьшения номеров домов.
Вниз по улице ездят на скейтах. Почти никаких усилий.

A roll of quarters — десять долларов четвертаками — это действительно такой ролл :)


В Бруклинской Публичной Библиотеке целых два ряда книжек на русском.

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

Класс. Гугль сказал, что точка доступа в библиотеке Бруклина находится в Тайване.

Бруклинский ботанический сад в мае прекрасен. Сакуры цветут. И розы.
Совсем не жалко десяти баксов за вход.
А в «отделе» native nature почти никого нет :)


Души тут устроены по-дурацки. Нельзя регулировать напор воды, только температуру. Хотя ручка выглядит такой же, как используется в правильных кранах.
И прикручены они к стене насмерть. Хотя иногда можно покрутить.
А в унитазах всегда стоит вода. Это они так устроены. Смываешь — вода уходит и заливается новая. Зато можно бумагу спускать.


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


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

Субботнее утро. Красота и свежесть. Птички поют...


Посетил Кони-айлэнд, до Брайтон-бич не добрался. Зато съездил на Рокувей-бич.
Впервые в жизни увидел океан. Зело впечатлен.
Он шумит. Он постоянно движется. Он холодный до чертиков.


The Imperial Court Hotel — полное говно по сравнению с Aloft. Номера меньше, кофе в номере не заваришь. Вайвай платный!
Но зато, блин, мидтаун. Центральный парк — в двух шагах.

Как бы я тут без гуглофона ориентировался и жил?

Оказалось, что быть одновременно и точкой доступа и самому подключаться к вайфаю девайс не умеет. Да, наверное, никто с одим вайфай чипом не умеет. А так хочется :)

Cyclone — это такие американские горки в луна-парке на кони-айленде. Им уже лет 60. Они наполовину деревянные. Но работают.
Мертвых петель там, конечно, нет. Но швыряет на поворотах и горках изрядно. Тележка изнутри обита довольно толстым слоем чего-то мягкого, обтянутого кожей. Иначе синяки бы остались :)
Проехался, понял, что я сильно стар для этого. На другие аттракционы не пошел.

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


Посетил Американский Музей Естественной Истории. Тот самый, который «Ночь в музее».
Ничего так. Хороший краеведческий музей. Скелеты, чучела и откопанное старьё.
После половины этого в натуре (в Бруклинском ботаническом саду и Нью-Йоркском Аквариуме) — даже не очень интересно.


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

Видел полицейского-регулировщика. Он стоял на перекрестке и повторял сигналы светофора только потому, что у светофора одна лампочка не горела.
Никаких полосатых палочек. Зато белая перчатка. (А вторая рука почему-то в кармане). Делает рукой вполне понятные жесты :)

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


Сегодня идет дождь. Вовремя я по пляжам погулял.
Дождь очень настойчивый и мокрый. Он даже до сабвея проникает — капает с потолка на рельсы.
А заказанные зонтики я еще не купил :(

Вход в музеи — платный. От $8 до $28.
Интересно то, что это recommended admission. Официально они плату не берут, это, типа, пожертвования.
Т.е. если ты прикинешься бедным, но любознательным, можно и за доллар пройти. Но, по крайней мере в музее естественной истории, придется простоять большущую очередь, чтобы выторговать снижение таксы у живого человека, а не бездушного автомата.
Впрочем, не пробовал...

С нумерациями этажей тут полная фигня.
Первый — это может быть первым в нашем смысле. А также он может обозначаться буквой G (Ground) или даже L (Lobby).
Бывают также 1 lower, 2 lower — это подземные этажи.
Еще видел этаж между первым и вторым. Но я был так шокирован, что забыл, какой буквой он был обозначен.

Погулял чуток по Центральному Парку. К сожалению, в дождь.
Хороший парк. Большой. Тропинки так виляют, что я дважды сбивался с направления.
Посмотрел на тамошнюю крепость. Приятно.
Надо будет повторить в более хорошую погоду.


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

Поставил гуглоземлю. Летать по Нью-Йорку — прелесно!

В Shake Shack невкусные гамбургеры, зато прикольная система заказов.
На кассе тебе вместе с чеком дают фиговину размером с сотовый телефон. На фиговине написано: «Если я затрясусь (shake) то пора забирать заказ». И действительно, если оно начинает вибрировать и мигать — пора забирать свой гамбургер.


Сам я до Брайтон-бич не добрался. Только видел бандюгов в сабвее, в перстнях и ролексах, которые по-русски говорили что-то про пистолеты, через слово вставляя маты.
А коллега добрался. Там продаются «аутентичные» орешки со сгущенкой, сушки, бородинский хлеб. Бабушки слушают макарену.
Складывается впечатление, что Брайтон — это такая Россия, но 20 лет назад. Не пойду туда.

Примерные цены на жилье.
Квартира в Бруклине — $130 в день.
Aloft (хотель, который снимают на ночь) — $400.
Хотель на Манхэттэне (ну в котором нас поселили, дешевый, тут все по-разному) — $200.

В переходах метро, в лифтах, в узких коридорах стоят выпуклые зеркала.
Спрашиваю: зачем? Говорят: чтобы можно было видеть, что за углом кто-то есть. Зачем? А вдруг этот кто-то хочет тебя ограбить.

Деловые переговоры. За переговорным столом едят пиццу и пьют колу. Одеваются как угодно. Строгие брюки и рубашка могут сопровождаться потрепанным рюкзачком совершенно легкомысленного вида.
Ну разве что в шортах никого не видел :) Хотя у себя дома (ну в том районе, где дом) все спокойно в шортах ходят (ну и в коротких платьях, естественно ;)

Ну и где тут джинсы продаются?

Bathroom — это то же самое, что restroom, только ванны там, как правило, нет.


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

В пенсильванском отеле (где проходила MongoNYC) в обслуге работают сплошь дедульки и бабульки старше самого отеля.

Badoo здесь рекламируется повсюду.

Видел сегодня в сабвее крысу. Маленькую.
А в офисе стоит крысоловка. Большая.

Прогулялся по Бруклинскому мосту. Красота. Лучший вид Манхэттэна — за пределами Манхэттэна :)
Посреди моста ко мне пристал в зюзю пьяный мужик в техасской шляпе. Просил подтвердить в сотовый телефон, что он находится на Бруклинском мосту. Я подтвердил.


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

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

В музеях категорически необходима внутренняя навигация и электрокары напрокат. Во всех музеях.
А то сижу тут в Метрополитане. Мало того, что устал как собака. Так еще и не уверен, что все картины европейских художников 19-20 веков просмотрел.


Столовка (по-местному — кафетерий) в подвале Метрополитана — классная. Почти такая же классная, как в офисе Нью Йорк Таймс. Только в музее — в два раза дороже.
Собственно, столовка — это самый верный способ не ошибиться в еде, как в разновидности блюд, так и в размере порций (салаты — на вес, а наложить туда можно любые любимые ингридиенты).

Напоминаю себе. How are you — это не вопрос. Это такое вежливое приветствие...

Сходил на «Людей в черном 3».
Оказывается, за две недели я неплохо прокачался в английском. Совершенно не понимал только шутки в исполнении Уилла Смитта.
Прикольно, конечно, сидеть в кинотеатре на Манхэттэне и видеть на экране, как пришельцы разрушают этот самый Манхэттэн. Ну или убивашки всякие происходят на каруселях на Кони-Айлэнде, где я неделю назад был :)

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


Завтра — домой, в Роиссю. День в Москве куковать :(

Черный таксист, что вез меня в JFK, хвастался, что знает целых шесть русских слов. Самое популярное (раз он людей в аэропорт возит) — «домой». Два — маты :)
Научил его «спасибо».
Кстати, черное такси (машина черная) можно только заказать, словить на улице нельзя.

Умиляют откидные полочки для пеленания... в мужских туалетах.

В JFK стоят специальные стоечки с розетками, типа девайсы зарядить. Это «Дельта» так пиарится.
Какая-то китайская дефка все два часа ожидания рейса трепалась со своего айфона со своим парнем (по видео), подрубившись к такой розетке.

Я думал, что в полете на восток будет очень короткая ночь. Но ночи не было. Совсем.
То ли ночи на высоте в 10 километров совсем не бывает, то ли просто через достаточно северные широты пролетали, чтобы наслаждаться полярным днем.

На вопрос местных, что ему нравится в Нью-Йорке, коллега ляпнул: «Нью-Джерси и белки». Местные обиделись.
Потому что Нью-Джерси — это совсем не Нью-Йорк.
А белок в НЙ — тьма тмущая. Их с крысами сравнивают. Так и говорят: «Это ж крыса, только с хвостом» :)


Ну что, Москва по стоимости еды и проезда уже догнала и перегнала Нью-Йорк.

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

Первый же день в Роиссе показал, что красивых девушек тут гораздо больше, чем в Америке.
Впрочем, это был вечер воскресенья в Горьком парке, видимо, все на променад вышли :)

До аэропорта можно добираться тремя способами (из гостиницы).
На сабвее. Дешево, но долго. Если более одной сумки — еще и утомительно.
На такси. Можно словить желтый кэб, можно заказать черный кэб (через интернет или по телефону). За заказ еще доллар берут. Такса у такси до JFK плоская — $45 + чаевые. Быстро и весело. Но дорого.
На шатле. Это такая маршрутка, которая собирает туристов по гостиницам и везет в аэропорт. За $22. Тут главная тонкость — сообщить о том, когда тебе ехать на лобби гостиницы за день. Я вот профукал свое счастье, а мой коллега оказался более организованным :)


Нашел горсть червертаков. Завалялись после поездки. У них, оказывается, реверсы все разные. С названиями штатов.

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

Фоточки.

2014-05-25

О Creative Commons

Продолжим о лицензиях. Сегодня — про Creative Commons.


Один профессор права (юрист, то бишь) Стэнфордского университета по имени Лоуренс Лессиг как-то задумался, а почему это программистам так повезло, что у них есть GPL, а другим творческим профессиям (писателям. художникам, музыкантам) требуется по-прежнему возиться с авторскими правами, заключая персональные соглашения с издателями и другими желающими воспользоваться результатами их труда. Сам господин Лессиг придерживается весьма прогрессивного взгляда на авторские права, о чем даже написал весьма поучительную книгу «Свободная культура». И в 2001 году Лоуренс Лессиг создает Creative Commons.

С одной стороны Creative Commons — это некоммерческая организация, которая занимается вопросами авторского права и лицензирования по всему миру. С другой стороны Creative Commons — это набор лицензий, созданных и поддерживаемых этой организацией.


Лицензии Creative Commons просты, понятны и легки в использовании. У каждой лицензии есть как краткая понятная версия, которая человеческим языком говорит, что данная лицензия разрешает, а что запрещает, так и полная версия, написанная юридическим языком. Полная версия, собственно, и является официальным текстом лицензии (никогда её не читал :).

Любой автор может для своего произведения выбрать наиболее подходящую лицензию и передать часть прав на использование произведения сообществу. Поэтому используют фразу "some rights reserved" («некоторые права защищены»), в отличие от "all rights reserved" («все права защищены»). Подобные лицензии очень полезны для произведений, размещаемых в Интернете, ибо круг потенциальных пользователей в этом случае неограничен, а Creative Commons позволяет легко и просто указать этим самым пользователям пожелания автора по поводу использования произведения.


Лицензии Creative Commons составляются из «кирпичиков». Автор выбирает лицензию, подбирая несколько параметров. Для каждого кирпичика (ну и для лицензии) есть красивая иконка.

Самый свободный вариант — Public Domain. Creative Commons «формализовали» передачу произведения в общественное достояние, т.е. описали, что нужно указать, чтобы проделать это. Назвается эта «лицензия» — CC0 (Creative Commons "No Rights Reserved").


Первый (и обязательный) кирпичик для остальных лицензий — Attribution (BY). Его использование означает, что при любом использовании произведения должно быть указано имя оригинального автора. Лицензия, состоящая только из этого кирпичика обозначается CC BY (Creative Commons Attribution) и по своей сути аналогична либеральным лицензиям на ПО типа BSD.


Второй часто встречающийся кирпичик — Share-Alike (SA). Этим мы добавляем вирусность (или копилефтность) к лицензии. Дальнейнее распространение авторского произведения или его производных разрешается только под SA лицензией или совместимой с ней. (Собственно, список совместимости пуст, а значит SA требует, чтобы произведение осталось под Creative Commons). Лицензия из двух кирпичиков CC BY-SA (Attribution Share-Alike) по сути аналогична GPL.


Следующий кирпичик — NoDerivatives (ND). Он запрещает модификацию исходного произведения. Получается несвободная лицензия. Разрешается распространение только оригинального произведения. Простейшая лицензия с этим кирпичиком — CC BY-ND (Attribution-NoDerivatives).


Последний кирпичик — NonCommercial (NC). Запрещает коммерческое использование произведения. (Почему-то раньше всякие шаровары любили запрещать коммерческое использование). Получается тоже несвободная лицензия. Простейшая лицензия с этим кирпичиком — CC BY-NC (Attribution-NonCommercial).

Есть и более составные лицензии: CC BY-NC-SA (Attribution-NonCommercial-ShareAlike) и CC BY-NC-ND (Attribution-NonCommercial-NoDerivs). Догадайтесь сами, что они означают.

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

Как воспользоваться? Ну, например, посмотрите в самый низ страницы этого блога. Там написано "licensed under a Creative Commons Attribution-ShareAlike 3.0 License". Вот так вот просто.


Рекомендую использовать CC BY-SA, как свободную и вирусную. В приступе альтруизма можно освободить еще и до CC BY.

Программистам стоит продолжать пользоваться GPL, ибо она более специфична и более подходит для программных продуктов. Однако, контент (скажем, в играх, где он явно отделен от кода), можно (и нужно) лицензировать под Creative Commons.

2014-05-17

О лицензиях

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



Что вообще можно сделать с ПО и причем тут лицензии? По Ричарду Столлману делать мы можем вот что:
  • Запускать программу. Применительно к библиотеке, пожалуй, прилинковывать её к своему проекту. Ни одна лицензия ничего тут не запрещает, ибо именно для этого ПО и приобретается.
  • Модифицировать программу для своих нужд. Только для своих, тут не идет речь о распространении. Понятное дело, тут лучше бы иметь исходники.
  • Распространять копии программы. Оригинальные копии в том виде, в каком мы их получили.
  • Распространять и публиковать изменения и улучшательства, которые мы внесли в программу. На пользу сообщества. С предоставлением исходников.
Лицензия — это ваше (как пользователя) соглашение с автором (или распространителем) программы, где как раз и описывается, что вам можно делать, а чего нельзя.


ПО бывает проприетарным. Т.е. достается вам за деньги и под какой-то специфической лицензией. Часто эту лицензию называют EULA, потому что вы — конечный пользователь ПО. Соответственно, со всякими поставщиками (OEM) и продавцами заключается другое соглашение.

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

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


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


Более формальными, но почти такими же свободными являются лицензии «семейства BSD». Это BSD, MIT, Apache License и множество других. Вы можете пользоваться ПО под этими лицензиями, получать исходники, модифицировать, сколько душе угодно, распространять как оригинальную версию, так и модифицированную вами (при этом распространять можно под другой лицензией). Все можно. Только укажите имя оригинального автора и оригинальную лицензию (т.е. на каких условиях вы получили это ПО). Собственно, эти лицензии и возникли как жест доброй воли таких организаций, как Беркли, Масcачусетский Технологический или Apache Software Foundation.

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


ПО под свободными либеральными лицензиями, перечисленными выше, может быть «украдено». Можно взять удачный проект, переделать его под себя и начать продавать за бешенные деньги. Ни первоначальным авторам (в виде денег), ни сообществу (в виде исходников внесенных изменений) ничего не достанется. Например, широко распространенная проприетарная Mac OS X выросла из ядра Mach — ответвления BSD. И теперь коммерческий успех одной яблочной компании во многом основан на трудах нескольких университетов.

Чтобы бороться с любителями все закрыть и запроприетарить их же собственным оружием — законодательством об авторском праве, Ричардом Столлманом была создана лицензия GPL. Так как юридическая суть лицензии основана на авторском праве (copyright), но цель лицензии — совсем наоборот, не закрыть, а гарантировать открытость, её называют copyleft (левое право, отличная игра слов). Еще эту лицензию называют вирусной, потому что соприкасаясь (будучи прилинкованной) с другим софтом, она обязывает, чтобы этот другой софт тоже был под GPL.


Вирусность GPL различается для разных её версий. Под LGPL (Lesser GPL) выпускают библиотеки, чтобы их можно было использовать в проприетарном ПО. Вирусность тут ниже. Под AGPL (Affero GPL, Affero — это название компании, которая первой применила такую модификацию лицензии) выпускают серверное ПО, и все правила лицензии распространяются не только на прямых пользователей серверов (админов и программистов), но и на сетевых (конечных) пользователей этого сервиса. Вирусность тут выше.

Если вы пишете проприетарное ПО, то GPL библиотеки могут доставить хлопот. Собственно, GPL библиотека требует, чтобы все ваше ПО было тоже под GPL. А вот с LGPL дело иметь можно. Вам нужно распространять библиотеку тоже под LGPL, пусть и в составе вашего проприетарного продукта. А вот если вы внесли изменения в LGPL библиотеку, то вам придется опубликовать эти изменения тоже под LGPL, как полагается, предоставляя исходные тексты без дополнительной платы.

Если вы пишете свободный проект, то вам придется заморочиться совместимостью (свободных) лицензий. В GPL проекте вы точно не сможете использовать проприетарные библиотеки (даже если они бесплатные). (Я, например, так обломался с Flurry в своем GPL проекте под Android). Зато можно использовать GPL и LGPL библиотеки, а также библиотеки из списка совместимых лицензий.

Свобода ПО не связана с деньгами (эта путаница происходит из английского, где free — это и свободный, и бесплатный). Можно бесплатно распространять проприетарное ПО (то самое freeware, которым полны сейчас магазины мобильных приложений). А можно делать деньги на продаже GPL софта (и поддержке). Под свободой ПО подразумевается свобода создания и распространения идей и их реализаций, а не свобода получения денег.

Еще очень очень любят путать и подменять понятия свободного (free) и открытого (open, open source) ПО. Свободное ПО — это такое ПО, которое предоставляет вам все те свободы, упомянутые в начале статьи. Пользуйтесь, модифицируйте и распространяйте. А открытые исходники — это нечто другое. Без открытых исходников, конечно, не получится свободы. Но можно ведь открыть исходники, а свободы (их использовать) не дать, как и поступают некоторые корпорации.


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

Кстати, в РФ законы не предусматривают отчуждения (части) авторских прав публичными договорами вроде свободных лицензий на ПО. Это значит, что пользоваться-то вы можете, а вот модифицировать и распространять дальше (за деньги, получая прибыль) без явного разрешения автора — уже вряд ли.


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

Торговые марки, они как патенты, тоже к лицензиям малоотносительны. Например, один популярный браузер распространяется под либеральной лицензией MPL. Но вот название Mozilla™ Firefox™, а также лого с лисичкой — торговые марки Mozilla Foundation. В результате, скажем, в Debian вы не найдете Firefox, но увидите Iceweasel (не огненная лиса, зато ледяная ласка) — то же самое, но под другим названием и логотипом. Кстати, Linux™ и пингвин Tux™ принадлежат лично Линусу Торвальдсу.

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


З.Ы. В следующий раз надо рассказать про Creative Commons.

2014-05-12

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

В чудесном и веселом руководстве по ØMQ внезапно наткнулся на главу, посвященную сообществу разработчиков ØMQ. Глава посвящена описанию процесса разработки, которому дали название C4 — Collective Code Construction Contract (да, почти как врывчатка). Автор — Питер Хинтженс (Pieter Hintjens) — тот самый основатель и CEO iMatix, один из создателей протокола AMQP, который отказался от своего детища в пользу ØMQ.


В извечном выборе между GPL и BSD (под последним понимаются все не вирусные свободные лицензии вроде MIT или Apache) Питер однозначно требует GPL (в любой форме: GPL, LGPL или AGPL). Не только потому, что BSD лицензия как бы сообщает: «Укради меня» (Как вы знаете, код под этой лицензией можно спокойно форкнуть, изменить, адаптировать и т.д. и т.п. и перевыпустить результат под совершено другой лицензией, включая проприетарные), но и потому, что GPL код обладает одним чудесным свойством. Любой форк GPL кода может быть вмержен (с точки зрения лицензии) обратно в родительский проект. А вот BSD код может быть не только спрятан под проприетарной лицензией, но даже его свободный форк (например, под GPL), будет уже несовместим с родителем. Это (вирусное) свойство GPL жизненно необходимо для формирования большого сообщества вокруг свободного проекта.


Собственно, формирование сообщества, создание продукта сообществом, увеличение размера этого сообщества и является основной целью C4. Нет никакого первоначального Автора, нет никакой Компании, которая стоит за продуктом (они конечно есть, но они лишь запускают процесс создания сообщества). Есть Сообщество. Удивительно, но это ведь именно та столманновая свобода.

Код принадлежит Сообществу исключительно на правах GPL. Нет никакой процедуры передачи (авторских) прав первоначальным Авторам. Меня как-то раз тормознула и ошарашила эта процедура, когда я пытался сделать пул реквест в OTRS. Я честно думал, что GPL достаточно, чтобы пытаться коммитить в код.

В C4 определены только две роли: Мейнтейнер и Контрибутор. Контрибутор создает патчи и формирует пул реквесты. Мейнтейнер имеет права на коммит в официальный репозиторий проекта, ревьюит и мержит пул реквесты. Естественно, если какому-то контрибутору не понравятся действия какого-то Мейнтейнера, он форкнет репозиторий и станет сам Мейнтейнером. Это нормальная жизнь сообщества. Ну а для пущей справедливости любому Контрибьютору предлагается стать Мейнтейнером как только будет принят его первый патч.


Собственно, C4, это развитие (я бы сказал, апофеоз) GitHub flow. Питер категорически не рекомендует пользоваться ветками. В официальном репозитории веток нет. Есть только мастер, и притом весьма стабильный мастер. Фичи, багофиксы, любые изменения кода пилятся в форках, а затем вливаются в мастер официального репозитория через пул реквесты. Там, в форках, можно делать ветки сколько угодно, в официальном репозитории — не надо. Ветки плохи, потому что с ними сложно работать, сложно даже прийти к соглашению о том, как с ними работать. Нельзя ограничить права доступа по веткам, а значит, легко закоммитить изменения не в ту ветку. В общем, ветки — не нужны.

Да, релизы — это такие же форки, только для стабилизации.

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


В C4 используется встроенный трекер Гитхаба. И исключительно для трекания пул реквестов. Не используется тип тикета: баг или фича. Любая работа — это работа, которая сейчас делается. Нет роадмапа, нет планов, нет хотелок на будущее. Есть только текущие дела, которые завершаются пул реквестом, который будет принят или будет отвергнут. Или будет принят, а потом будет откатан назад другим пул реквестом.

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

Вот такая вот свобода в лучшем, имхо, виде. И чертовски четко и кратко формализована. И, ведь, работает, как минимум на примере ØMQ и связаных с ним проектов.


З.Ы. А следующая глава руководства весьма неплохо описывает процесс построения архитектуры (на основе ØMQ, конечно).

2014-05-04

О Graphite

Graphite — это мой любимый, на текущий момент, инструмент для мониторинга. Когда-то давно я писал подобную штуку самостоятельно, со сбором счетчиков интерфейсов свичей по SNMP на Perl, сбором и аггрегацией данных в Firebird, рисованием красивых графиков на PHP. Потом немного баловался с RRDTool. Имел дело с Munin. (С Ganglia дела не имел).


Велосипеды, это, конечно, хорошо. Но вот как раз систем сбора, анализа и визуализации так называемых time series, сейчас навалом. Есть даже монстры, работающие поверх HBase, — OpenTSDB. Так что велосипедить нет никакого смысла.

RRD (Round Robin Database) — это лишь система хранения и визуализации, лишь часть полноценного мониторинга. Тем не менее, RRD часто используется как бэкенд в этих самых системах мониторинга. Подтверждаю, хранить это дело в реляционных БД — весьма хлопотно, а RRD — вещь. Однако Graphite изобрел свой собственный движок хранения time series — Whisper. Он очень похож на RRD, но полностью написан на Python и позволяет сохранять нерегулярные апдейты. Как и в RRD, отчеты хранятся и аггрегируются в файлах фиксированного размера. Точность хранения (временной интервал между отчетами) и время (количество отчетов) задается при создании файла. В Graphite это настраивается в файле storage-schemas.conf.


В отличие от Munin, у Graphite — внятная, понятная и человеческая архитектура. Ну и написан он полностью на православном Python. Есть демон Carbon. Он слушает TCP сокет, имеет кэш данных и сохраняет данные в Whisper файлы. В него надо слать данные. Есть веб-морда (на Django), которая запрашивает данные у Carbon и рисует красивые графики.


В общем, нет никакой необходимости в специальных агентах для сбора и отправки данных. Нужно просто придумать хорошее уникальное имя для ваших данных (путь от общего к частному, включая имена хостов, разделенный точками), для каждой метрики. И слать данные вместе с таймстампом через TCP соединение. Из любого вашего любимого языка, который умеет TCP, слать что-то вроде:
 unique.prefix.host.metric0 12345 1399137594  
 unique.prefix.host.metric1 67890 1399137594  

Набор данных, периодичность и точность полностью задаются клиентом. Хотя точность и длительность хранения определяется настройками Whisper, как было сказано ранее.

Однако, и тут нет нужды велосипедить, ибо есть Diamond (да, тоже аллотроп углерода). Это мощнейший демон по сбору всякоразной информации о локалхосте и отсылки данных в Graphite, statsd и прочие демоны сбора. У него куча разных плугинов и собирать он может все, что угодно. Он тоже написан на православном Python, а значит, очень легко расширяем. Например, добавив лишь один метод к src/collectors/postgres.py можно мониторить что-нибудь хитрое в PostgreSQL.



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


Вообще-то, дефолтная веб мордочка у Graphite — довольно страшненькая и весьма интуитивно непонятная. Но есть альтернативы. Попробуем Grafana. Технически это JS приложение, работающее в браузере. Для получения данных оно использует то же Django приложение Graphite, только нужно разрешить яваскрипту доступ к другому домену (это называется CORS). Вот только для сохранения настроенных графиков и дашбоардов Grafana зачем-то использует Elasticsearch, а не какой-нибудь простой PostgreSQL. Ну а красота — вполне различима.


Если кого интересует масштабируемость, то такое тоже возможно. Данные от клиентов могут быть распределены по нескольким Carbon серверам, а веб приложение может запрашивать графики с нескольких бэкендов.

З.Ы. Есть хорошая инструкция, как это все быстро настроить под Ubuntu. (Впрочем, релиз Graphite, работающий в Django 1.6, еще не вышел, хотя исправления в репозитории уже есть).