DOGE команда Илоны недавно получила доступ к финансовым базам данных США. Уже тогда было понятно что ничем хорошим это не закончится, но было интересно как именно они нафакапят.
Ответ не заставил себя долго ждать, в сеть утекло множество засекреченных документов, так что кого-то вероятно теперь посадят на бутылку.
https://www.huffpost.com/entry/elon-musk-doge-posts-classified-data_n_67ae646de4b0513a8d767112
Ответ не заставил себя долго ждать, в сеть утекло множество засекреченных документов, так что кого-то вероятно теперь посадят на бутылку.
https://www.huffpost.com/entry/elon-musk-doge-posts-classified-data_n_67ae646de4b0513a8d767112
HuffPost UK
Elon Musk’s DOGE Posts Classified Data On Its New Website
“People are scrambling” to see if their sensitive information has been accessed by Musk’s programmers, said one federal intelligence employee.
🤡6👎1😁1😢1🤣1
Если вы еще не подписаны на этих ребят, обязательно зацените:
🔹Фронтенд для души
Здесь разрабы не просто двигают кнопки и лутают деньги, а создают шедевры!
Канал с вдохновляющим фронтенд комьюнити, фичами, которых нет в других источниках, регулярными трендовыми идеями и книгами.
🔹 @sysadmin1 - специальный канал для сетевых и системных администраторов, а также инженеров DevOps
🔹cherkashin.dev — фронтенд разработчик в американской компании. Написал расширение Яндекс.Музыки для VS Code.
🔹 Злой полицейский - канал тимлида/разработчика/SOER’а.
Делюсь мыслями про веб, программирование, инструменты, WordPress, Joomla, Laravel, MoonShine, мотивацию, психологию, фильмы, сериалы.
🔹Kobezzza. База в программирование
Канал посвящен промышленной разработке, работе в Бигтехах, фундаментальным основам программирования, Computer Science. Автор канала Андрей Кобец , ex-Яндекс, в разработке 20 лет.
🔹@artalog - Канал автора reatom (стейт менеджер на сигнало-подобной апи, как нибудь расскажу про него подробнее). Постит годноту, и холиварные темы, не соскучитесь
🔹Фронтенд для души
Здесь разрабы не просто двигают кнопки и лутают деньги, а создают шедевры!
Канал с вдохновляющим фронтенд комьюнити, фичами, которых нет в других источниках, регулярными трендовыми идеями и книгами.
🔹 @sysadmin1 - специальный канал для сетевых и системных администраторов, а также инженеров DevOps
🔹cherkashin.dev — фронтенд разработчик в американской компании. Написал расширение Яндекс.Музыки для VS Code.
🔹 Злой полицейский - канал тимлида/разработчика/SOER’а.
Делюсь мыслями про веб, программирование, инструменты, WordPress, Joomla, Laravel, MoonShine, мотивацию, психологию, фильмы, сериалы.
🔹Kobezzza. База в программирование
Канал посвящен промышленной разработке, работе в Бигтехах, фундаментальным основам программирования, Computer Science. Автор канала Андрей Кобец , ex-Яндекс, в разработке 20 лет.
🔹@artalog - Канал автора reatom (стейт менеджер на сигнало-подобной апи, как нибудь расскажу про него подробнее). Постит годноту, и холиварные темы, не соскучитесь
Telegram
Фронтенд для души
Канал о фишках во фронтенде, хорошем настроении и многом другом, заходи)
Автор @Dragonek
Автор @Dragonek
🔥11👍3💩2🍌1
Уже сейчас AI генерирует интегральные схемы которые на практике оказались намного эффективнее того что делает опытный человек, и, что ещё более интересно - для человека они выглядят дико и непонятно, поскольку выходят за рамки принятых в индустрии норм и правил.
Как думаете, сколько месяцев или лет пройдет до того момента чтобы подобное произошло в программировании? Долго ли осталось ждать AI компиляторы кода?
Я не уверен, может зря мы ее обучаем кодить на примерах нашего кода, может надо было скормить ей исходники движка хрома? Дать ей возможность и здесь выходить за рамки принятого?
Есть над чем подумать
Как думаете, сколько месяцев или лет пройдет до того момента чтобы подобное произошло в программировании? Долго ли осталось ждать AI компиляторы кода?
Я не уверен, может зря мы ее обучаем кодить на примерах нашего кода, может надо было скормить ей исходники движка хрома? Дать ей возможность и здесь выходить за рамки принятого?
Есть над чем подумать
👍11😢5🍌4😁1🤔1
Прошла презентация framework.
Чего показали кратко:
🔹Новые материнки с процами для 13шек. Мощнее, холоднее, модели с предыдущей версией материнки подешевели (теперь от $ 740)
🔹Релизнули мини атс десктоп для аишек и игр на базе Ryzen AI MAX. Дешевле аналогичного по мощностям mac studio (4800 vs 1999). Приспособлен собираться в стойки из нескольких штук если хочется домашний кластер
🔹Релизнули 12шки, с тачскрином, аудитория - школьники и студенты, сделано с упором на доступность и неубиваемость
🔹Остальное различные косметические мелочи
Чего показали кратко:
🔹Новые материнки с процами для 13шек. Мощнее, холоднее, модели с предыдущей версией материнки подешевели (теперь от $ 740)
🔹Релизнули мини атс десктоп для аишек и игр на базе Ryzen AI MAX. Дешевле аналогичного по мощностям mac studio (4800 vs 1999). Приспособлен собираться в стойки из нескольких штук если хочется домашний кластер
🔹Релизнули 12шки, с тачскрином, аудитория - школьники и студенты, сделано с упором на доступность и неубиваемость
🔹Остальное различные косметические мелочи
👍10❤1
Forwarded from bano.dev / духовка
Мир очень жесток к проигравшим. Ничто не повышает чувство важности больше, чем поставить ногу на череп поверженного и сказать: «Я же говорил! Я был прав!»
Firefox находится на рынке браузеров в позиции проигравшего уже с десяток лет. И теперь, когда схема с продажей людей гуглу через поиск по умолчанию ломается (это 80% дохода), им нужно резко искать новые способы дохода.
Они уже полгода назад предложили решение: они будут продавать агрегированные данные людей специальным провайдерам, которые эти данные будут перепродавать рекламщикам. Те же яйца, только теперь инфраструктура перепродажи не в руках гугла.
Лиса начала переход на такую модель, добавляя новые документы. И тут твиттер и телега взорвались. Все очень возмущены: как же так, а где же белые рукавички и пушистая шерстка?
У тебя, дорогой читатель, есть возможность выбрать стратегию прохождения этого энкаунтера:
Близорукость: перейти на Waterfox, Librewolf, Zen и так далее. Забыв, что если Мозилла умрет, то рескины Firefox помрут вместе с ней.
Лицемерие: перейти на Vivaldi, Opera, и так далее. Не забыв при этом еще крикнуть: «да мозилла же данные людей продает!»
Дальнозоркость: верить в развитие Ladybird, Servo. Это рядом с позицией: «Зачем нам воздух чистить, если мы скоро на Марс полетим?»
Наивность: показательно удивляться, что компании необходимо четко выбирать слова, по которым их могут привести в суд, и что она может поменять условия контракта, если в контракте это указано.
Злорадство: сказать, что все и так было давно понятно, и вообще тебе нечего скрывать и Партия зовет на свершения!
Есть конечно еще скрытые руты прохождения:
Индифферентность:просто пройти мимо, ведь тебя это в действительности не касается.
Рьяность:сказать, что ты будешь «поддерживать хоть сатану, лишь бы он объявил войну гитлеру».
Милосердие:пойти задонатить Мозилле на ее продление ее незавидной жизни.
Firefox находится на рынке браузеров в позиции проигравшего уже с десяток лет. И теперь, когда схема с продажей людей гуглу через поиск по умолчанию ломается (это 80% дохода), им нужно резко искать новые способы дохода.
Они уже полгода назад предложили решение: они будут продавать агрегированные данные людей специальным провайдерам, которые эти данные будут перепродавать рекламщикам. Те же яйца, только теперь инфраструктура перепродажи не в руках гугла.
Лиса начала переход на такую модель, добавляя новые документы. И тут твиттер и телега взорвались. Все очень возмущены: как же так, а где же белые рукавички и пушистая шерстка?
У тебя, дорогой читатель, есть возможность выбрать стратегию прохождения этого энкаунтера:
Близорукость: перейти на Waterfox, Librewolf, Zen и так далее. Забыв, что если Мозилла умрет, то рескины Firefox помрут вместе с ней.
Лицемерие: перейти на Vivaldi, Opera, и так далее. Не забыв при этом еще крикнуть: «да мозилла же данные людей продает!»
Дальнозоркость: верить в развитие Ladybird, Servo. Это рядом с позицией: «Зачем нам воздух чистить, если мы скоро на Марс полетим?»
Наивность: показательно удивляться, что компании необходимо четко выбирать слова, по которым их могут привести в суд, и что она может поменять условия контракта, если в контракте это указано.
Злорадство: сказать, что все и так было давно понятно, и вообще тебе нечего скрывать и Партия зовет на свершения!
Есть конечно еще скрытые руты прохождения:
Индифферентность:
Рьяность:
Милосердие:
❤7👍2🤡2😢1
Стоит ли сделать пост о том как сделать очень простую devtools панель экстеншеном, которая будет показывать определенные события в виде красивого лога?
Спойлер, для этого вам понадобится написать минимум 4 файла которые будут общатся друг с другом по средством событий
inject-noscript -> content-noscript -> background-noscript -> devtools-noscript
Спойлер, для этого вам понадобится написать минимум 4 файла которые будут общатся друг с другом по средством событий
inject-noscript -> content-noscript -> background-noscript -> devtools-noscript
🔥26🍌2
Ситуация - жил был бэкэнд, который умел присылать комментарии в которых могли быть прикрепленные файлы.
А потом бэкэнд решили по дробить на микросервисы помельче, и так у нас появилось два бэкэнда - один для файлов а второй для комментариев.
А это значит что теперь нам вместе с комментарием прилетает только набор id файлов, а все метаданные (название файла например) мы должны получить доп запросом в другой сервис.
У бэкенда стал чище код, но у пользователей стал медленее фронт.
Стоило ли оно того? Есть ли решение win win? Если нет, то как убедить коллегу бэкэндера что комфорт пользователя важнее чистого кода
А потом бэкэнд решили по дробить на микросервисы помельче, и так у нас появилось два бэкэнда - один для файлов а второй для комментариев.
А это значит что теперь нам вместе с комментарием прилетает только набор id файлов, а все метаданные (название файла например) мы должны получить доп запросом в другой сервис.
У бэкенда стал чище код, но у пользователей стал медленее фронт.
Стоило ли оно того? Есть ли решение win win? Если нет, то как убедить коллегу бэкэндера что комфорт пользователя важнее чистого кода
👍7
А вы знали что в сети есть общий редис к которому у всех есть доступ на запись и чтение (но не удаление / изменение)?
keyval.org
Удобно для онлайн демок, обучения, в примерах кода, PoC, шеринга чего-то временного.
Сейчас данные хранятся вечно, но в будущем будут очищаться каждую неделю или две.
Там всего два эндпоинта для записи и для чтения, поэтому и "SDK" для него получилась всего в несколько строк
(открыть в repl)
keyval.org
Удобно для онлайн демок, обучения, в примерах кода, PoC, шеринга чего-то временного.
Сейчас данные хранятся вечно, но в будущем будут очищаться каждую неделю или две.
Там всего два эндпоинта для записи и для чтения, поэтому и "SDK" для него получилась всего в несколько строк
const key = await KeyVal.save('test');
const val = await KeyVal.get(key);
console.assert(val === 'test', 'Should return saved value');
await KeyVal.set('myKey', 'myVal');
const myVal = await KeyVal.get('myKey');
console.assert(myVal === 'myVal', 'Should return value for myKey');(открыть в repl)
keyval.org
A super simple key value database
👍13
Если вас так же как и меня бесит что в zed редакторе не работают базовые шорткаты когда вы не на EN раскладке - вот фикс:
1. Menu -> Open Key BIndings -> Add combinations:
2. Добавляем в массив джейсонину
P.S. Кстати в zed завезли панельку для git
1. Menu -> Open Key BIndings -> Add combinations:
2. Добавляем в массив джейсонину
{
"context": "Editor",
"bindings": {
"ctrl-cyrillic_es": "editor::Copy",
"ctrl-cyrillic_em": "editor::Paste",
"ctrl-cyrillic_che": "editor::Cut",
"ctrl-cyrillic_ef": "editor::SelectAll",
"ctrl-cyrillic_ya": "editor::Undo",
"ctrl-cyrillic_en": "editor::Redo",
"ctrl-cyrillic_a": "buffer_search::Deploy",
"ctrl-cyrillic_yeru": "workspace::Save"
}
}P.S. Кстати в zed завезли панельку для git
Zed
Zed — Love your editor again
Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
👍7👀4🤡2🤣1
Как преобразовать Map в обычный объект в js?
Часто можно встретить такое решение
Это рабочий код, но есть вариант элегантнее:
Часто можно встретить такое решение
function headersToRecord(headers: Headers): Record<string, string> {
const result: Record<string, string> = {};
headers.forEach((value, key) => {
result[key] = value;
});
return result;
}Это рабочий код, но есть вариант элегантнее:
Object.fromEntries(headers)🔥6🤨6💯5👍3🤣1
windserf_update.sh
2.3 KB
Если захотите попробовать windsurf (аишный форк vscode от codeium), и у вас так же как у меня Fedora,
то вы обнаружите что репозиторий у них только для debian дистров.
Я допилил немного найденный в сети bash, для установки и обновления windsurf на Fedora
то вы обнаружите что репозиторий у них только для debian дистров.
Я допилил немного найденный в сети bash, для установки и обновления windsurf на Fedora
👍4🔥2⚡1🙏1
Разработчики в 2021 - Я иногда копирую код со staсk overflow, а остальное собираю из библиотек и даже не знаю как они работают (борется с синдромом самозванца)
Разработчики в 2025 - Я пишу этот код одной фичи уже целый день, когда другие люди уже написали весь фронт с нуля и половину инфраструктуры с помощью AI (как назовем этот синдром?)
Разработчики в 2025 - Я пишу этот код одной фичи уже целый день, когда другие люди уже написали весь фронт с нуля и половину инфраструктуры с помощью AI (как назовем этот синдром?)
❤5😢2🤡1🍌1
А вы знали что в chromium браузерах запрос c payload > 64 KB, при заголовке Keep-Alive: true упадет (TypeError: failed to fetch)?
https://stackoverflow.com/a/65599511
https://stackoverflow.com/a/65599511
MDN Web Docs
Keep-Alive header - HTTP | MDN
The HTTP Keep-Alive request and response header allows the sender to hint how a connection may be used in terms of a timeout and a maximum amount of requests.
🤔7🤯5👍1
Work & Beer Balance
Постоянно гуглю этот тип, так что решил обронить его тут. Полезная вещь для дебага, позвоялет "развернуть" сложный тип. Ну то-есть выводит конечный тип после всех дженериков юнионов и тп. Если совсем просто - вместо SomeGeneric<SomeOtherGeneric, AnotherGe…
Еще в копилку, расширение для vscode помогает развернуть детально сложные типы в виде дерева
https://github.com/d-kimuson/ts-type-expand
ext install kimuson.ts-type-expand
Демо
Подписчик показал плагин который делает тоже самое но лучше:
https://github.com/mxsdev/ts-type-explorer
Демо
ext install kimuson.ts-type-expand
Подписчик показал плагин который делает тоже самое но лучше:
https://github.com/mxsdev/ts-type-explorer
ext install mxsdev.typenoscript-explorerДемо
🔥18
В Zed можно запускать тесты вот такой кнопулчекой напротив его названия.
Однако по умолчанию zed попытается запустить их с помощью встроенного jest-a
Вот только jest остался лишь в моих кошмарных снах, я давно уже на vitest, и как же мне заставить zed использовать его.
Достаточно просто если знать что делать:
1) F1 -> zed: open project tasks (иди без project если вы хотите сделать таску глобальной)
2) добавьте в json массив следующее
3. Перезапустите zed
Это необходимый минимум чтобы vitest заработал.
А вообще там много чего можно настроить, полный файл конфига таски с комментариями ищите в первом сообщении под этим постом
Однако по умолчанию zed попытается запустить их с помощью встроенного jest-a
Вот только jest остался лишь в моих кошмарных снах, я давно уже на vitest, и как же мне заставить zed использовать его.
Достаточно просто если знать что делать:
1) F1 -> zed: open project tasks (иди без project если вы хотите сделать таску глобальной)
2) добавьте в json массив следующее
{
"label": "Run Vitest",
"command": "npx vitest run",
"tags": [
"ts-test",
"js-test",
"tsx-test"
],
"args": [
"\"$ZED_RELATIVE_FILE\" -t=\"$ZED_SYMBOL\""
],
"shell": "system"
}3. Перезапустите zed
Это необходимый минимум чтобы vitest заработал.
А вообще там много чего можно настроить, полный файл конфига таски с комментариями ищите в первом сообщении под этим постом
👍13💩3❤1🔥1👀1
Загадка:
Есть вот такой вот тест
Запускаешь только первый или только второй тест он проходит, а сразу два - всегда падаeт второй тест - он получает
Почему?
Ответ:
Если вы замокали модуль в beforeEach это еще не значит что ваш код будет в эти моки ходить. И ESM и CommonJs не грузят модуль каждый раз когда он импортирован, инстанцируют его один раз, а потом кладут в кэш.
Поэтому не смотря на то что модуль мокается перед каждым тестом - все тесты будут использовать только первый мок.
Чтобы этого избежать - нужно вызвать vi.resetModules() перед каждым vi.doMock()
Есть вот такой вот тест
import { beforeEach, describe, expect, test, vi } from 'vitest';
interface TestCTX {
storage: MockStore;
}
class MockStore {
kv = new Map();
async writeKVPair(key: string, value: string) {
this.kv.set(key, value);
}
async readValue(key: string) {
return this.kv.get(key);
}
dump(): Record<string, string> {
return Object.fromEntries(this.kv);
}
}
describe('Check command "update"', { sequential: true, concurrent: false }, () => {
beforeEach<TestCTX>(async (ctx) => {
const storage = new MockStore();
vi.doMock('./storage', () => ({ storage }));
ctx.storage = storage;
});
test<TestCTX>('Report saved', async (ctx) => {
const { updateCommand } = await import('./update');
await updateCommand('foo');
const result = ctx.storage.dump();
expect(Object.keys(result).length).toEqual(1);
});
test<TestCTX>('Report save value', async (ctx) => {
const { updateCommand } = await import('./update');
await updateCommand('bar');
const result = ctx.storage.dump();
const firstValue = Object.values(result)[0];
expect(firstValue).toEqual('bar');
});
});Запускаешь только первый или только второй тест он проходит, а сразу два - всегда падаeт второй тест - он получает
result === undefinedПочему?
Ответ:
Поэтому не смотря на то что модуль мокается перед каждым тестом - все тесты будут использовать только первый мок.
Чтобы этого избежать - нужно вызвать vi.resetModules() перед каждым vi.doMock()
🤔5👍2🔥1🤯1
знаете че такое GDPR? Это когда вас мучают распросами про печенье, да? А что такое TCF и CMP?
Давайте быстренько расскажу а потом будет история из практики.
TCF (Transparency and Consent Framework) - это такой стандарт функции управления согласием XD. Короче, спека как спрашивать про куки и что хранить.
Этот стандарт касается только европы, а так то их много разных (IAB CCPA CF, Google CM, Adobe EPCM, DAA Adchoices, CNIL, ISO/IEC 29184:2020 и тп. кто во что гаразд)
CMP - Consent Management Platform. Это программная обертка вокруг стандарта. Ну чтобы можно было просто дергать методы а оно там само все по стандарту оформлялось и хранилось.
Причем одна CMP может внутри реализовать n TCF. Таких оберток естессно тоже на целый зоопарк.
Все это приправлено драконовскими законами со штрафами до 20 миллионов евро, или 4% годовой прибыли например.
И просто взять и написать свой CMP нельзя - его надо написать по спеке, пройти регистрацию, получить айди. Что-то вроде лицензирования.
Теперь когда вы в курсе че как, ситуация - в мобильном приложении мобильный CMP, внутри него есть вебвью где открывается спа (предназначенная так же и для открытия просто в вэбе) где тоже есть свой CMP.
Разработчики мобилки решили что это тупо два раза спрашивать пользователя и не грузят в вэбвью Js-овский CMP, а одна из SDK пытается его найти в window.
Как я понимаю у них там какая-то жесткая изоляция вэбвью так что они мне только через урл могут пробросить TCF (список того на что согласен юзер), а мне надо притворится CMP для SDK и ответить согласно этой строке, т.е. реализовать один метод.
Но так нельзя, помните я говорил про то что надо лицензию получить на своё CMP решение? Вот такая засада
Давайте быстренько расскажу а потом будет история из практики.
TCF (Transparency and Consent Framework) - это такой стандарт функции управления согласием XD. Короче, спека как спрашивать про куки и что хранить.
Этот стандарт касается только европы, а так то их много разных (IAB CCPA CF, Google CM, Adobe EPCM, DAA Adchoices, CNIL, ISO/IEC 29184:2020 и тп. кто во что гаразд)
CMP - Consent Management Platform. Это программная обертка вокруг стандарта. Ну чтобы можно было просто дергать методы а оно там само все по стандарту оформлялось и хранилось.
Причем одна CMP может внутри реализовать n TCF. Таких оберток естессно тоже на целый зоопарк.
Все это приправлено драконовскими законами со штрафами до 20 миллионов евро, или 4% годовой прибыли например.
И просто взять и написать свой CMP нельзя - его надо написать по спеке, пройти регистрацию, получить айди. Что-то вроде лицензирования.
Теперь когда вы в курсе че как, ситуация - в мобильном приложении мобильный CMP, внутри него есть вебвью где открывается спа (предназначенная так же и для открытия просто в вэбе) где тоже есть свой CMP.
Разработчики мобилки решили что это тупо два раза спрашивать пользователя и не грузят в вэбвью Js-овский CMP, а одна из SDK пытается его найти в window.
Как я понимаю у них там какая-то жесткая изоляция вэбвью так что они мне только через урл могут пробросить TCF (список того на что согласен юзер), а мне надо притворится CMP для SDK и ответить согласно этой строке, т.е. реализовать один метод.
Но так нельзя, помните я говорил про то что надо лицензию получить на своё CMP решение? Вот такая засада
🤯5💩2👍1🏆1
Зацените дизайн сайта Билла Гейтса. Одна только анимация погрузки изображений чего стоит
https://www.gatesnotes.com/home/home-page-topic/reader/microsoft-original-source-code
https://www.gatesnotes.com/home/home-page-topic/reader/microsoft-original-source-code
gatesnotes.com
Celebrating 50 years of Microsoft | Bill Gates
This one piece of code led to a half century of innovation from Microsoft.
😍12👍5🔥4👎1😁1🤔1🤮1
Redis 8 снова станет опенсорс.
Из интервью с СЕО редиса (Rowan Trollope) подчерпнул пару интересных моментов:
Роуэн говорит по сути о том что такие гиганты как Google Amazon и Microsoft перепродавали Redis (с модификациями?) как сервис за деньги, причем под своими брендами.
Т.е. нигде даже не упоминалось что это сделано на базе Redis. (так же упоминает что аналогичная проблема была у Elastic Search)
В результате перехода на другую лицензию удалось собрать денег с Microsoft, а Google и Amazon перешли на форк - valkey
Однако вместе с этим появились проблемы с тем чтобы найти новых клиентов, убедить их что "SSPL это тоже самое что Open Source" не получилось
В итоге они перешли обратно на открытую лицензию, но на AGPL, который обязывает выкладывать весь код запускаемый на сервере в котором будет использоваться redis, потому что это лицензия "копилефт" (т.е. по сути распространяется на весь код в котором используется код редиса).
И они знают - в бигтехе есть внутренне правило избегать ПО с такими лицензиями
Всю суть происходящего лучше всего описывает вот эта фраза
Т.е. менять на закрытую лицензию было не так страшно, ведь был шанс срубить капусты.
А теперь когда уже шансов нет - надо все таки вернуть опенсорс, но так что б те кто не захотел дать денях все еще предпочел сидеть на форке.
Напоминает ситуацию "на зло маме уши отморожу".
P.S. Интересно, как скоро Microsoft который купил лицуху на редис всего год назад, а теперь должен выложить весь серверный код ради того чтобы обновиться, перейдет на valkey
Из интервью с СЕО редиса (Rowan Trollope) подчерпнул пару интересных моментов:
Роуэн говорит по сути о том что такие гиганты как Google Amazon и Microsoft перепродавали Redis (с модификациями?) как сервис за деньги, причем под своими брендами.
Т.е. нигде даже не упоминалось что это сделано на базе Redis. (так же упоминает что аналогичная проблема была у Elastic Search)
В результате перехода на другую лицензию удалось собрать денег с Microsoft, а Google и Amazon перешли на форк - valkey
Однако вместе с этим появились проблемы с тем чтобы найти новых клиентов, убедить их что "SSPL это тоже самое что Open Source" не получилось
And I was: ‘This isn’t working. Like, oh shit, what do we do now?’”
В итоге они перешли обратно на открытую лицензию, но на AGPL, который обязывает выкладывать весь код запускаемый на сервере в котором будет использоваться redis, потому что это лицензия "копилефт" (т.е. по сути распространяется на весь код в котором используется код редиса).
И они знают - в бигтехе есть внутренне правило избегать ПО с такими лицензиями
Всю суть происходящего лучше всего описывает вот эта фраза
“We really thought it through and said, ‘Actually, this makes sense.’ Because Amazon and Google have made their bed, we could adopt the AGPL license."
Т.е. менять на закрытую лицензию было не так страшно, ведь был шанс срубить капусты.
А теперь когда уже шансов нет - надо все таки вернуть опенсорс, но так что б те кто не захотел дать денях все еще предпочел сидеть на форке.
Напоминает ситуацию "на зло маме уши отморожу".
P.S. Интересно, как скоро Microsoft который купил лицуху на редис всего год назад, а теперь должен выложить весь серверный код ради того чтобы обновиться, перейдет на valkey
The New Stack
Redis Is Open Source Again
Redis, the popular in-memory data store, is available under an open source license again.
👍3