- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF76:Интервью
Материал из Linuxformat.
Король Самбы
Визитка LXF | |
---|---|
Джереми Эллисон | |
ВОЗРАСТ | 43 |
НАЦИОНАЛЬНОСТЬ | Американец |
ИСПОЛЬЗУЕТ LINUX | 10 лет |
ЯЗЫКИ ПРОГРАММИРОВАНИЯ | 6 |
КОЛИЧЕСТВО ПК | 10 |
ДНЕВНАЯ НОРМА КОФЕ | 12 чашек |
ПАР САНДАЛИЙ | 0 |
Он говорит: «Я капитально ленив» |
- Samba делает Windows окном в более широкий мир, но насколько это важно для движения свободного программного обеспечения, понимают немногие. Мы встретились с одним из этих немногих: Джереми Эллисон (Jeremy Allison), ведущий разработчик проекта…
Несмотря на то, что Linux (хоть это и оспаривается) надежнее, эффективнее и свободнее, чем Microsoft Windows, миллионы фирм по всему миру еще не пробовали с ним работать. Причина – противодействие распространителей коммерческого ПО. Microsoft прежде всего использует собственные форматы файлов и протоколов, а скромное количество открытых стандартов, применяемое в этой компании, часто «охвачено и расширено» так, что совместимость с другими операционными системами превращается в кошмар.
Samba – свободно распространяемое ПО, победившее эти проблемы. Создавая мост между Unix и Windows, Эндрю Триджелл (Andrew Tridgell), Джереми Эллисон (Jeremy Allison) и другие ухитрились сделать настолько хорошую программу, что даже Microsoft (по слухам) использует ее в качестве справочной реализации. Samba 3 завоевала бешеную популярность, и скоро ожидается выход Samba 4, обещающей полную поддержку Active Directory. Мы встретились с Эллисоном, одним из основных разработчиков проекта, чтобы узнать о проекте побольше.
- Linux Format
- Поговорим о Samba 4. Сколько времени вы уже занимаетесь разработкой проекта?
- Джереми Эллисон (Jeremy Allison)
- Думаю, уже около года, может, дольше. Проект большой – мы откусили здоровый ломоть. На сегодняшний день Kerberos Domain Controller и LDAP сервер разработаны хуже, чем другие области, и именно над ними сейчас ведутся основные работы.
- LXF
- Интересно…
- ДЭ
- Проблема в том, что люди доверяют серверу LDAP, который у них уже есть. По этой причине с Samba 4 возникла некоторая напряженность. С одной стороны, полно людей с небольшими офисами – на 50 компьютеров или около того. У них нет сервера LDAP, они не знают, что это такое, им просто нужно нечто для стандартизации учетных записей и сведения их в единый файл. Для них встроенный в Samba 4 LDAP сервер – именно то, что надо, поскольку он запускается почти без вмешательства и может работать с инструментами администрирования Windows.
- С другой стороны, те, у кого 3 000 серверов, думают так: «Я уже установил полный LDAP сервер для предприятия. Зачем мне менять его на какую-то Samba 4, хоть вы и считаете ее классной?» В подобных случаях LDAP-серверу в Samba 4 придется выполнять роль кэша, прокси для уже работающего сервера LDAP. То есть большое количество кода надо дописывать и отлаживать, и, по-моему, это одна из наиболее трудных задач на данный момент.
И я знаю, что сейчас они [разработчики версии 4] набросились на Heimdall-версию Kerberos, и опять-таки, эта версия будет идеальна для людей, которые не знают и знать не хотят, что такое Kerberos, и желают просто использовать единый вход (single sign-on) Windows. Но на более крупных предприятиях или в более масштабной среде люди, скорее всего, скажут «нет уж, подавайте мне MIT Kerberos сервер, наш дистрибутив идет именно с ним и в нем уже все встроено» – вам приходится соответствовать их требованиям. Опять же, KDC в Samba 4 нужен какой-то прокси. Тут еще предстоит потрудиться.
Это как раз моя часть работы – просмотреть уже входящий в него код и следовать установленной процедуре, поскольку в данный момент я не занимаюсь этой работой по-настоящему. Части Samba 4, над которыми я работал – это в основном клиентские библиотеки и пыточные тесты [тесты, специально подвергающие систему сверхнагрузке с целью проверки ее стойкости]. Я добавил испытательных тестов, когда обнаружил, что кое-какие вещи следует подвергнуть регрессионным тестам. По крайней мере, в Samba 3; испытательный тестер в Samba 4 настолько хорош, что даже Microsoft его использует. Я не знаю, читали ли вы интервью с Биллом Хильфом (Bill Hilf) [руководитель лаборатории Linux при Microsoft] на Slashdot, он там говорит, что они не только этим тестером пользуются, но и прислали кое-какие поправки к нему.
- LXF
- Как вы считаете, мощь Samba 3 перейдет в версию 4?
- ДЭ
- Да, думаю, что да. Дело в том, что
люди стали зависимы от нас после версии 3. Скажем так, бывают поставщики дистрибутивов Linux, которые не тестируют [версию] Samba, включаемую в их дистрибутив. Людям приходится обращаться к samba.org и качать оттуда работающую программу, поскольку то, что они получили вместе со своим дистрибутивом, не работоспособно.
Интересный вопрос – является ли Samba технологией или продуктом. Если мы являемся технологией, то, в некотором смысле, нам труднее отлаживать ошибки. Раньше я говорил людям, обнаружившим ошибку: «Вот быстрая заплатка, не могли бы вы скомпилировать ее и попробовать?». Но сейчас большинство даже не знает, как это делать. Скорее всего, они скажут: «Эй, а где RPM?» И мне придется отвечать: «Я его вам сделаю, и вы сможете это попробовать».
Для трех следующих релизов Джерри [Джеральд Картер – Gerald Carter, релиз-менеджер Samba] кое-что изменил: мы сообщим наиболее активным пользователям списка рассылки Samba, что не выпустим Samba для FreeBSD, пока не дождемся ответа типа: «Я проверил ее на FreeBSD, и она компилируется и работает как минимум в моей среде». Мы выявляем наиболее значимых членов сообщества Samba для каждой платформы и говорим им: «Вы – стражники у ворот». Мы обсуждали этот вопрос на прошлой неделе на конференции по встроенным (embedded) системам. Там присутствовало большинство команды Samba, и мы могли поспорить. Мы отлично ладим друг с другом, но всегда возникают споры и все такое.
Что касается работы Samba на SUSE, по причине того, что есть я, Ларс [Мюллер – Lars Muеller)] и Гюнтер [Дешмер – Guenther Deschmer)], сегодня Samba под SUSE намного ближе к передовой технологии, чем то, что выходит из парадных дверей Samba.
Ларс и Гюнтер всегда хорошо подбирали заплатки, но сегодня, если обнаруживается критическая ошибка, ее исправляют сразу в обеих ветвях [samba. org и SUSE]. В этом преимущество работы с Novell. Так что я намного счастливее себя чувствую по поводу тех релизов, которые мы готовим.
- LXF
- Вы говорите, что на данный
момент не занимаетесь Samba 4 – а можно ожидать, что в некий момент ваши пути пересекутся?
- ДЭ
- Ну, может быть; я не знаю. На данный
момент путь Samba 3 спланирован как минимум на пару лет. Cильно зависит от того, что понадобится, чего захочет потребитель, что мы еще туда включим – не знаю, просто не знаю.
Очевидно, только Святой Грааль сможет заменить Active Directory, поскольку сегодня, как только вы попадаете в Active Directory, вы влипли, вы прикованы к технологии одного поставщика, и выхода оттуда нет. Вы на конвейере, который крутит Microsoft; только добавляй монетки, чтобы механизм не остановился. Мы должны изменить ситуацию, дать людям выбор. Как я однажды в сердцах сказал позвонившему клиенту – «Все, о чем нас просят потребители – это спасти их от ложного решения, которое они сами же и приняли». Короче, какими бы ни были наилучшая стратегия и решение для избавления людей от Active Directory – мы к этому движемся, не жалея усилий. Пока не знаю, когда это будет.
- LXF
- Samba 4 сейчас находится в
«стадии Сьюзен», то есть Эндрю тестирует ее на сервере своей жены, верно?
- ДЭ
- Да, Сью ее использует, но если
вспомнить, когда исходная Samba была на «этапе Сьюзен» – это было давно, лет десять назад – если сейчас говорят, что Samba 3 стала стандартом NT4 для предприятия, а я считаю, что есть полное право так сказать, то как раз десять лет ушло на превращение Samba со «стадии Сьюзен» в стандарт NT4 для предприятия. Как долго будет превращаться Samba 4 от «стадии Сьюзен» до стандарта Active Directory для предприятия? Наверное, это будет труднее, чем кажется.
Мой план заключается в том, чтобы сказать: «О’кей, раз в ней есть все свойства Active Directory и она действительно справляется с работой контроллера доменов, пора отдать ей работу центрального узла, а на обычных серверах пусть будет Samba 3». Про это пишется во всех книгах, и куча народу имеет опыт конфигурирования.
- LXF
- Есть ли командный план работы над Samba?
- ДЭ
- Ничего подобного нет! Каждый член
команды знает, что он делает. Это же проект Open Source: нет никакого Архитектора, который сидит и говорит: «Ты делаешь это, а он делает то». Скорее, все выглядит так: «Чем бы, черт возьми, заняться на этой неделе?» Мы работаем с проблемами, на которые наталкиваемся каждый день.
Каждая успешная проверка означает шаг вперед. У нас есть цель, которую мы пытаемся достичь, но, знаете, Линус как-то сказал: «Блуждание может оказаться лучшим способом придти к цели». Знаю, что это против классического стиля всяких Архитекторов, которые сидят и говорят: «Будем создавать вот этакую матрицу» – мы просто парни, которые грызут коды, забившись в погреб родительского дома, как теперь любят рассказывать. Мы знаем, куда идем, и частично знаем, как туда попасть, но детали будут вырисовываться по мере написания кода. LXF: Хотя вроде бы было некое подобие ядра команды, чтобы переписать все с нуля? ДЭ: Был только Тридж, который вышел и сказал: «Samba – отстой. Я могу сделать лучше». А поскольку он работал в OSDL, у него была полная свобода так и сделать. Никто не встал и не сказал: «Samba – и правда отстой. Перепиши-ка ее, Тридж». Просто она ему надоела, и он решил ее заменить.
- LXF
- То есть никакого мини-бунта по
поводу этого кода не было? Думаю, когда вы перейдете к Samba 4 , вам придется просмотреть весь исходник и разобраться, что он делает, поскольку вы уже от него отвыкли.
- ДЭ
- На самом деле, нет. Дело в том, что я
все время читаю исходный код Samba 4, поскольку часть его я позаимствовал для Samba 3, когда обнаружил, что кое-что в ней не работает. Клиентские библиотеки у Samba 4 замечательные, они полностью асинхронные, и я постоянно вникаю в них, чтоб сделать новые тесты. Может быть, кто-то скажет, что клиентские библиотеки Samba 3 – отстой, потому что добраться до клиентской библиотеки легко. Так что, вполне возможно, Samba 3 перерастет в Samba 4.
- LXF
- Вы действительно думаете, что так будет?
- ДЭ
- На сегодня это не входит в наши планы. Почти наверняка мы предпримем некие
шаги, чтобы поддержать Samba 3. Это модель развития Open Source, на нее надо смотреть в большей степени как на технологию, нежели как на продукт. Мы предлагаем отличную и полезную вещь, которая помогает взаимодействовать с Windows. Джерри – тот парень, который сидит здесь и говорит: «Отлично, это нам годится» – но в то же время происходит немало непредвиденного.
Какие-то вещи из Samba 3 включаются в Samba 4 и наоборот, очень много взаимного оплодотворения, заимствования кода, ну, вы знаете. Одна из проблем, о которых говорил Тридж на конференции по встроенным системам, было его видение распространения кода: чтобы оно было еще более случайным и чтобы в нем принимало участие больше людей, чем сейчас. Он рассматривает модель распределенной разработки, а не централизованный вариант типа Subversion. Его идея заключается в том, что его древо кода – подобно коду Линуса, или Алана Кокса, или кого-то еще – станет единым древом, и вовсе не обязательно Samba. Люди скажут: «Я могу выбрать древо Джерри, или древо Джереми, или официальное древо». А хранитель официального древа скажет: «Эта часть древа Триджа хороша, поэтому мы ее задействуем».
- LXF
- Итак, Samba может переключиться на Git?
- ДЭ
- Кандидатом на сегодняшний день
является Bazaar-NG Мартина Пула (Martin Pool). Мартин Пул – воспитанник команды Samba, который работает на ребят из Ubuntu. Мы знаем, где он живет, так что, если что-нибудь случится с инструментами разработки, мы можем его побить.
- LXF
- То есть вы совершенно определенно уходите от Subversion.
- ДЭ
- Нет. Я полагаю, что сначала Samba 4
будет двигаться по направлению к распределенной модели разработки. Если это сработает, то Samba 3 последует за ней.
Лично я бы предпочел принять модель распределенной разработки и брать кое-что из разных кодов, потому что сейчас происходит просто невероятное давление на того, кто занимается поддержкой официального кода. Проверяешь всякую ерунду, включая ее в код, портится то, что уже сделано, тебя все ненавидят, и ты в дураках. Экспериментировать после этого не хочется. Есть такая штука, мы ее называем Проверка в Пятницу Вечером, и я грешу этим не меньше других. Вечер пятницы, у тебя что-то скомпилировалось, ты считаешь, что по большей части там все работает, а в голову лезут мысли типа: «Моя машина может попасть в аварию, дом может сгореть, проверю все, чтобы убедиться, что все нормально». И тут ты обнаруживаешь, что сломал сборку HP-UX или AIX или что-нибудь еще, потому что не смог провести на них проверку.
Переход на модель распределенной разработки ликвидирует проблему пятничных проверок. Как только ты включил что-нибудь в код, кто-то должен тут же это проверить. Это бесконечные переговоры и замечания. Мы хотим уйти от философии «ты либо герой, либо кретин» и быть просто разработчиком, с пра- вом на ошибки, которые не столь опасны, потому что невозможно разрушить чью-то наработку.
Есть еще одна вещь, которая получится благодаря модели распределенной разработки – это мое мнение, и тут мы полностью согласны с Триджем: данная модель сотрет различие между непосредственной командой разработки Samba и теми людьми, которые хотят работать над Samba для собственных проектов.
У нас есть несколько ребят в Сиэтле, которые работали над режимом управления сервисом, и у них должен быть собственный код Samba, из которого мы получим информацию для обновления.
Я очень этого жду, это должно сработать. Но Джерри по природе консервативен, поскольку он – релиз-менеджер, ему так и полагается, поэтому, я думаю, он понаблюдает за Samba 4 прежде чем мы переместим версию 3.
- LXF
- Samba имеет почти 100% совместимость с Active Directory, как вы
думаете, это не сыграет против решений Linux, например, eDirectory?
- ДЭ
- Идея в том, что мы будем с ними взаимодействовать. Мы станем технологией,
которую можно взять и сделать частью eDirectory, или OpenLDAP, или какого угодно сервера каталогов. Создать сервер каталога на уровне предприятия трудно, поэтому мне кажется, что будет служба каталогов Samba, используемая в относительно небольшой среде. Но если вы хотите увеличить масштаб до службы каталогов, распределенного между 100 000 пользователей со всех континентов, в разных часовых поясах, то, смею предположить, начальные релизы Samba 1 для этого не подойдут Вот здесь и пригодится каталог уровня предприятия.
- LXF
- Итак, у Samba будут многочисленные back-end’ы?
- ДЭ
- Этим мы сейчас и занимаемся. На
сегодняшний день у нас есть back-end TDB для базы данных паролей, это означает, что если у вас 100 клиентов Windows, то нужна пара централизованных серверов. Можно произвести масштабирование в пределах разумного, но, конечно, использовать это для скопления из 100 000 пользователей нельзя. Уже сейчас можно создать сервер Samba для 100 000 пользователей, и такое делается, но вместо использования back-end TDB они используют back-end LDAP и настраивают его под любые масштабируемые сервера каталогов.
Для меня это здорово, потому что у нас сейчас не самый легкий период, мы заняты с SMB и прочим, за что мы отвечаем и что должно работать. Вовсе не факт, что я хочу обслуживать каталог OpenLDAP.
Одна из сильных сторон Linux и открытого кода – возможность взять большую проблему и разбить ее на мелкие составляющие, и каждый будет работать над составляющей, которая ему наиболее интересна. Если мне велят заняться ошибками LDAP, я сделаю эту работу довольно паршиво, поскольку меня не очень-то интересует LDAP, это не мое, я не знаю протокола…Примерно так, как это было в Sun, когда меня усадили исправлять установки COBOL. Я делал эту работу паршиво, поскольку мне было на нее наплевать. А вот ошибки SMB… по какой-то дурацкой причине, они меня просто чаруют.
Ребята, которые работают с OpenLDAP, они такие же. Я уверен, что LDAP – по мне, абсолютно бесплодная пустыня – для них полнейшее очарование, и они любят работать с ней, ну так пусть они этим и занимаются вместо нас. Вот таким образом проблема разбивается на составляющие.
Честно говоря, я думаю, что именно таким образом открытый код действительно хорошо вписывается в деловое сообщество. Очень интересно попадать на шоу вроде OSCon, потому что ребята вроде Триджа, Джерри и, до некоторой степени, меня, болтаются вокруг, а типы в костюмах смеются над нами и гадают, что это мы тут делаем. В какой-то мере, я думаю, нам намного комфортней создавать технологию, чем потом кому-то другому заниматься ее сбытом. Пока мы развлекаемся, работая над проблемами, пускай другие переживают по поводу доли рынка и объема продаж.