The OpenNET Project / Index page

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

Первый стабильный выпуск библиотеки GNU libmicrohttpd

02.02.2024 10:48

Проект GNU опубликовал выпуск библиотеки libmicrohttpd 1.0.0, который отмечен как первый стабильный релиз за 16 лет существования проекта. Библиотека написана на языке Си и представляет простой API для встраивания функциональности HTTP-сервера в приложения. Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 и z/OS. Код распространяется под лицензией LGPL 2.1+. При сборке по умолчанию библиотека занимает около 200 КБ, а в минимальном режиме сборки - 32 КБ. В зависимостях используется только libc, а также libgnutls при опциональной сборке с поддержкой TLS.

Библиотека поддерживает протокол HTTP 1.1, TLS, инкрементальную обработку POST-запросов, приём соединений с нескольких сетевых портов, basic- и digest-аутентификацию, IPv6, SHOUTcast, различные методы мультиплексирования соединений (select, poll, epoll) и модели многопоточности (например, можно использовать пул потоков или поток на соединение). Для снижения накладных расходов, возникающих при переключении контекста между ядром и пространством пользователя, число системных вызовов в процессе работы сведено к минимуму. Безопасность кодовой базы libmicrohttpd подтверждена аудитами, проведёнными компаниями Mozilla и Red Hat.

Наиболее заметные изменения по сравнению с прошлым выпуском:

  • Переписан и приведён к полному соответствию требованиям RFC 9110 и 9112 код для разбора запросов клиентов. Предоставлены режимы строгого и мягкого соблюдения спецификаций для балансирования между совместимостью или более высокой безопасностью.
  • Переработана реализация digest-аутентификации, в которой значительно расширена поддержка возможностей, присутствующих в RFC 7617. В том числе обеспечена поддержка SHA-512, userhash и username в расширенной нотации. Также сохранена поддержка старого RFC 2069 и возможность использования хэшей MD5 и SHA-256.
  • Улучшена работа в многопоточных окружениях и при режимах поллинга сокетов.
  • Переработана реализация basic-аутентификации, для которой в ABI предложены дополнительные функции.
  • Переделан код для инициализации GnuTLS. Добавлена возможность использования как типовой, так и специфичной для libmicrohttpd системной конфигурации GnuTLS, а также поддержка переопределения отдельных настроек системной конфигурации GnuTLS.

В дальнейшем планируется заняться разработкой ветки libmicrohttpd 2, в которой будет обеспечена поддержка протоколов HTTP/2 и HTTP/3, а также проведена работа по упрощению API и поддержке разных бэкендов для TLS. Начало работы над новой веткой будет профинансировано фондом Sovereign, учреждённым в Германии для стимулирования развития открытой цифровой инфраструктуры и экосистем с открытым исходным кодом.

  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск библиотеки GNU libmicrohttpd 0.9.77
  3. OpenNews: Выпуск P2P-платформы GNUnet 0.13. Продвижение GNS в качестве интернет-стандарта
  4. OpenNews: Подведены итоги аудита кода библиотеки GNU libmicrohttpd
  5. OpenNews: Представлен uselessd, минималистичный вариант systemd
  6. OpenNews: Библиотека на Си для встраивания HTTP сервера в приложения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60540-libmicrohttpd
Ключевые слова: libmicrohttpd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (110) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:50, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http as a service.
     
     
  • 2.26, Аноним (-), 12:50, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > http as a service.

    Почти. На ней мелкие HTTP серваки встроенные в программы делают. Довольно норм для этих целей так то.

     
     
  • 3.110, Аноним (110), 13:01, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И чо, есть примеры тех, кто делает?
     
     
  • 4.112, Аноним (112), 13:54, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И чо, есть примеры тех, кто делает?

    Дешево и сердито - reverse deps в своем дистро лукапнуть кто от него depends. Их есть.

    Collectd - кажет в вебфейс свои графики. Debuginfod - понятно чего. Motion (охранка, движение на камере) - может морду казать. Некоторые части systemd, kodi (мульмимедиа-центр) и еще всяких разных, (не)полный список вооон там.

     
     
  • 5.116, Аноним (116), 18:06, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Некоторые части systemd

    Это всё объясняет.

     
     
  • 6.121, Аноним (112), 05:45, 04/02/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Некоторые части systemd
    > Это всё объясняет.

    Что это объясняет? Что поцтер может вместо изобретения вела взять существующую либу? Он это и с рядом других либ проделал так то. С таким же успехом можно кивать на допустим LZ4 какой (которым оно может [опционально] жать журналы в journald). Но вы конечно можете не пользоваться LZ4 потому что им системд пользуется, такое отмораживание ушей назло бабушке будет смешно.

    И нет, ни libmicrohttpd ни lz4 какой не писали "специально для системд". Это совершенно отдельные либы от других людей.

     

  • 1.2, Аноним (2), 11:07, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > релиз за 16 лет

    это 2008 год, а в 2009 появился go, где всеgo gораздо больше и вкуснее, для встройки какой мб.

     
     
  • 2.8, IdeaFix (ok), 11:27, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    32 килобайта?
     
     
  • 3.71, Аноним (71), 17:31, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И еще плюс десяток мегабайт при "libgnutls при опциональной сборке с поддержкой TLS"
     
  • 2.13, Аноним (13), 11:45, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Этот тот язык с GC? Спасибо, перетопчимся
     
     
  • 3.18, Аноним (18), 12:07, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ну, вы 16 лет топтались и ещё потопчетесь на месте столько же)
     
     
  • 4.45, Аноним (45), 14:19, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну кто-то топтался, а кто юзал lwan или libwebsockets
     
  • 4.73, Аноним (73), 18:23, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну с 2000ых я много языков повидал. Про php, c#, java, perl и даже delphi тоже так говорили (не говоря уже о менее популярных). И где они теперь?
    А си как был, так и остался.
     
     
  • 5.94, Аноним (116), 01:12, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В топе уязвимых технологий?
     
  • 5.97, Аноним (-), 02:18, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И где они теперь?

    На пыхе пол-инета работало, да и сейчас много где осталась.
    Шарп открыз часть рынка у пыхи + прикладной
    На джаве почти весь банковский сектор
    Делфи да, помер... осталось только легаси за мульоны денег.
    А перловка как была не нужна, так и осталась.

    А где сишка? Прокладка для запуска этого всего добра? Причем дырявая...

     
     
  • 6.105, Tron is Whistling (?), 11:15, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пых от C лучше не отделять. Говорим пых, в уме держим C, потому что пых это в том числе обвязка для кучи библиотек на оном.
     
  • 6.115, Аноним (115), 14:09, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Шарп открыз часть рынка у пыхи + прикладной

    И чего бы это из писаного на пыхе было заменено на дотнетчину? Я так сходу не могу ни 1 програмы придумать. Скажем ни 1 приличного форумного движка на дотнете я вообще ни разу не видел, а чтоб там еще и юзери были....

     
     
  • 7.117, Аноним (116), 18:08, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Скажем ни 1 приличного форумного движка на дотнете я вообще ни разу не видел

    А на пыхе, значит, видели?

     
     
  • 8.122, Аноним (112), 05:48, 04/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разумеется Более того - в какой более-менее юзабельный форумный двигун не ткни ... текст свёрнут, показать
     
  • 5.103, Tron is Whistling (?), 11:13, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле, где.
    C - это мейнстрим.
    PHP - это мейнстрим.
    Java - это мейнстрим.
    C# - это альтернативный мейнстрим с претензиями на место жабы.
     
  • 5.104, Tron is Whistling (?), 11:14, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Остальное, всякие руби и прочее - да - просто сдохло, столько банально не надо. Игогошечки с хрустами на очереди в этот же ряд.
     
  • 3.22, MVK (??), 12:28, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >язык с GC? Спасибо, перетопчимся

    - в Вашем дистрибутиве уже устранили баг: CVE-2023-4911 (позволяет локальному злоумышленнику получить root-привилегии, используя переполнение буфера в динамическом загрузчике ld.so библиотеки GNU C)?

     
     
  • 4.38, Аноним (45), 13:33, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Предлагаешь линковщик ld.so переписать на рас^W go?
     
     
  • 5.47, Аноним (116), 14:52, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Предлагаю по возможности не использовать ld.so в своих программах (давно так делаю, жить стало сильно легче).
     
     
  • 6.57, Аноним (-), 16:31, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Предлагаю по возможности не использовать ld.so в своих программах (давно так делаю,
    > жить стало сильно легче).

    Это врядли - без реюза библиотечного кода программы как раз таки тяжелеют.

     
     
  • 7.92, Аноним (116), 01:09, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На проде они всё равно запускаются в изолированном корне (не устраивать же в системе свалку из кучи демонов).
     
     
  • 8.98, Аноним (-), 06:50, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Изоляция - понятие относительное Полный unshare файлов и памяти можнор так то и... текст свёрнут, показать
     
  • 6.61, Аноним (13), 16:58, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В своим хеллоуворлдах можешь хоть статически все собирать, только причем тут ты и твои программы?
     
     
  • 7.89, Аноним (116), 01:05, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В качестве примера разумного поведения.
     
  • 4.79, Igor (??), 19:18, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я вот смотрю по сторонам и никак не вижу локального злоумышленника! А сам  и так могу получить root - без взлома! Т.е. речь идет о каких-то публичных серверах, где бродят толпы посторонних пользователей.
     
     
  • 5.81, Хейтер (?), 20:13, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >смотрю по сторонам и никак не вижу локального злоумышленника!

    - таким злоумышленником может быть установленное приложение или вирусняк

     
  • 5.90, Аноним (116), 01:06, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я вот смотрю по сторонам и никак не вижу локального злоумышленника!

    Да вы и удалённого злоумышленника не увидите, потому что он к вам сзади подойдёт.

     
  • 2.25, Аноним (25), 12:49, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем GO? В Питоне еще больше всего! А для встройки вообще есть LUA...
     
     
  • 3.58, Аноним (-), 16:42, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем GO? В Питоне еще больше всего! А для встройки вообще есть LUA...

    То-то гугол с питона на игогоху все переписывает.

     
     
  • 4.70, Аноним (70), 17:31, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Бессмысленная трата времени и денег, потом всё равно на Расте переписывать.
     
     
  • 5.74, Аноним (73), 18:25, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А потом все равно с раста на "новый модный язык для премии нового менеджера"
     
     
  • 6.96, Аноним (116), 01:15, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И только переполнения буфера — нестареющая классика, которая всегда остаётся в тренде!
     
  • 4.75, Аноним (73), 18:30, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так и мелкомягкие все с плюсов на шарп переписывали. Ну и где теперь шарп?
    И гугл тоже какое-то время все на джаву переписывал. Помню во всех айтишных новостях пару лет мелькало "в джава все гораздо лучше с безопасностью, поэтому андройд будет на джаве". В итоге андройд самая днищенская ос по безопасности (разве что винда ещё хуже) как раз из-за джавы и гугловых апи. Безопасности так и не добавили, а вот тормоза появились. Теперь с растом точно также носятся.
     
  • 2.27, Аноним (-), 12:52, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > это 2008 год, а в 2009 появился go, где всеgo gораздо больше и вкуснее,
    > для встройки какой мб.

    На go хрен встроишь сервак в уже существующую программу. Только с ноля писать. Если сишникам хочется что-то похожее на гошные микросервисы - это скорее lwan будет. У этой штуки апи относительно низкоуровневое. Зато и контроль над происходящим хороший.

     
     
  • 3.31, Аноним (31), 12:58, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Го встраивается легчайше и статично. Разве что размеры и тулинг таскать. Ну и безопасность под вопросом.
     
     
  • 4.35, Аноним (-), 13:02, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Го встраивается легчайше и статично.

    В сишную программу то? Добавив мегов так 10 к ней? А мне точно надо HTTP серв такой ценой?

    > Разве что размеры и тулинг таскать. Ну и безопасность под вопросом.

    Зависимость от гугли - ну такое себе. ЯП который делает 1 фирма это суперсыкотно. Вон там дотнетчики в соседней новости уже узнают почему. Их менеджмент майкрософт в легаси записал по второму разу :D. И в этот раз, кажется, всерьез.

     
     
  • 5.42, Аноним (31), 13:51, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гошный бинарь можно сделать 5 килобайт. Но тогда будет куча зависимостей и теряется прелесть го. Чего положили в сам гошный сервак только гугл знает.
     
     
  • 6.48, Аноним (116), 14:55, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если эту прогу выполнять на сервере в контейнере/чруте (как делают те, кому не пофиг не безопасность), становится очевидным, что в одном случае, помимо бинаря на 5 кБ, нужно еще 20 Мб библиотек (и пое*ться с их установкой), а во втором — закинуть один статический бинарь 20 Мб.
     
     
  • 7.99, Аноним (-), 06:53, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Если эту прогу выполнять на сервере в контейнере/чруте (как делают те, кому
    > не пофиг не безопасность), становится очевидным, что в одном случае, помимо
    > бинаря на 5 кБ, нужно еще 20 Мб библиотек (и пое*ться
    > с их установкой), а во втором — закинуть один статический бинарь 20 Мб.

    А можно использовать продвинутые технологии - и тогда эта система будет +1 референсом на систему "хоста" с 1 стороны, но выглядеть как отдельная для софта - с другой. Ваши знания протухли и нерелевантны.

    А если у вас оперативка и место на хостах бесплатные - можете хоть 100 мегов таскать. За свой счет, конечно.

     
  • 6.56, Аноним (13), 16:02, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я тож могу на C написать прогу из одной процессорной инструкции, будет меньще 5Кб, только ничего делать не будет
     
     
  • 7.60, Аноним (-), 16:44, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Я тож могу на C написать прогу из одной процессорной инструкции, будет
    > меньще 5Кб, только ничего делать не будет

    А ты лучше в 32 кило полноценный HTTP сервак без откровенных вулнов уложи, тогда и поговорим.

     
     
  • 8.62, Аноним (13), 16:59, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ТЫ не туда воюешь, я наоборот одобряю libmicrohttpd... текст свёрнут, показать
     
     
  • 9.91, Аноним (116), 01:08, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там был толстый намёк на откровенные вулны а любой сишный код из них состоит ... текст свёрнут, показать
     
     
  • 10.100, Аноним (-), 06:54, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И где такие уж прямо вулны пачками в сабже или lwan например А так CVEхи даже в... текст свёрнут, показать
     
  • 6.59, Аноним (-), 16:44, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Гошный бинарь можно сделать 5 килобайт. Но тогда будет куча зависимостей и
    > теряется прелесть го. Чего положили в сам гошный сервак только гугл знает.

    Врядли таким манером на игого получится встроенный хттп серв с всего +32 кил к бинарю VS версия которая без http сервака.

     
     
  • 7.88, Аноним (116), 01:05, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    +10 Мб на gnutls (в эру HTTPS живём)
     
     
  • 8.101, Аноним (101), 07:03, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нафиг не нужно например для вебморды по типу роутера в локалке как вы вообще се... текст свёрнут, показать
     
  • 2.51, Аноним (51), 15:09, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это проект GNU, требуется одобрение (или неодобрение) Go сначала.
     
     
  • 3.80, C00l_ni66a (ok), 19:43, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (47)

  • 1.3, Аноним (3), 11:10, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >различные методы мультиплексирования соединений (select, poll, epoll)

    kqueue поддерживается?

     
     
  • 2.5, Аноним (13), 11:16, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вот тоже интересно, написано что среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris. Но при этом современное мультиплексирование только epoll для линукса,остальным видимо довольствоваться посиксным poll'ом. Ну ок, в NetBSD есть wrapper для epoll, к-й транслируется в kqueue. Но все равно...
     
     
  • 3.28, Аноним (-), 12:55, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот тоже интересно, написано что среди поддерживаемых платформ: GNU/Linux,
    > FreeBSD, OpenBSD, NetBSD, Solaris. Но при этом современное мультиплексирование
    > только epoll для линукса,остальным видимо довольствоваться посиксным poll'ом.

    Это вообще не либа для super-high-load серверов. Хоть она и не позорная, но немного не для этого.

    > Ну ок, в NetBSD есть wrapper для epoll, к-й транслируется в kqueue. Но все равно...

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

     
     
  • 4.34, Аноним (31), 13:02, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так если не видел зачем написал и выкатил в прод как сабж?
     
     
  • 5.36, Аноним (-), 13:04, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Так если не видел зачем написал и выкатил в прод как сабж?

    Так они posix совместимые же, не? Хотя можете написать им баг чтобы убрали упоминание поддержки конечно :))

     
     
  • 6.44, Аноним (31), 13:55, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это была подводка если выкатил то знает что делает и пусть другие не возмущаются.
     
  • 5.37, Karlson2k (ok), 13:16, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В libmicrohttpd есть найтивная поддержка как NetBSD, так и OpenBSD. Не говоря о FreeBSD.
    И все они отличаются, это не просто "Posix" совместимое. Когда дело доходит до сокетов, то у каждой системы есть свои особенности. В libmicrohttpd они учтены и индивидуальны для этих *BSD.
    Кстати, библиотека неплохо справляется с высокими нагрузками. 100к запросов в секунду отрабатываются без проблем.
    По сути kqueue - единственная недостающая фитча, так как для средних нагрузок вполне poll справляется.
    Кстати, на FreeBSD и poll даёт отличные результаты. Производительность системы очень вряд ли будет упираться именно в это.
     

  • 1.9, Golangdev (?), 11:29, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    > Код распространяется под лицензией LGPL 2.1+.

    спасибо, нет

     
     
  • 2.10, Аноним (3), 11:35, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Код распространяется под лицензией LGPL 2.1+.
    >спасибо, нет

    Получается, если я заюзаю либу в своей проге, я обязан открыть исходники?

     
     
  • 3.12, Аноним (12), 11:38, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если ты её "исправлять" (малишес форк без переименования) не будешь, то нет.
     
     
  • 4.16, Аноним (16), 11:59, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Немного не так.
    Можно линковать хоть динамически, хоть статически. Если статически, то нужно предоставить объектные файлы своей программы. А вот включить исходный код библиотеки в исходный код своей программы (т.е. компилировать как единое целое) не получится из-за несовместимости лицензий.
     
     
  • 5.20, Аноним (12), 12:20, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос был про обязанность открывать исходники при использовании. По-моему, лицензия даже позволяет скопировать в свой проприетарный код, если передаваться потребителю не будет (или это только gpl?). Т.е. вполне можно сколько угодно использовать на своих серверах, эта лицензия на такая ограничивающая, как agpl.
     
     
  • 6.21, Аноним (16), 12:26, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А я про открытие кода и ответил. Если линковать, то открывать код не нужно даже если линковать статически.
     
     
  • 7.23, Аноним (12), 12:39, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит ещё добавить, что лицензию на собственный форк "с модификациями" так просто поменять нельзя (если это не предусмотрено оригинальными авторами). Обязательства предоставить код подобного форка потребителю возникают при передаче продукта.
     
  • 6.86, Александр (??), 23:43, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если потребителю передаваться не будет, то и открывать не надо. Открытие кода в gpl/lgpl как раз касается передачи. Перед бинарь - передай и код (gpl). Или передал статический бинарь - передай и код (lgpl). Кстати, этим пользуются всякие серверные решения: они то бинари не передают, а просто предоставляют протокол. Поэтому частенько используют и тот же gpl, даже без открытия кода
     
  • 3.52, Аноним (51), 15:13, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если линкуешься динамически, то нет.
     
  • 3.102, Аноним (102), 08:47, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё правильно. А если ты в своей проге используешь купленную тобой в коммерческих целях проприетарную либу, а вместе с ней GPL-либу, то при продаже ты должен открыть код, как своей программы, так и коммерческой либы. GPL -- это зомби-лицензия.
     
  • 3.106, Tron is Whistling (?), 11:19, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если линкуешься динамически, или линкуешься статически без изменений - по сути нет, этот код уже открыт и доступен от авторов. Вот если изменил - обязан открыть изменённый код либы, если продукт с ней передаётся конечному пользователю.
     
  • 2.19, Пряник (?), 12:12, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +17 +/
     
     
  • 3.30, Аноним (-), 12:58, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 3.49, Аноним (116), 14:58, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.76, x3who (?), 19:02, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.93, Аноним (116), 01:11, 03/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.78, Аноним (78), 19:06, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.82, _kp (ok), 21:34, 02/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.107, Tron is Whistling (?), 11:19, 03/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.109, Аноним (109), 11:39, 03/02/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.119, Аноним (119), 02:10, 04/02/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.40, _oleg_ (ok), 13:43, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > спасибо, нет

    Ты правда думаешь, что кому-то это интересно :-)))?

     
     
  • 3.95, Аноним (116), 01:13, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, нет.
    Но всё равно спасибо!
     

  • 1.24, Аноним (24), 12:40, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Wt то же делает.
     
  • 1.29, Аноним (29), 12:57, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Vibe.d на D тоже норм. Приятный синтаксис делает работу с ним ненапряжной. Но отдаю должное минимализму сабжа - 32 КБ! Не каждый статически компилируемый язык может похвастатся такими компактными бинарями даже при небольшой кодовой базе.
     
     
  • 2.33, Аноним (-), 13:00, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Приятный синтаксис делает работу с ним ненапряжной.

    Для приятного синтаксиса на сях - например, lwan есть, там можно на сях почти как на игого фигачить. Минимальный серв - полстранички текста, и это на сях то. Правильные апи - ключ к успеху. Но в сабже низкоуровневый контроль над действом хорош.

     
     
  • 3.43, Аноним (29), 13:55, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такое, хорошая вещь. Код хороший, понятный, goto для компактных выходов из функций одобряю. Есть fuzz тестирование, был проведен аудит, который ничего серьезного не показал. Всего 25 тыс. строк на C плюс по мелочи.

    cloc lwan
         318 text files.
         184 unique files.
         149 files ignored.

    github.com/AlDanial/cloc v 1.98
    -------------------------------------------------------------------------------
    Language                     files          blank        comment           code
    -------------------------------------------------------------------------------
    C                               70           5446           2581          24114
    C/C++ Header                    64            843           2406           2732

     
     
  • 4.64, Аноним (-), 17:04, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У него апи хэндлеров достаточно простое и удобное Можно быренько мелкий апп с... большой текст свёрнут, показать
     

  • 1.41, хрю (?), 13:51, 02/02/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (5)

  • 1.53, Аноним (53), 15:20, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А на С++ есть?
     
     
  • 2.63, Аноним (13), 17:02, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Конечно есть, с кучей шаблонов и виртуальных методов, и еще dynamic_cast<> через каждую строку
     
     
  • 3.65, Аноним (53), 17:06, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ссылку, брат Аноним.
     
     
  • 4.84, Аноним (109), 23:17, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Например, вот эта https://github.com/yhirose/cpp-httplib/
     
  • 4.123, Аноним (123), 07:12, 04/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если тебе нужен _самый прлизводительный_ то вот https://github.com/drogonframework/drogon но это не просто микро http сервер.
     
  • 2.83, _kp (ok), 21:36, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Попроси GPT перевести. И лучше сразу на разные языки.
     
     
  • 3.85, Аноним (109), 23:19, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Теперь понял, как на Ржавый переписывают.
     
     
  • 4.87, Аноним (29), 00:50, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем так, там у них какой-то транспайлер полусырой есть. Практика показывает что при генерации кода на Расте GPT (а другие сетки и подавно) склонны генерить бойлерплейт и сажают в него кучу багов, юзают unsafe где не нужно. С Питоном например все намного лучше, и даже с Си и Го.
     
     
  • 5.108, Аноним (109), 11:36, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На D пробовали что-либо транспейлнуть? В самой экосистеме D есть транспиляторы с C. Пробвовал как-то заголовочник от ядра преобразовать в D-модуль им, как-то не очень получилось.
     
     
  • 6.120, Аноним (120), 04:29, 04/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, но вроде такая транспиляция не особо нужна потому что фишка D в очень легкой работе с уже существующим кодом на C.

    ImportC is a C compiler embedded into the D implementation. It enables direct importation of C files, without needing to manually prepare a D file corresponding to the declarations in the C file. It directly compiles C files into modules that can be linked in with D code to form an executable. It can be used as a C compiler to compile and link 100% C programs.

     
  • 2.125, ллщд (?), 11:42, 14/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не благодари (знаю, что не будешь) - https://github.com/userver-framework/
     

  • 1.111, Аноним (110), 13:03, 03/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Помню лет 7 назад пытался ее заюзать в мини проекте. Даже на смешных нагрузках вела себя неадекватно и глючила. Впрочем, для гну неудивительно.
     
     
  • 2.113, Karlson2k (ok), 13:54, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, не удивительно для GNU.
    Как у ужасно глючащий GCC, которым собрано половина всех бинарников в мире, если не больше.
    Вообще проектик GNU так себе, непонятно о чём и для кого.
    :)

     
  • 2.114, Аноним (112), 13:57, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Помню лет 7 назад пытался ее заюзать в мини проекте. Даже на
    > смешных нагрузках вела себя неадекватно и глючила. Впрочем, для гну неудивительно.

    Булшит, оно тянет даже нагрузки выше среднего вполне адекватно. А если глючит, может, дело не в бобине?

     

  • 1.124, Neon (??), 07:31, 12/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Осталось теперь дыры и баги еще 16 лет вылавливать)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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