Open Source — это что за термин? Объясняем основы для чайников
Опенсорс — это в первую очередь свобода распространения, деньги стоят на втором или на третьем плане, поэтому Open Source-продукт в основном бесплатный, но также может быть и платным.
Open Source — это особый вид лицензирования продукта, где главным пунктом является свободное распространение, но обязательное сохранение информации об авторстве программы.
История возникновения Open Source
Как бы странно это ни звуч ало , но Open Source-разработка появилась намного раньше, чем проприетарная. Официальной точкой отсчета «открытого подхода» к разработк е считается 1968 год, а конкретнее , разработка сети ARPANET. Следующим Open Source-продуктом стала операционная система Unix, написанная в 1969-м году, но чуть позже она также стала проприетарной. Однако если углубиться в историю, то можно заметить, что Open Source-разработка началась намного раньше, примерно в 50-х годах, в эпоху первых компьютеров IBM. В то время не было такого массового распространения компьютеров , как сейчас, поэтому их было очень мало: в основном компьютеры были в различных институтах и государственных организациях, у частных пользователей их не было. Соответственно , к ним относились не как к коммерческому продукту, а как к научному продукту, который нужно изучать.
Поэтому любое ПО, которое писалось к первым компьютерам , было в открытом доступе, его обсуждали в научных кругах, строили теории его развития, экспериментировали, открывали новые возможности «железа» и т. д. Первое программное обеспечение было открыто, как и любые научные знания и открытия! И только в эпоху персонализации компьютеров, а это 60-е года, начали появляться различные компании, которые писали коммерческое «закрытое» ПО для компьютеров. Примерно это выглядело так: были десятки различных видов персонального компьютера , и под каждый отдельный вид писалось собственное ПО, начиная с операционной системы и заканчивая более мелкими программами. Как правило, стоимость ПО уже включалась в цену компьютера, поэтому на покупке компьютера зарабатывали и разработчики компьютера , и создатели ПО. А еще чуть позже, к концу 70-х, разработчики ПО и вовсе отдел и лись от создателей компьютеров и стали продава ть свои программные продукты отдельно. Иногда цена за одну операционную систему доходила до десятков тысяч долларов!
Вот и получается, что первые Open Source-продукты зародились вместе с первым и компьютерами и были бесплатными. Потом продукты оставались «опенсорс», но за них уже бралась оплата. А первое официальное лицензирование коммерческих программных продуктов началось только в 1974-м году. У истоков проприетарной модели программного обеспечения стояла компания Microsoft, а чуть позже подключилась и Apple Computer Inc.
Массовое зарождение проприетарной модели ПО в начале 80-х , с одной стороны , «потянуло» разработку программ в коммерцию, но с другой стороны , только усилило и укрепило позиции Open Source. С тех пор, с начала 80-х, мир разработки программного обеспечения разделился на 2 лагеря: проприетарный и Open Source.
Open Source: наше время
- был придуман термин «свободное программное обеспечение»;
- данному термину было предложено точное определение, что с таким ПО можно делать;
- был опубликован целый манифест по ОС GNU.
- организовала в 1985-м году благотворительную организацию, которая спонсировала развитие свободного ПО , — это была организация FSF;
- к 1989-му году добилась создания первой версии лицензии GPL, которая работает до сих пор.
Преимущества и недостатки Open Source
В сети можно найти много разных описаний преимуществ и недостатков Open Source-проектов. Но оценивать опенсорс-индустрию в целом по меньшей мере неправильно. Правильней будет сравнивать конкретные продукты, например : ОС с ОС, офис с офисом, редактор с редактором, но точно не Microsoft и Linux.
Современный пользователь интернета очень избирательный и выбирает только самое лучшее для себя ; проприетарность или опенсорсность — это второстепенно, потому что главное — функционал и удобство. Именно поэтому в некоторых нишах лидирует опенсорс : например , сервера Apache и операционная система Linux/Ubuntu для серверов существенно обходят свои коммерческие аналоги. Но при этом Google Chrome сильно обгоняет Mozilla FireFox среди браузеров , или та же Windows существенно обходит все дистрибутивы Linux на компьютере. Это как раз говорит о том, что простые люди выбирают качество, удобство и функциональность, а только потом смотрят , кто созда л продукт: Open Source или IT-монополист.
Иногда к преимуществам Open Source относят повышенную безопасность, особенно это касается операционных систем. Это и так , и не так одновременно. Например, почему у Windows находят больше брешей и проблем, чем у Linux? Да все просто : Windows очень распространенная ОС, ее просто больше. И интереснее скомпрометировать известную операционную систему, чем какой-нибудь дистрибутив Линукс, которым пользуются всего-ничего пользователей. Поэтому у Windows банально бреши активно ищут. Искали бы их так у Линуксов, то точно бы находили.
Реакция на уязвимости. Многие считают, что в Open Source быстрее устраняют уязвимости, чем в проприетарном ПО. В некоторых Open Source-проектах так и есть — любая проблема мгновенно «латается», но в то же время есть опенсорс-проекты, которые месяцами не устраняют проблемы. Так же и в коммерческом ПО: одни исправляют все очень быстро, а другие месяцами ничего не делают. Так что это преимущество также нужно рассматривать на конкретной программе.
Действительно явн ое преимуществ о опенсорс-продукта — это возможность «подправить» продукт «под себя», если знаешь , как это сделать.
Заключение
- пользоваться проприетарным MS Office или опенсорсным LibreOffice;
- использовать монополист ическую Windows или свободный дистрибутив Линукс;
- и т. д.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Что такое опенсорс-проекты и почему открытый исходный код — это хорошо
Идея, что программному обеспечению нужен свободный доступ, была ещё в докомпьютерной эре. Когда компьютеров было мало, учёные и военные специалисты обменивались программами. Когда появились персональные компьютеры, операционные системы приходилось покупать — и стоили они иногда дороже «железа».
Начало официальному распространению свободного ПО положил Ричард Столлман. В 1985 году он основал фонд Free Software Foundation, главной миссией которого стала поддержка free software. Незадолго до этого он начал разработку GNU — свободной операционной системы. К 1991 году разработчикам удалось создать независимую работоспособную ОС, а Линус Торвальдс выпустил ядро Linux с открытым кодом.
Ричард Столлман провозгласил четыре основных принципа free software:
- свободное использование;
- свободное изучение;
- свободное распространение;
- свободное улучшение программ.
Со временем термин «свободное программное обеспечение» стал вызывать вопросы. Некоторые бесплатные программы не поставлялись с открытым исходным кодом, и внешние разработчики не могли их улучшить. Кроме того, термин не запрещал продавать такое ПО: иногда его сначала покупали у производителя, а потом бесплатно распространяли дальше.
В 1998 году разработчики придумали альтернативу термину «свободное ПО» и внедрили понятие open source, чтобы сменить парадигму с бесплатности на доступность. В том же году возникла организация Open Source Initiative (OSI), которая занимается популяризацией открытого кода.
Одна из первых известных программ, код которой стал опенсорсным, — браузер Navigator от компании Netscape. Он был одним из самых популярных браузеров в 90-е годы. Исходный код Navigator стал основой для браузера Mozilla Firefox.
Опенсорс и бесплатность — не одно и то же. Термин «опенсорс» указывает на то, что код программы открыт, но готовое решение может не быть бесплатным. Да, зачастую оно бесплатно, потому что по открытому коду другие разработчики тоже могут собрать продукт. Но бывает, что код открыт, а сама программа продаётся, например, в App Store.
Сергей Бережной, директор по взаимодействию с разработчиками в Яндексе
Какие есть лицензии у опенсорс-проектов
Продукты с открытым кодом могут распространяться по разным лицензиям — как придумает разработчик. Но их делят на две категории: копилефтные и пермиссивные.
Копилефтными считаются свободные лицензии, требующие распространять производные продукты под такой же лицензией. Известная лицензия этого типа — GNU GPLv3. Она позволяет делать с этим кодом что угодно, кроме программ с закрытым исходным кодом. То есть все программы, которые используют решения с GNU GPLv3, тоже должны быть открытыми.
Пермиссивные лицензии, напротив, позволяют делать в том числе и закрытые программы. Известный представитель этого типа лицензий — MIT. Согласно ей, при использовании нужно сохранять авторские права и уведомлять о лицензиях готовых продуктов, основанных на открытом коде.
Немало разработчиков Яндекса используют операционные системы на базе опенсорс-ядра Linux. Ещё мы используем небольшие программки, библиотеки и фреймворки, с помощью которых делаем свои большие сервисы и приложения.
Наши сервера в основном тоже работают на опенсорсных решениях. Многие средства разработки на Java, C++, Phyton, которые мы используем, — тоже опенсорс, и они компилируются в production-код.
Сергей Бережной, директор по взаимодействию с разработчиками в Яндексе
Зачем опенсорс начинающим айтишникам:
- Не нужно платить за софт для работы, потому что есть опенсорс-решения практически для любой задачи. Некоторые из них можно использовать для коммерческой деятельности — то есть создания платных программ.
- Можно изучать открытый код различных проектов, смотреть, как решение устроено внутри. Это неплохой метод совершенствования навыков программирования.
- Можно взаимодействовать с серьёзными специалистами без устройства на работу к ним в компанию. Опенсорс позволяет не только смотреть, как устроен продукт, но и пытаться что-то создавать для его развития.
Обычным пользователям опенсорс-решения тоже могут быть интересны. Но актуальное для абсолютного большинства — это бесплатность таких программ. Ещё классно, что есть возможность поучаствовать в проекте. Пусть не контрибьютом в код, а, например, сообщением о баге или предложением фичи.
Сергей Бережной, директор по взаимодействию с разработчиками в Яндексе
Почему Яндекс выкладывает свои продукты в опенсорс
Есть немало продуктов, которые компания выложила в открытый доступ. Из крупных решений можно назвать следующие:
- CatBost — продвинутая библиотека градиентного бустинга на деревьях решений.
- ClickHouse — колоночная аналитическая СУБД, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных.
- YTsaurus — одна из основных инфраструктурных BigData-систем, разработанных в Яндексе.
- YDB — распределённая отказоустойчивая реляционная система управления базами данных.
Ещё у Яндекса есть множество небольших опенсорс-решений, например по БЭМ-методологии, инструменты для нагрузочного и визуального тестирования и так далее.
Мы считаем, что вкладываться в развитие опенсорс-технологий — это ответственность каждого технологического лидера. Без таких решений не появились бы многие продукты и сервисы Яндекса. Поэтому наш долг — отдавать, делиться своими решениями. Многие технологии мы проверяли и изучали в Яндексе годами — и уверены в их качестве.
Кроме того, у технологии в открытом доступе больше шансов развиваться и улучшаться, в том числе при участии сообщества разработчиков. Открытый код даёт нам возможность искать сотрудников в компанию. Среди ребят, которые предлагают изменения в наш код, мы ищем и находим тех, кто сможет развивать технологии в команде Яндекса.
Сергей Бережной, директор по взаимодействию с разработчиками в Яндексе
ТОП-10 open source проектов для повседневного пользования
В наше время очень важно заботиться о своей безопасности и хоть какой-то анонимности в интернете. В такой ситуации на помощь приходят энтузиасты с open source проектами. Мы собрали десятку полезного ПО, которое может вам пригодиться.
Что такое open source?
Open source — программное обеспечение с открытым исходным кодом. Благодаря этому конечный пользователь может не только удостовериться в отсутствии уязвимостей, но и доработать софт под свои желания. Зачастую такие проекты распространяются бесплатно и на несколько платформ, что делает приложение доступным для каждого.
Stremio
Stremio — универсальный медиацентр с современным дизайном.
С помощью Stremio можно просматривать множество разновидностей видеоконтента (в том числе и пиратского): фильмы, сериалы, телеканалы, интернет-блоги, подкасты и многое-многое другое.
Просмотр, поиск и упорядочивание контента происходит с помощью легко устанавливаемых дополнений, создаваемых как официальным разработчиком, так и рядовыми пользователями.
Кроме того, в случае, если вы обладаете навыками программирования, можете попробовать написать свой аддон для приложения. Например, для просмотра российских тв-каналов (автору такой найти не удалось).
Из приятного: приложение поддерживает Chromecast, благодаря чему видеоконтент можно транслировать на SmartTV.
Поддерживаемые ОС: Windows, MacOS, GNU/Linux, Android, IOS, Android TV и даже на Steam Deck.
Rembg
Rembg — простой, но оттого не менее полезный инструмент, служащий для удаления фона с изображений.
Работает софт на Python — придется установить язык программирования на свой компьютер. Благо, делается это нажатием нескольких кнопок.
Увы, разработчик не предусмотрел интерфейс, поэтому использовать программу придется прямо из командной строки.
Всего есть три команды:
«i» — для работы с файлами
«p» — для работы с папками
«s» — для работы с http-сервером
Rembg можно использовать и в качестве библиотеки для ваших проектов
Предположим, нам нужно удалить фон с фото «photoAnapa2007.png». Прежде всего устанавливаем Python по гайду. После этого открываем консоль (cmd в строке поиска Windows) и пишем: «pip install rembg». По завершении установки вписываем «rembg путь к файлу/photoAnapa2007.png». После нажатия на клавишу «Enter» готовая версия без фона появится в этой же папке.
Более подробную инструкцию по установке и использованию можно найти в репозитории на GitHub.
Monocles browser
Monocles browser — веб-браузер для Android-устройств, ориентированный на конфиденциальность. В Monocles встроен блокировщик рекламы EasyList, есть поддержка прокси-сервера Tor Orbot, а в качестве поисковика выступает метапоисковая система https://monocles.de/, которая не сохраняет ваши запросы и IP-адрес.
Для обеспечения максимально возможной безопасности по умолчанию в браузере отключены Javascript и cookie-файлы, которые зачастую и являются инструментами для отслеживания вашей деятельности. При необходимости их можно включить в настройках.
Подробнее про метапоисковые системы можно прочитать здесь.
Ungoogled-chromium + chromium-web-store
Ungoogled-chromium — еще один веб-браузер, нацеленный на обеспечение безопасности и конфиденциальности в интернете. Из приложения полностью удалены компоненты и BLOB Google. По сути, это тот же Google Chrome, только без зависимости от веб-сервисов Google, что, опять же, позволяет снять с себя оковы Большого Брата.
Но у браузера есть один минус, который может не понравиться многим. Из-за удаления всех сервисов гугл Ungoogled-chromium лишается возможности установки дополнений из магазина расширений Chrome. Chromium-web-store решает эту проблему. Утилита позволяет устанавливать аддоны напрямую из магазина Chrome и автоматически проверяет наличие обновлений для них.
Поддерживаемые ОС: Windows, MacOS, GNU/Linux, Android.
OpenRGB
OpenRGB позволяет заменить весь софт, контролирующий подсветку ваших устройств.
Приложение имеет приятный, незагроможденный интерфейс. Кроме того, для OpenRGB тоже существуют плагины, которые позволяют расширить функционал.
Список поддерживаемых девайсов огромен — среднестатистический пользователь практически со стопроцентной вероятностью сможет синхронизировать подсветку всех комплектующих и периферии.
Поддерживаемые ОС: Windows, GNU/Linux, MacOS.
Authorizer
У вас дома завалялся старый смартфон, а применение ему вы найти не можете? Скачайте Authorizer и сделайте свою жизнь не только проще, но и безопаснее.
Идея утилиты состоит в том, чтобы использовать отдельное устройство в качестве менеджера паролей. Authorizer позволяет избежать нудный ввод сложных паролей и обезопасить их хранение.
Софт представляет собой эмулятор USB-клавиатуры, при нажатии на кнопку внутри которого будет введен пароль на вашем основном устройстве, будь то компьютер, ноутбук, смартфон или планшет.
Anti-Adblock Killer
Anti-Adblock Killer помогает поддерживать активность вашего блокировщика рекламы на сайтах, где просят его отключить.
Утилита состоит из скрипта «AakScript», написанного на JavaScript, и списка фильтров «AakList». По сути, AAK встраивается в ваш блокировщик рекламы и позволяет не отключать его, маскируя для фильтров на сайтах.
Подробную инструкцию по активации скрипта можно найти прямо в репозитории проекта на GitHub. Там же отображен патч-ноут.
No-youtube-shorts
No-youtube-shorts — скрипт, который поможет избавиться от неудавшегося плеера YouTube Shorts в браузерной версии YouTube.
После того, как вы интегрируете его в свой браузер, скрипт будет перенаправлять просмотр Shorts’ов на удобный, привычный всем плеер YouTube.
Material Files
Material Files представляет из себя минималистичный файловый менеджер для Android-устройств.
Поддержка root, архивов, FTP-, SFTP- и SMB-серверов. Есть пользовательские темы с настраиваемыми цветами, включая ночной режим с функцией «Настоящий черный цвет».
EasyOS
EasyOS — дистрибутив, использующий технологии Puppy Linux и контейнеризацию для запуска компонентов системы.
Дистрибутив устанавливается в отдельный подкаталог, благодаря чему может существовать параллельно с другими файлами на накопителе.
Контейнеризация рабочего стола и приложений осуществляется за счет собственного алгоритма «Easy Containers». Сразу после установки дистрибутив поддерживает работу с root-правами, а для обеспечения дополнительной безопасности каждый подкаталог можно зашифровать собственным паролем.
Размер загрузочного образа составляет всего 825 Мб.
При подготовке материала использовались источники:
https://codernet.ru/articles/drugoe/open_source_%E2%80%94_eto_chto_za_termin_obyasnyaem_osnovyi_dlya_chajnikov/
https://academy.yandex.ru/journal/opensource
https://club.dns-shop.ru/blog/t-328-prilojeniya/88926-top-10-open-source-proektov-dlya-povsednevnogo-polzovaniya/