Здравствуйте, jazzer, Вы писали:
J>Имхо, статья очень достойная.
Вполне все по делу, без истерик и без сюсюканий.
Как в некотором роде участник FOOSS (Free Open Source Software), рискну изложить собственные наблюдения, но сначала некоторые личностные пояснения (оправдания, если хотите), почему я в этом принимаю участие.
Я приехал в Америку в начале 2000 года, то есть, под конец расцвета дот-комов. Через полтора года все накрылось медным тазом, как фанера над Парижем. Такие дела.
В 2002 году (то есть, в самую безработицу) я сменил работу, но как говорится, осадок остался.
А писать резюме, особенно конкурентноспособные на фоне гламурных, но фуфельных индусских — я просто ненавижу. Так же, как писатель Пелевин ответил на вопрос "почему вы стали писателем" — "не люблю ходить на работу", так же и я, начал свой проект потому что не терплю писать и рассылать резюме — в этом для меня есть что-то унизительное. Индусские резюме часто напоминают вот этого "деятеля":
http://www.grigori-grabovoi.ru/sertif/index.htm
Где уж мне сирому тягаться со всеми такими регалиями. А выдумывать не люблю. Ну не люблю и все — наверное лох потому что.
Таким образом, я преследовал весьма прагматичные цели.
1. Создать и укрепить свой авторитет на основной работе, чтобы уменьшить вероятность того, что придется опять дорабатывать резюме и искать новую работу. Успешно достигнуто — мой проект используется в нашей основной работе (на общих основаниях, определяемых лицензией). Конечно же, я строго соблюдаю дисциплину и работаю над проектом только дома (в отличие от того же товарища Товальдса).
2. Найти новые контакты, чтобы в случае потери работы мне опять же не пришлось иметь дело с резюме. Именно по этой причине я выбрал для прокта самую либеральную лицензию из всех возможных. Эта цель тоже вполне достигнута и сейчас я за свое будущее с точки зрения дальнейшей карьеры вполне спокоен.
3. Реализация своего эго. Это пока что процессе и думаю, что этот процесс не должен завершаться, пока я профессионально жив.
На самом деле, п.3 — это основной мотив разработчиков FOSS. В конце концов, начиная с Doctor Dobbs Journal и заканчивая проиндусскими codeguru — это все FOSS, призванный служить исключительно целям собсвенного пиара. И Товальдс тоже преследовал эту цель. И Столман. Столман — в особенности, поскольку создал оппозицию с явными элементами сектантства. За это Балмер и называет FSF коммунистами. Беда в том, что Балмер не знает и знать не хочет, что представляет собой коммунизм в реальности. Это потому, что BSA, спонсируемая MS — это советский социалистический коммунизм и есть, причем в наихудших его проявлениях.
Но при этом Ричард Столман — не менее одиозная фигура, за что я его и недолюбливаю, но безусловно отношусь с уважением.
Это я все к тому, что у меня весьма неоднозначное отношение к FOSS. С одной стороны, благодаря FOSS мы имеем весьма хорошую стандартизацию — TCP/IP, HTTP, HTML, XML. W3C, опять же, весьма уважаемый комитет. Уверен, что без FOSS, бардака в стандартизации было бы гораздо больше и жизнь была бы сложнее.
С другой стороны, автор статьи вполне справедливо критикует базарность. Я никогда не поверю в то, что если каждый из привлеченных "всех желающих" напишет по маленькой функции, то получится новая супер-ОС. Ничего такого не получится и дисциплина в обществах FOSS не менее важна, чем в коммерческих конторах. Тот же Столман вначале все писал исключительно сам, а потом — тщательно развивал строгую иерархию. Иначе у него ничего бы не получилось. То же самое делает Товальдс. И этом смысле, структура сколько-нибудь значимого FOSS ничем существенным не отличается от структуры того же Microsoft. Но есть другое отличие. Работая на Microsoft, вне зависимости от кривости или гениальности моего кода, на нем будет стоять безликий Copyright (C) Microsoft Corp. То есть, моего личного штампа на этом коде нет. Это значит, что мое личное эго не находит своей реализации и как следствие, мне становится наплевать на качество. Я за него не сильно-то отвечаю — отвечает большой и могучий товарищ Микрософт. So, where's the motivation? Единственная мотивация — деньги, то есть, все побуждения сводятся к оральным и анальным вау-импульсам, когда личность полностью вытесняется и замещается так называемой identity. Посмотрите на кривляния того же Балмера (developers! developers! developers! developers! developers! developers! developers! developers!!!) — типичная технология финансовых пирамид, гербалайфов, цептеров и прочих лохотронов, призванная заменить личность оральными (поглощение денег) и анальными (сладострастное испускание денег) вау-импульсами.
В области современного FOSS — ситуация прямо противоположная, и это — другая крайность, тоже весьма неприглядная. Существуют основные "столпы" FOSS — GNU, Linux, KDE, Mozilla, Apache и т.д., которые вполне работоспособны. Все везде поглюкивает, но в общем и целом — не фатально, то есть, можно жить и очень даже неплохо. Но основная масса кода — просто junk. Это обусловлено ничем иным, как кажущейся простотой реализации своего эго. Просто и заманчиво — написал некую нефиговину, и вот ты на коне. Из за этой кажущейся простоты происходит дискредитация FOSS. Многие коммерческие структуры вполне справедливо не доверяют Open Source, не утруждая себя вниканием — стоит оно того или нет. Так оно им дешевле обходится. И это справедливо, по причине огромного числа халтурщиков. Мне такая ситуация в какой-то степени обидна — так же, как было обидно, когда нечистоплотные дельцы раздули мыльную пирамиду дот-комов, после чего она лопнула, дискредитировав всю отрасль, в том числе и меня. Но с другой стороны — в этом и мое преимущество. Я твердо убежден в том, что выкладывать на публику можно только безупречный код. Халтура здесь категорически не катит (в отличие от чисто коммерческого коробочного софта). И это выгодно отличает меня он легиона халтурщиков. Поясню — я не утверждаю, что мой код является безупречным. Отнюдь нет. Я утверждаю, что лишь
стремлюсь к безупречности кода, в то время, как большинство участников того же SourceForge вовсе к этому не стремится, для них главная мантра (культивируемая тем же SourceForge) — release early, relerase often, что на практике зачастую означает "release any crap".
Ситуация здесь тоже весьма неоднозначна. С одной стороны, изобилие кривого кода дискредититует и меня лично, но с другой стороны — сразу видно, кто ты есть и чего стоишь. А вот в коммерческих продуктах, зачастую допустимы любые говны, лишь бы внешне было прилично. Взять любой софт, поставляемый со сканерами, видеокамерами, фотоаппаратами. Он же еле бздит и разваливается от малейшего дуновения. Но по началу это не очевидно, в отличие от того же Open Source. Это — результат того, что надо по-быстрому напедалить write-only, spaghetti-junk-gibberish код. Но сущность этого видна не сразу — она тщательно скрывается за красивой оберткой. А вот в Open Source — сразу видно, что к чему. Не компилируется с первого раза — до свидания, junk code. Видны явные алгоритмические ляпы — до свидания, КГ/АМ. Для меня, конечно же, тоже есть риск попасть в категорию КГ/АМ. Но в этом-то и заключается честная игра. Сущность Open Source — не в открытости и бесплатности кода, а прежде всего — в открытости меня как специалиста. А это очень сильно напрягает коммерческих халтурщиков, не гнушающимися любыми средствами ради того, чтобы "срубить бабла" и устроиться на тепленькое местечко. В резюме можно понаписать любых регалий, как сделал тот же грабовой мошенник (см ссылку выше). И вполне можно обучиться риторике и заговариванию зубов на интервью. Я в этом плане — полный лох осваивать подобные науки — нет ни малейшего желания. Для меня важна профессиональная этика. И деньги для меня пахнут, поскольку существует такое понятие, как профессиональная репутация. Ну лох — он и есть лох
. Помню, кто-то спрашивал в C++ — как избавиться от CRT, которая добавляет к коду ах целых 30K! Сейчас эти 30K не имеют никакого значения даже на PDA. Спрашивается — зачем надо избавляться? Единственный разумный ответ — для написания троянов, рассылаемых почтой. Для меня задавание подобных вопросов — категорически неприемлемо, поскольку даже если это надо для каких-то других целей (не могу представить, каких), то это все равно дикредитирует меня в глазах моей аудитории. Еще и по этой причине я сторонник открытости. Открытости прежде всего себя, как специалиста, в том числе и с точки зрения профессиональной морали. Сейчас существует засилие другой формы бесплатного софта, распространяемого в бинарном виде. Как правило весь этот софт — с троянами. Понятно, что в Open Source такое невозможно, и это — тоже одна из реальных причин нелюбви подобных мошенников (а их сейчас развелось как саранчи в брачный период) к Open Source.
Другой аспект. Кто-то приводил аргумент, что хочет сам и только сам контролировать свои исходники и не позволять их кому быто ни было менять. Но этот аргумент притянут за уши и не является сколько-нибудь состоятельным, как вполне убедительно показано в статье. Как показывает моя практика, все зависит от постановки дела. Несмотря на полную открытость и разрешение менять что угодно и как угодно, пользователям не выгодно этого делать, пока проект развивается. Причины очевидны.
Подводя итог, скажу, что я не являюсь ярым сторонником движения FOSS и никого к этому не призываю. Но я стараюсь быть объективным (безуспешно
конечно же) и стараюсь думать собственным умственным мозгом (но при этом остаюсь конформистом, как и любой другой человек). Для меня FOSS — лишь средство в плане профессионального роста, в плане профессионального общения (хотите быстро научиться общаться по-английски на приемлемом уровне — участвуйте в FOSS-проекте), но прежде всего — в плане собственного "пеара". Мне невыносимо тоскливо и скучно планомерно продвигаться по служебной лестнице, со всеми этими корпоративными интригами и лизанием нужных задниц. Сначала — кодер, потом — лидер, потом — архитектор, потом — дармоед-менеджер среднего звена... Тьфу.
- Всегда поражался, — тихо сказал Шестипалому Затворник, — как здесь все мудро устроено. Те, кто стоит ближе к кормушке-поилке, счастливы в основном потому, что все время помнят о желающих попасть на их место. А те, кто всю жизнь ждет, когда между стоящими впереди появится щелочка, счастливы потому, что им есть на что надеяться в жизни. Это ведь и есть гармония и единство.
Я выбираю гораздо более рисковый путь (ни кого не призывая к этому), но гораздо более интересный лично для меня. Я хочу оставаться профессионалом.
- А ты уверен, что так можно научиться летать?
— Нет. Не уверен. Наоборот, я подозреваю, что это бесполезное занятие.
— А зачем тогда оно нужно? Если ты сам знаешь, что это бесполезно?
— Как тебе сказать. Потому что кроме этого я знаю много других вещей, и одна из них вот какая: если ты оказался в темноте и видишь хотя бы самый слабый луч света, ты должен идти к нему, вместо того чтобы рассуждать, имеет смысл это делать или нет. Может, это действительно не имеет смысла. Но просто сидеть в темноте не имеет смысла в любом случае. Понимаешь, в чем разница?