GnuTLS ( / ˈ ɡ n uː ˌ t iː ˌ ɛ l ˈ ɛ s / , GNU Transport Layer Security Library ) — бесплатная программная реализация протоколов TLS, SSL и DTLS . Он предлагает интерфейс прикладного программирования (API) для приложений, обеспечивающий безопасную связь через сетевой транспортный уровень , а также интерфейсы для доступа к X.509 , PKCS #12 , OpenPGP и другим структурам.
GnuTLS состоит из библиотеки, которая позволяет клиентским приложениям запускать безопасные сеансы, используя доступные протоколы. Он также предоставляет инструменты командной строки, в том числе менеджер сертификатов X.509, тестовый клиент и сервер, а также генераторы случайных ключей и паролей.
GnuTLS имеет следующие возможности:
GnuTLS был первоначально создан примерно с марта [6] по ноябрь [7] 2000 года Никосом Маврогианнопулосом, чтобы позволить приложениям проекта GNU использовать безопасные протоколы, такие как TLS . Хотя OpenSSL уже существовал, лицензия OpenSSL несовместима с GPL; [8] таким образом, программное обеспечение под лицензией GPL, такое как программное обеспечение GNU, не могло использовать OpenSSL без исключения привязки GPL .
Библиотека GnuTLS изначально лицензировалась по GNU Lesser General Public License v2, но включала приложения для использования GNU General Public License .
В августе 2011 года библиотека была обновлена до LGPLv3 . [9] После того, как было замечено [10] , что возникли новые проблемы с совместимостью лицензий , особенно с другим бесплатным программным обеспечением после изменения лицензии, после обсуждений в марте 2013 года лицензия была снова понижена до LGPLv2.1. [11]
GnuTLS был создан для проекта GNU , [12] [13] , но в декабре 2012 года его сопровождающий Никос Маврогианнопулос отделил проект от GNU после политических споров с Фондом свободного программного обеспечения . [12] [13] Ричард Столлман выступил против этого шага и предложил вместо этого разветвить проект. [14] Вскоре после этого разработчик Паоло Бонзини прекратил поддержку GNU Sed и Grep , выразив обеспокоенность, аналогичную озабоченности сопровождающего GnuTLS Маврояннопулоса. [15]
Пакеты программного обеспечения, использующие GnuTLS, включают (d):
LGPLv3 — это последняя версия GNU Lesser General Public License.
Она следует за успешной лицензией LGPLv2.1 и была выпущена Фондом свободного программного обеспечения как аналог GNU General Public License версии 3. Целью GNU Lesser General Public License является предоставление программного обеспечения, которое может использоваться как проприетарными, так и бесплатными. программное обеспечение.
Эту задачу до сих пор успешно решает LGPLv2.1, и существует множество библиотек, использующих эту лицензию.
Теперь у нас есть LGPLv3 в качестве последней версии, и вопрос в том, насколько успешен LGPLv3 в достижении этой цели?
По-моему, очень мало.
Если мы предположим, что его основная цель — использование свободного программного обеспечения, то это явно не соответствует действительности.
вы не можете исключить GNUTLS из проекта GNU.