Вы заметили, что исходный код
для всех библиотек, о
которых мы говорили, открыт для общественности?
Общедоступное программное обеспечение часто
называют программным обеспечением с открытым исходным кодом или OSS.
В частности, программное обеспечение с открытым исходным кодом — это программное обеспечение,
создатель которого выпускает
исходный код под лицензией с открытым исходным кодом,
тем самым предоставляя любому лицу право на доступ
, изменение и распространение программного обеспечения.
Инициатива с открытым исходным кодом,
OSI определяет программное обеспечение с открытым исходным кодом
как программное обеспечение, которое может свободно получить доступ
, использоваться, изменяться и совместно использоваться
любым пользователем в измененной или неизменной форме.
Полный список критериев для
программного обеспечения с открытым исходным кодом можно найти на веб-сайте OSI.
Первые три условия являются основой ПСОК.
То есть, программное обеспечение доступно бесплатно,
исходный код является общедоступным и доступным,
и что эта лицензия, какой бы она ни была,
должна соблюдаться всеми производными работами.
Разработка с открытым исходным кодом была впервые предложена
компьютерным ученым Эриком Раймондом в
его
эпохальном эссе 1997 года «Собор и базар».
Это хорошо рассматривается как метод разработки программного обеспечения,
так как он снижает потребительские расходы
и повышает гибкость кода
, безопасность и подотчетность
из-за природы источника сообщества,
и
использование программного инструмента с открытым исходным кодом имеет хорошее деловое значение.
Согласно исследованию 2008 года,
ПСОК экономит потребителям 60 миллиардов долларов ежегодно,
а большое количество программного обеспечения с открытым исходным кодом позволяет компаниям строить свою работу
на основе этого, снижая затраты на инфраструктуру.
Существуют различные типы лицензий с открытым исходным кодом.
Поле может быть немного запутанным, чтобы
понять, особенно для бизнеса.
Например, лицензия Apache позволяет связывать
код лицензии Apache с другим кодом лицензии.
Как разработчик,
такая функция лицензии может оказаться полезной, если вы хотите включить библиотеку с
закрытым исходным кодом или
собственную библиотеку в свой проект с открытым исходным кодом.
С другой стороны, под лицензией GNU Public License,
или GPL, можно связывать только другие библиотеки, совместимые с GPL.
Вы можете найти эту лицензионную функцию, если
ваш проект с
открытым исходным кодом состоит из полностью открытого кода,
и вы хотите убедиться, что это всегда так,
независимо от того, кто в будущем использует ваш код.
GPL, вероятно, является наиболее известной и,
возможно, распространенной лицензией на программное обеспечение с открытым исходным кодом,
и отчасти из-за его вирусной природы,
которая требует, чтобы все ссылки на программное обеспечение
также были лицензированы GPL.
Одна из моих любимых лицензий
и лицензия, которую я люблю видеть
использование и библиотеки, которые я использую, называется лицензией BSD.
Первоначально он был собран
Калифорнийским университетом
в Беркли для выпуска операционной системы BSD.
Вот пример лицензии BSD.
Как мы видим, это очень короткое и к сути,
поддерживает только минимальное количество легализованных.
Вопросы, связанные с особенностями
свободных лицензий и лицензий с открытым исходным кодом, быстро
становятся политическими и философскими.
Выбор лицензии часто
зависит от проекта, который вы имеете в виду.
Если вы заинтересованы
в более подробном понимании лицензий с открытым исходным кодом,
я бы рекомендовал вам ознакомиться
со статьей Википедии по этой теме,
и мы будем иметь эту ссылку в курсе.
Для остальных лекций в этом модуле
мы будем использовать два проекта tesseract,
который теперь управляется Google и привязками Pytesseract,
что позволяет нам использовать
систему tesseract изнутри Python.
Если мы посмотрим на репозиторий исходного кода для tesseract,
мы видим, что его лицензия
выпущена под лицензией Apache.
Это означает, что мы можем использовать тессеракт в любом из кода, который
мы производим, и держать его лицензированным, однако,
мы хотим, даже коммерчески лицензированным,
например, если мы не изменим сам тессеракт.
Однако, когда мы смотрим на лицензию Pytesseract,
мы видим, что она выпущена под GPL.
Это означает, что импортируйте эту библиотеку в свой собственный код.
Если мы поделимся им с другими,
мы также должны лицензировать наш код под GPL.
Это вирусное предложение,
и в зависимости от проекта, над которым
я работал, мне пришлось бы рассмотреть это очень внимательно.
Тем не менее, для этого курса это не проблема, так как
я действительно хочу поделиться им с вами и другими в целом.
Итак, давайте
копаемся и начнем использовать тессеракт.