Comments 28
Кликбейтите, но ок.
А переписать enterprise код через LLM как это сделали с claude-cli, когда исходники попали в сеть, в свое время?
Не понял. А в чем суть такой лицензии?
Типа "списывай, но не точь в точь"
А миграции были под комерческой лицензией или под свободной? Судя по тому, что они остались - второе. Но в таком случае в чём проблема “коммерческих” таблиц в БД? Просто добавляем одну миграцию, которая их удалит, и всё…
Как раз наоборот: миграции были коммерческими. 51 файл (по 12–13 на каждую из четырёх СУБД) лежал в той же папке enterprise под лицензией FlowiseAI. Я удалил их из репозитория вместе с историей, распространять этот код нельзя. Остались не миграции, а таблицы в базах пользователей, которые уже обновились до Flowise 3.x.
С самими таблицами проблемы нет: схема базы и данные пользователя — не код FlowiseAI. Проблема в том, что код, который их создаёт, пришлось выкинуть, а открытая часть на эти таблицы опирается. Колонку workspaceId используют девять открытых миграций и запросы по всему серверу, а открытая миграция ModifyChatflowType для SQLite пересоздаёт chat_flow с внешним ключом на workspace. Поэтому «добавить миграцию, которая всё удалит» не получится. Без workspace новая база не соберётся, открытый код упадёт на первом же запросе, а у тех, кто обновляется с Flowise 3.x, мы бы удалили данные.
Так что я сделал обратное: свои миграции под Apache-2.0 создают user, organization, workspace и колонки workspaceId, если их нет, и ничего не делают, если есть. Keelflow сам ими пользуется: владелец входит через ту же таблицу user. Таблицы, которые Keelflow больше не нужны (roles, workspace_users, workspace_shared, login_activity), в старых базах остаются нетронутыми. Удалять миграцией данные пользователя без спроса не хочу, а если кто-то попросит, это будет отдельная команда очистки, которую запускают явно.
Спасибо, очень интересно!
Насколько понимаю, такая архитектура необычна, чтобы не сказать "неправильная" - обычно есть core open source, который 100% функционален без коммерческих добавок.
Кстати, вопрос - вы не изучали что делали остальные разработчики которые форкали проект?
Спасибо! Согласен, для open core это необычно. Обычно открытое ядро полностью рабочее, а коммерческая часть его дополняет, как у GitLab с его отдельным FOSS-вариантом. У Flowise так было до версии 3.0: в 1.x и 2.x вход настраивался логином и паролем в переменных окружения, и открытая часть работала сама. В 3.0 (май 2025) появились пользователи, организации и рабочие пространства. Их положили в коммерческую папку, но бесплатный режим начал работать через тот же код, просто с одним владельцем. Скорее всего, это удобство разработки, а не злой умысел, но в итоге без коммерческой папки открытая версия не запускается.
Форки смотрел, и при разведке, и сейчас ещё раз. Из 25 тысяч почти все — копии без своих коммитов. У самых звёздных форков (десяток-полтора звёзд) последние коммиты сделаны до закрытия, и коммерческая папка в них на месте. the-answerai/theanswer — отдельный продукт на базе Flowise, последний коммит в июне. После закрытия я нашёл только один форк, который тоже вырезал коммерческий код и сделал вход для одного пользователя: DimVai/Dim-Flowise. Но это личный проект автора, без звёзд и без явной лицензии. Остальные, судя по обсуждениям, уходят на Langflow, Dify или n8n.
Не то чтобы совсем необычная, скорее показательный опенвошинг. Технически нарушений лицензии нет, но напускная опен-сорсность, создающая доверие к продукту есть. Громадный респект автору статьи что не сдался и переписал - большинство в такой бы ситуации просто забили бы.
FlowiseAI, а копировать, публиковать и распространять запрещено.
Можно, потому что они согласились с EULA и загрузили код на Github. Больше курите мануалы неинтересные тексты :)
ЕМНИП, там довольно ограниченные права, вроде того, что смотреть на код и копировать кнопкой Fork можно, а редактировать и запускать — уже только если лицензия разрешает.
Условия GitHub действительно дают кое-что: выложив публичный репозиторий, автор разрешает другим пользователям смотреть код и форкать его средствами самого GitHub. Но на этом разрешение и кончается. Оно не распространяется на то, что обычно делают с форком: запускать в продакшене, собирать Docker-образ, раздавать людям вне GitHub.🫡
А коммерческая лицензия Flowise про это говорит прямо: в продакшене — только с подпиской, копировать и менять можно лишь для разработки и тестирования, а права на все изменения остаются у FlowiseAI. И последней строкой — запрет копировать, публиковать и распространять. Подписку теперь не купить, компании нет. Так что форк на GitHub сделать можно, а выпустить из него продукт, который люди поставят у себя, — нет. Поэтому я вырезал эту папку и написал замену под Apache-2.0. Я не юрист, но для проекта, который ставят компании, лучше, чтобы вопрос вообще не возникал.
И последней строкой — запрет копировать, публиковать и распространять. Подписку теперь не купить, компании нет.
Интересный момент: имеет ли запрет юридическую силу, если компании владевшей продуктом больше не существует? Если у кода нет юридического владельца, то не является ли это фактическим переходом в общественное достояние?
в ~/.flowise. Keelflow по умолчанию использует ~/.keelflow
:/ есть же https://specifications.freedesktop.org/basedir/latest/#variables зачем продолжать забивать $HOME ? Уже превратилась в папку Documents на Windows. Папка есть, хлам есть, документов нет.
Справедливо. ~/.keelflow появился как зеркало ~/.flowise: главное было, чтобы переход с Flowise работал без ручного переноса данных. Если ~/.keelflow пустой, а в ~/.flowise что-то есть, Keelflow берёт старую папку. Но новым установкам засорять $HOME незачем.
Сделаю так:
новые установки хранят данные в
$XDG_DATA_HOME/keelflow(по умолчанию~/.local/share/keelflow), на macOS — в~/Library/Application Support/keelflow, на Windows — в%LOCALAPPDATA%\keelflow;существующие
~/.keelflowи~/.flowiseпродолжают работать как есть: молча переносить чужую базу с ключом шифрования учётных данных — плохая идея;KEELFLOW_HOMEпо-прежнему переопределяет всё, в Docker путь задаётся им явно;логи, скорее всего, уедут отдельно в
$XDG_STATE_HOME.
Спасибо, войдёт в ближайший релиз.
зачем продолжать забивать $HOME
А что еще с ним делать?
Речь идет о $HOME как корневой папке. Для нужд программ предусматривается использовать подпапки .config, .cache & .local - см. ссылку выше.
Плюс за основательный подход. Вычищать пришлось много. Веселые, вайбовые ребята, чтобы с Github raw файлы подтягивать :)
Хотел локально по тыкать, запустил через docker.
Но, вот заюзать локальную LLM не удалось
Error in Agent node: isDeniedIP: Error: Access to this host is denied by policy.
Адрес к LLM endpoint через полный локальный ip.
Никаких настроек не нашел.
В docker помогает -e HTTP_SECURITY_CHECK=false
ладно, ок.. спишем на секьюрность по дефолту )
Видимо одна из причин ухода в прошлое таких low code конструкторов, это то что я не нашел как реализовать схему транскрибации из аудио файла, т.е. везде работа чисто с текстом ( хотя и функционал довольно разнообразный )
И нужно пилить свою обвязку и такого нет из коробки.
Но оказываетя апи транкрибаци настраивается в общих настройках агент флоу, что лично уменя ломает смысл этого ПО. Типа это конструктор в который можно было бы закинуть аудио по определенному апи ? нет )
Работа чисто с текстом, что в 2026 году морально устарело ибо например распознать картинку и сделать по ней html - для этого нужно прогать кастом туллзы
Имхо без переделок, это морально застряло на заре когда ЛЛМ-ки обрабатывали только текст и мульти модальность была как нечно запредельное
Хотя в целом идея конструктора еще может выстрелить когда более остро встанет вопрос об экономии токенов по средством узкопрофильности инструментов.
Flowise закрыли, я его форкнул — и выяснил, что форкать было нельзя