April 17th, 2014

Бритоголовый и С1-97

Про слово “семафор”

Подведены, но еще не опубликованы итоги “Тотального диктанта”. Организаторы комментируют допущенные участниками орфографические ошибки:

«Чаще всего участниками допускались ошибки в словах: «гармошка», «перрон», «семафор», «палисадник» и «расхристанный». Эти ошибки связаны не столько с незнанием правил русского языка, сколько с реалиями, в которых они употребляются. Например, сейчас немного изменилась культура и формат путешествий, и если слово «семафор» постепенно уходит из речи, то и из письма тоже», – объясняет ситуацию Наталья Кошкарёва, председатель экспертной комиссии Тотального диктанта.

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

Интересно, когда железнодорожный семафор настолько превратится в музейную редкость, что юные программисты будут воспринимать это слово примерно так же, как какой-нибудь “мьютекс”, без привязки к “прототипу”?

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Еще раз про GNU GPL

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

Например, довольно легко понять, что Кремниевая долина в Калифорнии превратилась в олицетворение передовых технологий вовсе не из-за названия, и не из-за хорошего климата, и даже не только из-за находящегося поблизости кампуса Стенфордского Университета, а, как это не странно, по гораздо более прозаическим причинам. Просто в районе Санта-Клары находилось несколько “исследовательских” структур сначала ВМС США, а затем и NASA – и “высокотехнологические инкубаторы” поначалу занимались производством всяких ништяков для американских военных и околовоенных структур.

В сущности, Кремниевая Долина – такой же “продукт” Холодной войны, как операционная система Unix, Интернет и спутниковая навигация. Все эти штуки обязаны своим рождением если не военным (в лице DARPA), то “оборонным” компаниям – а к “оборонке” что в Штатах, что у нас, можно отнести почти все “высокие технологии”. Это только потом, когда “высокие технологии” превратились в обыденность, а Холодная война закончилась, стало можно заниматься всякими “доткомами” – но не раньше.

Про Unix я вспомнил не зря – потому что с этой операционной системой связана определенная “культура” в программировании и околопрограммистских вопросах. Например, само представление об open source и традиции лицензирования программного обеспечения возникли потому, что Unix с самого начала рассматривался не как коммерческий, а как исследовательский – читай “финансируемый DARPA” – проект. Довольно неожиданным для “советского” человека оказывается то, что “оборонными” разработками в области зарождавшейся тогда Computer Science в США занимались “гражданские” исследователи, да еще и не “секретили” свои разработки – но факт остается фактом, DARPA щедро выделяла деньги в виде исследовательских грантов.

Наследие “исследовательских” традиций и “научной этики”, пришедшей из американских университетов, в мире Unix – это культура open source. Написал полезную программу, реализовал оригинальный алгоритм, разработал протокол обмена данными – поделись с коллегами. Но что характерно – это “исследовательская этика” не ограничивала возможное в будущем коммерческое использование. Собственно, наиболее ярко ее иллюстрируют те лицензии, под которыми распространялось ПО, разработанное в рамках исследовательских программ – так называемые лицензии BSD и MIT.

Нынешний open source отравлен движением Free Software Foundation под руководством сомнительного чувака Ричарда Столлмана и придуманной в рамках этого движения лицензией GNU GPL. Я уже обращал внимание на две проблемы ПО, использующего эту лицензию, которые вытекают из ее “вирусной природы” – оно с трудом “стыкуется” с ПО под “коммерческими” лицензиями, а просто поглядев на лицензированный под GPL код, разработчик сталкивается с тем, что все, что он напишет впоследствии, может оказаться “производным произведением”.

Немного поясню последнее утверждение. В Штатах уже был прецедент (я могу путаться в деталях, буду благодарен за уточнения и пруфлинки), когда человек ушел из Microsoft в организацию, занимавшуюся разработкой чего-то GNUтого, на его беду – прямого конкурента того продукта, над которым он работал в Microsoft. Последние, не будь дураками, подали в суд, утверждая, что тот видел майкрософтский код и теперь “перерабатывает” его в смысле законодательства об авторских правах. Американский суд с этими доводами согласился. Но замените здесь Microsoft на Free Software Foundation в “зеркальной” ситуации и получите совершенно мерзкую ситуацию. GNU GPL – это, по выражению Столлмана, “хак законодательства” – способ использовать всю силу закона против тех, кто делает что-то, не нравящееся Free Software Foundation. “Свободы” в ней не больше, чем в “обычном” EULA любого софтопроизводителя.

Но об этих ограничениях и несуразностях GNU General Public License мало кто задумывается – а зря. Как отмечают в статье, на которую я сослался в своей старой записи, многие авторы лицензированного под GPL кода попросту не понимают условий лицензии, ограничиваясь плохими ее пересказами. Как реагирует неискушенный автор на слово “Free” в “Free Software Foundation”? “Замечательно! Я же хотел поделиться своим кодом со всеми!” – думает он и попадает в страшную ловушку. После этого его код может быть полезен лишь авторам проектов с той же лицензией. Но об этом люди просто не подозревают, после чего рождаются вот такие перлы:

This program is written under GNU General Public License in C programming language. PLEASE NOTE THAT THIS PROGRAM VERSION DOES NOT HANDLE POTENTIALLY OCCURRING INTERRUPTIONS OF COMMUNICATION OR NETWORK CONGESTION SITUATIONS. It may stimulate those intending to write their own client program.

Самое ужасное здесь то, что эта программа – не что иное, как эталонная реализация клиента некоего сетевого протокола, и здесь “вирусная природа” GPL просто вынуждает идти на нарушение GPL. Представьте, что под GPL был бы лицензирован код наподобие такого:


int main(){
return 0;
}

Нетрудно догадаться, что после этого любая программа на C, C++ и куче других языков может быть признана “производным произведением”? Если кто-то увидел бы этот код с припиской “лицензировано под GPL”, то он мог бы забыть о работе программистом и идти в дворники (особо впечатлившиеся могут сейчас пойти помыть глаза с мылом). Аналогично и в этом случае – протокол настолько прост, что лишь посмотрев на “эталонный” клиент, и написав свой, уже можно быть уличенным в создании некошерных производных произведений.

Конечно, намерения автора довольно очевидны – но будучи в плену иллюзий о Free Software Foundation и его “великой светлой миссии”, он подложил немалую свинью всем, кто занимается разработкой любых аналогов данного ПО.

PS Лично я, если бы меня в данном случае приперли к стенке угрозами судебного разбирательства с FSF, попытался бы вывернуться описанным [info]infowatch способом в рамках отечественного законодательства.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Бритоголовый и С1-97

Результаты “Тотального диктанта”

Наконец-то, с опозданием на сутки, выложили результаты “Тотального диктанта” по Москве. У меня оказалось 0 орфографических ошибок и всего 2 пунктуационные. Думал, будет больше – но теперь даже как-то обидно, ведь для оценки “пять” можно было допустить одну пунктуационную ошибку. С моим результатом придется довольствоваться “четверкой”. Вот так всегда, надеешься на “три”, получаешь “четыре”, и с чувством оскорбленного достоинства задаешь вопрос: “А почему не пять”?

Как всегда, хочется высказать свое “фе” за организацию. Для того, чтобы узнать результаты, надо указать город и площадку, где писался диктант. В списке присутствовало три или четыре МФЮА, два МВШСЭН, и даже “Методическийцентр ДОгМ” – написанный именно так, без пробела. А самое главное – когда я его выбирал, мне выдавалось сообщение наподобие “А вас там никогда и не было”. Зато в списке московских площадок имелся пункт “Москва” – где я и обнаружил свои результаты.

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

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).