The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Новая стратегия развития проекта libmdbx"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новая стратегия развития проекта libmdbx"  +/
Сообщение от opennews (ok), 29-Дек-25, 21:02 
Проект libmdbx представил новую стратегию развития, одновременно объявив о смене модели разработки и распространения кода. Исходный код libmdbx останется открытым и с качественной бесплатной поддержкой, но теперь разработка будет вестись внутри команды с публикацией результата только в амальгамированной форме. Стратегия развития декларирует  движение к давно анонсированному проекту MithrilDB, с поддержкой нескольких форматов БД под фасадом общего API. Явно заявляется о поддержке старых БД, пока это будет необходимо пользователям...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64522

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

9. Сообщение от Аноним (-), 29-Дек-25, 21:32   –1 +/
>Copyright (c) 2015-2025 Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru>
>СМЕНА ЛИЦЕНЗИИ (THE LICENSE CHANGE)
>OpenLDAP Public License → Apache 2.0

Русский проект, а я то думал иностранный.

>совместить внутри MithrilDB несколько реализаций написанных на разных языках, в частности C, С++ и Rust

Совмещать разные языки плохая практика. Это Бэд Практис.

Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Аноним (23), 29-Дек-25, 22:29   +/
Что такое амальгамированный исходный код?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25, #30, #36, #57

25. Сообщение от Аноним (25), 29-Дек-25, 22:31   +1 +/
Код который завернут в амальгаму.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

26. Сообщение от Аноним (26), 29-Дек-25, 22:37   +2 +/
Мой комментарий про квазизакрытый код удалили вместе с ответом, что это выдумки и нужно читать комментарии в пдфке. Так вот, я прочитал и там прямо говорится, что переход к такому виду релизов сделан для предотвращения "угона" проекта, а также про платные фичи. Считаю свой комментарий верным и не содержащим выдумок.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #34, #35, #50

27. Сообщение от Аноним (27), 29-Дек-25, 22:41   +/
Чтоб не форкнули форкнутое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

29. Сообщение от Аноним (30), 29-Дек-25, 22:42   +2 +/
>разработка будет вестись внутри команды с публикацией результата только в амальгамированной форме
>декларируется желание поставлять библиотеку в максимального готовом виде, без зависимостей, необходимых только для её разработки и глубокого тестирования

Очень странное решение. Читаю как "мы решили закрыть исходный код".

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

Не то чтобы я собирался пользоваться libmdbx, но на месте пользователей крепко бы призадумался. Сейчас есть масса альтернатив, разработчики которых не ведут себя странно.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #40

30. Сообщение от Аноним (30), 29-Дек-25, 22:45   +/
https://sqlite.org/amalgamation.html
Это придумал не автор SQLite, но идея пошла в массы в основном оттуда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

33. Сообщение от Аноним (36), 29-Дек-25, 23:01   +1 +/
Открытый код давно перешёл в разряд только для чтения; подумай об этом на досуге
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

34. Сообщение от Аноним (36), 29-Дек-25, 23:03   +1 +/
Обожглись походу. Тут пару лет назад в комментариях чел писал, у которого тоже богатый дядя форкнул его проект, раскрутил и начал продавать готовые бинарники с перебитым копирайтом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

35. Сообщение от афтар поделия (?), 29-Дек-25, 23:03   +/
Текущая модель разработки достаточно близка к тому, что исходно было и есть в LMDB:
- код почти амальгамированный (файлов несколько, но >90% в одном);
- заказная разработка (платные фичи);
- очень высокий порог входа и ещё более ребусный код.

В комментариях к слайду причины пояснены буквально так (copy&paste):

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

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

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

Такое решение принято по совокупности причин, вот главные из них:

1. Желание упростить использование библиотеки и снизить трудоёмкость её поддержки при развитии тестов.
Для расширения и развития тестов требуются задействовать дополнительный сторонний кода и компоненты. Что увеличит объем кода и количество зависимостей проекта, существенно усложниться процесс сборки. Всё это затруднит использование библиотеки обычными разработчиками, сильно затруднит её использование в производных и в использующих привязки опосредованных проектах. Одновременно это увеличит затраты на документирование и сопровождение проекта, породит неизбежные ошибки и затруднения пользователей, что потребует больше времени на помощь им.

2. Устранение опасных ложных ожиданий из-за ошибочного впечатления о простоте разработки и тестировании.
Фреймворк тестирования не предназначен для использования вне разработки. Его использование требует не только понимания деталей работы и внутреннего устройства libmdbx, но также огромных затрат процессорного времени при наличии объёма ОЗУ порядка 1-2 терабайта.

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

Таким образом, доступность тестов провоцирует неквалифицированные «доработки на коленках» и парадоксальным образом ведёт к совокупному увеличению проблем, разочарованию пользователей, увеличению трудоёмкости поддержки и ухудшению имиджа libmdbx.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

36. Сообщение от Аноним (36), 29-Дек-25, 23:06   +2 +/
Код, который годится только для чтения и сборки, но не для разработки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #39, #48

39. Сообщение от Аноним (30), 29-Дек-25, 23:20   –1 +/
Леонид, ты?

>Код, который годится только для чтения

Нет, он не годится для чтения.
Как можно читать один сгенерированный файл из десятков тысяч строк.
Амальгамирование придумали для того чтобы код было проще распространять: из всех файлов кода генерируется всего один файл.
И, бонусом, компилятор лучше оптимизирует код если он находится в одной единице трансляции.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #41

40. Сообщение от афтар поделия (?), 29-Дек-25, 23:24   –1 +/
> Читаю как "мы решили закрыть исходный код".

Вы не читаете, а (пардон) озвучиваете неверное впечатление.

1. Де-факто за 10 лет других разработчиков не появилось, аналогичная картина и в LMDB. Причины пояснены в комментариях к презентации (очень сложно и трудно вникать). Поэтому код не особо кому-то нужен, а если нужен, то он и доступен, и можно присоединиться к разработке.

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

3. У SQLite другая ситуация, главным образом из-за щедрого спонсирования и обеспечения интересов спонсоров. В том числе, для страховки спонсоров от всяческих неприятностей, разработчиков обязывают передавать код в общественное достояние. Если кто-то (вдруг) предложит обеспечить аналогичные финансовые условия, то я согласен ;)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #54

41. Сообщение от Вредный аноним (?), 29-Дек-25, 23:25   +1 +/
Никто вручную код не читает. В 2025 году за тебя код прочтет нейросеть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

48. Сообщение от афтар поделия (?), 29-Дек-25, 23:36   –1 +/
У LMDB очень-очень высокий порог входа. У libmdbx он еще намного выше из-за более сложных алгоритмов и добавленных возможностей. Поэтому ни в LMDB, ни в libmdbx новых разработчиков не появилось и (пока) не ожидается.

Соответственно, на самом деле, амальгамирование почти никому не мешает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

50. Сообщение от Аноним (50), 29-Дек-25, 23:41   +/
> предотвращения "угона" проекта, а также про платные фичи. Считаю свой комментарий
> верным и не содержащим выдумок.

И что, какой-то псих даже денег даст? Учитывая метания проекта с сменой сишного апи на плюсатый (== выбросьте все предыдущие наработки и забейте на interop с другими яп) - и теперь еще рост разлапистости в какую-то неведому шляпу. И это при том маппинг в память был сто лет у других, даже более древнних, типа tokyo cabinet старинного. А тут до господ только дошло.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #58

54. Сообщение от Аноним (54), 29-Дек-25, 23:46   +1 +/
За 10 лет зоркий глаз не заметил что его код не нужен? Или просто нашел где заработать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #56

56. Сообщение от афтар поделия (?), 29-Дек-25, 23:57   +/
> оркий глаз не заметил что его код не нужен?

1. https://ptsecurity.com/about/clients/

2. на libmdbx сидит половина узлов Ethereum и еще несколько блокчейнов.

3. несчитанное количество мобильных установок (через привязки Rust и использующие их проекты), посчитать реально невозможно -- пытались прикинуть/оценить получается >100 миллионов "но это неточно".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #63

57. Сообщение от Аноним (57), 30-Дек-25, 00:06   +1 +/
Обфусцированный. Не соответствующий определению исходного кода в терминологии GPL, например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #59, #65

58. Сообщение от афтар поделия (?), 30-Дек-25, 00:08   +/
> уитывая метания проекта с сменой сишного апи на плюсатый

У проекта как был сишный API так и остался.
Плюсовый добавился в 2020-2021 годах и продолжает развиваться.

Проблема сишного API в том, что его пытаются "как есть" тащить в условный python, а потом смешивают с возможностями питона -- получается страшно и глючно.

> до господ только дошло.

tokyo cabinet старше LMDB примерно на 4 года, а отображение в память появилось >50 лет назад

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

59. Сообщение от афтар поделия (?), 30-Дек-25, 00:11   –1 +/
На всякий -- у нас код не обфусцированный, а лицензия Apache.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

61. Сообщение от Аноним (-), 30-Дек-25, 00:17   +1 +/
> но теперь разработка будет вестись внутри команды с
> публикацией результата только в амальгамированной форме.

Это чтобы всякие бэкдоры и вулны было удобнее пхать? Или зачем еще такая псевдооткрытость нужна? Говоря за себя я пожалуй обойду такой код за версту. Не выглядит как что либо внушающее доверие.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62, #68

62. Сообщение от афтар поделия (?), 30-Дек-25, 00:24   +/
> Это чтобы всякие бэкдоры и вулны было удобнее пхать?

Что-либо запихать в один файл также просто так и в 42.
Но этому будет более заметно, так как фокус внимания не перемещается.

> Или зачем еще такая псевдооткрытость нужна?

В слайды встроены комментарии, там все ответы.
Что-то уже было повторено от ответа здесь.

> говоря за себя я пожалуй обойду такой код за версту.

спасибо, так будет лучше при отсутствии доверия.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #66

63. Сообщение от Аноним (-), 30-Дек-25, 00:31    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

64. Сообщение от Аноним (-), 30-Дек-25, 00:39   +/
У... сейчас начнется)

Благодарное сообщество™, которое и строчки кода в проект не закоммитило, будет кричать, что у него что-то отобрали и вообще своровали))
А сам аффтар вообще м-дила!)

Собственно выше уже начали. Хотя 99% коментаторов даже слышали об этом проекте только из новостей опеннета.

Ответить | Правка | Наверх | Cообщить модератору

65. Сообщение от Аноним (-), 30-Дек-25, 00:41    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

66. Сообщение от Аноним (-), 30-Дек-25, 00:45   +/
> Что-либо запихать в один файл также просто так и в 42.

С системой контроля версий гораздо удобнее смотреть что и где изменилось - по файлам. А в той штуке как я понимаю вообще возможность делать аудит именений прозрачно и доверяемо вообще не часть плана.

> Но этому будет более заметно, так как фокус внимания не перемещается.

Если у меня есть простыня A и простыня B с 100500 изменений, не сгруппированых даже по файлам и логическим частям - какой фокус внимания и куда?! Судя по рассказу про внутренние тимы это будет как-то так.

> В слайды встроены комментарии, там все ответы.

Я пока не понял зачем мне тратить на это время.

> спасибо, так будет лучше при отсутствии доверия.

Вот тут мы единодушны. Я не доверяю слепо никому. Особенно тем кто делает аудит исходников куском проблем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #71

67. Сообщение от Аноним (68), 30-Дек-25, 00:48    Скрыто ботом-модератором+2 +/
Ответить | Правка | Наверх | Cообщить модератору

68. Сообщение от Аноним (68), 30-Дек-25, 00:54   +1 +/
Чел, расслабься, это все равно никому не нужно. Тем более учитывая гражданство автора и его политические взгляды. Это все раано как использовать софт от китайцев.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

69. Сообщение от Аноним (68), 30-Дек-25, 00:58   +1 +/
Постить новость от некого "леонид юрьев" с рекламой https://nemez1da.ru/ — сайта с доносами; это уже тут норм?
Ответить | Правка | Наверх | Cообщить модератору

70. Сообщение от нах. (?), 30-Дек-25, 01:07   +/
опеннетушка, ты хоть смотри от кого новости простишь
Ответить | Правка | Наверх | Cообщить модератору

71. Сообщение от афтар поделия (?), 30-Дек-25, 01:08   +/
> С системой контроля версий гораздо удобнее смотреть что и где изменилось.

Технически контроль версий для амальгамированных исходников работает ровно также.

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

Далее, на самом деле тут важнее понимать что делают изменения, в том числе в масштабе всего проекта.
А вот с этим в LMDB трудно, а в libmdbx труднее ещё в 10 раз (просто фичей больше, кода больше, темп развития кратно выше).
Поэтому, со все

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру