В обилии сегодняшних проектов с открытым исходным кодом представлено много технологий, как важных, так и не очень вразумительных. Однако один из ветеранов Open Source и ведущий эксперт в Hadoop считает, что несмотря на все усилия и инновации некоторая часть проектов расходится с духом открытого продукта и открытого сообщества.

По мнению Теда Даннинга, главного архитектора приложений поставщика Hadoop-дистрибутивов фирмы MapR, а также разработчика и члена PMC (комиссий по управлению проектами) проектов Apache Mahout, ZooKeeper и Drill и куратора разработок Apache Storm, DataFu, Flink и Optiq, ряд продуктов, относимых к Open Source, едва ли не являются современной формой проприетарного ПО.

«Это сущая правда. Они не настолько закрыты, как это бывало встарь. Однако и закрытый исходный код не был таким уж, как может показаться, закрытым. Если вспомнить прошлое, то доступ к исходному коду компании Digital Equipment и даже IBM мог получить любой, кто в этом нуждался. И вы могли отправлять свои коррективы в Hasp или VMS. В те времена существовало нечто вроде коммунальных отношений, но в рамках одного вендора», — говорит Даннинг.

«Эти сообщества были жизненно важны. Официально они не являлись открытыми, но по факту были именно такими. Это было несколько причудливое сочетание закрытого исходного кода и открытого сообщества. А теперь мы нередко имеем открытый исходный код и закрытое сообщество».

Как отмечает Даннинг, подобные виды проектов, где теряется аспект сообщества Open Source, присутствуют даже в непонятно большом числе инициатив в экосистеме фреймворка больших данных Apache Hadoop.

«Я сказал себе: я давно работаю в фонде Apache и должен знать про его дела. Тут должно быть порядка 15–20 проектов, связанных с Hadoop. Решил не полениться их пересчитать. Я просмотрел все 200 с лишним Apache-проектов и все инкубаторы, и у меня набралось примерно 40 проектов», — говорит Даннинг.

«По идее, я должен был быть в курсе дела, однако ошибся в два раза. Проектов, только в сфере Apache, оказалось вдвое больше, чем я думал, а за ее пределами их количество не сосчитать. Их очень много, и это явно сбивает с толку. И если вы не тратите рабочие дни, чтобы за ними следить, вы вряд ли сможете пересчитать все соответствующие проекты».

Однако этот уровень инноваций — хорошая вещь. Если у людей есть хорошие идеи, то абсолютно естественно, что они хотят их проверить в сообществе.

«Это подобие пены, которая должна присутствовать, но нам надо частично ее снять, представляя наработки людям, которые должны выдавать законченные вещи», — говорит Даннинг.

«Второй тип источника пены, которую уже не назовешь хорошей, возникает, когда люди реально не вживаются в суть Open Source. Освоить Open Source трудно, потому что как бизнес вы хотите иметь определенную ценность, которую можно запустить в дело, но, поскольку это Open Source, вам придется довольствоваться тем, что часть вашей работы будет восприниматься людьми без доверия. Эти две вещи находятся в непримиримом противоречии».

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

«Они пытаются стать владельцем Apache-проекта. Однако это изначально не предполагается. Но если у вас имеется противоречие между желанием иметь базовую ценность и желанием быть открытым, вы войдете в конфликтную ситуацию, когда вам самим будет непонятно, открыты вы или закрыты», — продолжает Даннинг.

«В итоге у вас будет открытый исходный код, но закрытое сообщество: дескать, „извините, мы только разработчики“. С Hadoop самим по себе такого нет, но в других Apache-проектах 90% состава базовой комиссии — это представители одного Hadoop-вендора. Значит, это не проект сообщества. Нельзя сказать, что это закрытое сообщество, но реально это и не открытое сообщество. На мой взгляд, это беда».

По словам Даннинга, отсутствие открытости ведет к проблемам с налаживанием должного консенсуса по части стандартов для рассматриваемого проекта с открытым исходным кодом.

«Когда вы чем-то занимаетесь, важно иметь полную ясность: это открыто или закрыто? Найти здесь среднюю линию очень трудно», — говорит Даннинг.

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

«Определенно существуют проекты, которые люди пытаются продвигать, но никто не проявляет к ним внимания. Это один вариант. Другой вариант, когда люди пытаются проект монополизировать и говорят слова, что они реализуют этот проект, подразумевая, что проект с ними отождествляется. Это не путь к выстраиванию сообщества. А создание сообщества является сущностью Open Source», — говорит Даннинг.

Даннинг много лет работает со свободным ПО — в марте этого года исполнилось сорок лет с начала этой его деятельности. «За это время многое изменилось. Но я многократно убеждался в своих представлениях о том, что является самым важным, и мне очень нравится Apache, поскольку Apache точно согласуется с моим выводом, что сообщество важнее, чем открытый код, — говорит он. — Хорошее сообщество может очень быстро переделать код. Код не является живым организмом, он мертв. Живым его делают люди, и это люди составляют сообщество. И если вы говорите, что владеете сообществом, имейте в виду, что найм работающих учеников давным-давно запрещен законом».

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

«Если вы беретесь за проект, выкладываете его на GitHub и заявляете, что будете утверждать все изменения, то что с этим произойдет в реальности? Вы можете скопировать мое ПО, если у него открытый исходный код, вы можете создать собственное ПО, но вы реально не сможете заставить меня принять ваши изменения. Если вы создали что-то важное для вас, будет ли это важно для меня?», — говорит Даннинг.

По его мнению, из примерно сорока проектов, связанных с Hadoop, лишь с десяток имеют реальную важность. Многие проекты из числа менее важных, возможно, просто являются новыми и еще не имели шанса доказать свою ценность.

«Это их не умаляет, просто пока они еще не важны. Зачастую ими занимаются эффективно закрытые сообщества, потому что они еще растут, и это нормально. Например, компания Pivotal недавно выделила средства на проект под названием Geode, представляющий собой СУБД, подчиненную GemFire (in-memory СУБД класса NoSQL). Практически это дело одной компании, — говорит Даннинг. — Не надо их за это винить. Можно было бы их винить, если бы по прошествии трех лет эти разработки начали широко внедряться, но оставались делом одной компании. Занимающиеся этим проектом люди понимают, что они идут в правильном направлении. Другие участники для них неважны. Они не создали сообщество, потому что не хотели его создавать. Они хотели работать в узком кругу».