|
| 1 | +Copyright (c) 2015-2026 Леонид Юрьев aka Leonid Yuriev <leo@yuriev.ru> |
| 2 | + |
| 3 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | +you may not use this file except in compliance with the License. |
| 5 | +You may obtain a copy of the License at |
| 6 | + |
| 7 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | + |
| 9 | +Unless required by applicable law or agreed to in writing, software |
| 10 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | +See the License for the specific language governing permissions and |
| 13 | +limitations under the License. |
| 14 | + |
| 15 | +----------------------------------------------------------------------- |
| 16 | + |
| 17 | +СМЕНА ЛИЦЕНЗИИ (THE LICENSE CHANGE) |
| 18 | + |
| 19 | +OpenLDAP Public License → Apache 2.0 |
| 20 | + |
| 21 | +Briefly: |
| 22 | + Historically, in 2015 an early MDBX source code was derived from the |
| 23 | + "LMDB engine" created by Howard Chu <hyc@symas.com> in 2011-2015, |
| 24 | + which based on btree.c written by Martin Hedenfalk <martin@bzero.se>. |
| 25 | + |
| 26 | + By 2024, MDBX source code has actually been rewritten and has so |
| 27 | + little in common with the original LMDB that I thought it admissible |
| 28 | + to change the license. Below are more detailed explanations. |
| 29 | + |
| 30 | +Кратко: |
| 31 | + |
| 32 | + Исторически в 2015 году ранний исходный код MDBX был заимствован из |
| 33 | + «LMDB engine», созданной Howard Chu <hyc@symas.com> в 2011-2015, |
| 34 | + на основе btree.c, ранее созданного Martin Hedenfalk <martin@bzero.se>. |
| 35 | + |
| 36 | + К 2024 году исходный код MDBX фактически переписан и имеет настолько |
| 37 | + мало общего с первоначальным заимствованием из LMDB, что я счел |
| 38 | + уместным сменить лицензию. Ниже более подробные пояснения. |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +Первоисточник текста формулирован на Русском языке, который является |
| 43 | +родным для автора. Предполагается что все заинтересованные могут легко |
| 44 | +воспользоваться машинным переводом, который при всех недостатках сможет |
| 45 | +донести суть, намерения и местами даже передать тональность. |
| 46 | + |
| 47 | +The original source of this text is in Russian, which is the author's |
| 48 | +native language. It is assumed that all concerned can easily use machine |
| 49 | +translation, which, with all the disadvantages, will be able to convey |
| 50 | +the essence, intentions and, in some places, even convey the tonality of |
| 51 | +a wording. |
| 52 | + |
| 53 | +1. Причины |
| 54 | + |
| 55 | +1.1. Лицензия Apache-2.0 является одной из самых популярных, так как |
| 56 | +содержит ряд уточнений, проясняющих и упрощающих использование исходного |
| 57 | +кода в производных работах и больших проектах. Эти особенности лицензии |
| 58 | +Apache-2.0 я нахожу достаточно ценными и удобными. Соответственно, |
| 59 | +переход на лицензию Apache-2.0 полезным в целом. |
| 60 | + |
| 61 | +1.2. Проект OpenLDAP имеет определенную известность, в том числе, к |
| 62 | +сожалению, среди специалистов славится кране плохим качеством кода и |
| 63 | +сбоями при отходе от простых/базовых сценариев использования. Поэтому |
| 64 | +использование лицензии OpenLDAP, в глазах части аудитории, бросает тень |
| 65 | +на качества кода libmdbx, несмотря на то, что исходный код библиотеки |
| 66 | +переписан, в том числе, с целью повышения качества, надежности, |
| 67 | +стабильности и пригодности к тестированию. |
| 68 | + |
| 69 | +Отмечу, что здесь не место для обсуждения объективности подобных мнений |
| 70 | +и причин, равно как и не место для оценки компетентности специалистов |
| 71 | +высказывающих такие суждения. Однако, здесь необходимо озвучить сам факт |
| 72 | +наличия такой негативной коннотации качества кода при упоминании |
| 73 | +OpenLDAP, совершенно без намерения как-либо задеть или обидеть |
| 74 | +контрибьюторов OpenLDAP. |
| 75 | + |
| 76 | +1.3. С точки зрения исходного кода, к настоящему времени libmdbx стала |
| 77 | +совсем другим продуктом, о котором сейчас правильнее сказать что |
| 78 | +разработка вдохновлена LMDB, нежели основывается на заимствовании кода. |
| 79 | +Смена лицензии на переписанный код подчеркивает, что это действительно |
| 80 | +новый исходный код. |
| 81 | + |
| 82 | +2. Легитимность |
| 83 | + |
| 84 | +2.1. Исходная лицензия OpenLDAP 2.8 и актуальная лицензия Apache 2.0 |
| 85 | +совпадают по базовым условиям. При этом лицензия Apache 2.0 уточняет, |
| 86 | +определяет и проясняет многие аспекты. Поэтому смену лицензии я склонен |
| 87 | +трактовать как уточнение, но НЕ как принципиальное изменение, которое |
| 88 | +могло-бы нарушить чьи-либо права. |
| 89 | + |
| 90 | +2.2. С процедурной точки зрения, у меня есть право сменить лицензию на |
| 91 | +новый, написанный мной, исходный код. При этом объективно существует как |
| 92 | +техническая, так и юридическая проблемы отделения «нового кода» от |
| 93 | +«заимствованного», а также выделение/классификация кода, который |
| 94 | +является общественным достоянием и/или общеупотребительным воплощением |
| 95 | +«математических моделей и других публичных знаний». |
| 96 | + |
| 97 | +Основываясь на собственной субъективной оценке кодовой базы, включая |
| 98 | +соотношения «нового», «заимствованного» и «общеупотребительного» |
| 99 | +исходного кода, я считаю что смена лицензии допустима. Одновременно с |
| 100 | +этим, я понимаю и признаю, что можно найти повод, чтобы трактовать |
| 101 | +ситуацию как «стакан наполовину полон/пуст». Поэтому декларирую |
| 102 | +готовность принимать претензии и устранять их путем полного |
| 103 | +переписывания оставшегося исходного кода, который попадает под критерии |
| 104 | +«заимствованного» и кто-то из контрибьюторов которого будет против |
| 105 | +изменения лицензии. |
| 106 | + |
| 107 | +2.3. Вне зависимости от истории происхождения каждой строки исходного |
| 108 | +кода и её буквального авторства, прошу не считать производимую смену |
| 109 | +лицензии, и связанных с этим технических действий, как попытку плагиата, |
| 110 | +присвоения чужого труда, присвоения авторства или принижения вклада |
| 111 | +других авторов/контрибьторов. Безусловно проект MDBX/libmdbx не появился |
| 112 | +бы без LMDB и всех участников проекта LMDB, в особенности Говарда Чу |
| 113 | +(Howard Chu), Холлварда Фурусет (Hallvard Furuseth) и Мартина Хеденфок |
| 114 | +(Martin Hedenfalk). Как-бы исходный код не переписывался он всё равно |
| 115 | +будет основываться на базовых идеях и включать основные концепции LMDB. |
| 116 | + |
| 117 | +3. Последствия и актуальные требования |
| 118 | + |
| 119 | +Всё очень просто. Потребуется обеспечить требования новой лицензии в |
| 120 | +соответствии с 4-м пунктом лицензции Apache 2.0. |
| 121 | + |
| 122 | +В частности, при использовании/распространении libmdbx потребуется |
| 123 | +обеспечить наличие файлов с текстом лицензии и файла NOTICE, а также |
| 124 | +обеспечить пользователям возможность ознакомиться с их содержимым в |
| 125 | +работах/продуктах использующих libmdbx. |
| 126 | + |
| 127 | +----------------------------------------------------------------------- |
| 128 | + |
| 129 | +Далее в справочных целях приведены уведомления об авторских правах из |
| 130 | +первоначально заимствованного кода. |
| 131 | + |
| 132 | +--- |
| 133 | + |
| 134 | +Original source code was derived from LMDB in 2015, |
| 135 | +and later evolutionarily rewritten in 2015-2024: |
| 136 | +Copyright (c) 2011-2015 Howard Chu, Symas Corp. All rights reserved. |
| 137 | + |
| 138 | +Redistribution and use in source and binary forms, with or without |
| 139 | +modification, are permitted only as authorized by the OpenLDAP |
| 140 | +Public License. |
| 141 | + |
| 142 | +A copy of this license is available in the file LICENSE in the |
| 143 | +top-level directory of the distribution or, alternatively, at |
| 144 | +<http://www.OpenLDAP.org/license.html>. |
| 145 | + |
| 146 | +LMDB itself devived code from btree.c written by Martin Hedenfalk: |
| 147 | +Copyright (c) 2009, 2010 Martin Hedenfalk <martin@bzero.se> |
| 148 | + |
| 149 | +Permission to use, copy, modify, and distribute this software for any |
| 150 | +purpose with or without fee is hereby granted, provided that the above |
| 151 | + copyright notice and this permission notice appear in all copies. |
| 152 | + |
| 153 | +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| 154 | +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| 155 | +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| 156 | +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| 157 | +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| 158 | +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| 159 | +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
0 commit comments