Софт с открытым исходным кодом для виндовс

Обновлено: 02.07.2024

Универсальный редактор кода от Microsoft, довольно быстрый и функциональный. Среда с открытым исходным кодом поддерживает автоматическое умное дополнение текста программ с использованием технологии Microsoft IntelliSense и подсветку синтаксиса для большинства популярных языков.

Возможностей Visual Studio Code хватит для любительской и профессиональной разработки. В редактор встроены средства для действий с Git‑репозиториями и инструменты для рефакторинга. Расширить функциональность можно за счёт тысяч плагинов — ищите их прямо в среде по названию или по языку, на котором вы пишете.

Быстрее редактировать код в Visual Studio Code помогут сочетания клавиш. Они обеспечат быструю навигацию по вашему проекту и впечатлят рекрутера на собеседовании.

2. Atom

Простой и удобный редактор с открытым исходным кодом — детище GitHub Inc., крупнейшего сервиса для хостинга и совместной разработки программного обеспечения, который сейчас принадлежит Microsoft. Atom поддерживает огромное количество языков и подходит для кросс‑платформенной разработки.

Здесь доступны плагины, написанные на Node.js, — они серьёзно расширят ваши возможности. Atom работает быстро и надёжно, поддерживает синхронизацию с Git, сворачивание блоков кода, автоматическое дополнение слов и другие функции профессиональных редакторов.

С инструментом Teletype for Atom вы сможете совместно с коллегой писать код в режиме реального времени. Это идеальное средство для парного программирования, быстрых багфиксов и мозговых штурмов в R & D.

Редактор поставляется с четырьмя вариантами интерфейса и восемью темами — светлыми и тёмными. Также есть инструменты для ручной кастомизации на CSS/Less, HTML и JavaScript — всё это поможет вам настроить исключительно комфортную рабочую среду.

3. Sublime Text 3

Лёгкий, но довольно мощный редактор, который подходит и для начинающих разработчиков, и для профессионалов. Он быстро запускается даже на слабых компьютерах и поддерживает плагины, написанные на Python.

Sublime можно гибко настраивать, чтобы работать с проектами из тысяч файлов. Поддерживается автодополнение, множественная правка, мгновенное редактирование нескольких строк. Всё это сводит к минимуму рутинные действия и избавляет от новых ошибок.

Также можно сохранять сниппеты (фрагменты кода, которые вы часто используете), чтобы вставлять их сочетанием клавиш, без долгих поисков по старым проектам.

В третьей версии редактора улучшили индексирование файлов, чтобы ускорить поиск переменных, функций и классов. Появилась и возможность перехода к предыдущей позиции курсора.

Вообще, Sublime Text 3 — проприетарный редактор: его можно купить за 80 долларов. Но пробная версия доступна бесплатно, и срок её использования разработчики пока не ограничивают.

4. IntelliJ IDEA

  • Языки: Java, Kotlin, Scala, Groovy, С, С++, CSS, Go, HTML, PHP, Python, Ruby, XML, YAML и другие.
  • Платформы: Windows, macOS, Linux.

Среда изначально создавалась для Java и актуальна в первую очередь для Java‑подобных языков, к примеру Kotlin, Scala и Groovy. Развивает её компания с российскими корнями JetBrains. Она, собственно, создала Kotlin — язык, который Google назвала приоритетным для Android‑разработки.

IntelliJ IDEA Overview of IntelliJ IDEA — мощная, хоть и не очень быстрая система с большим набором инструментов для создания десктопных, мобильных и веб‑приложений, ПО для интернета вещей. Версии две: платная Ultimate для компаний и бесплатная Community с открытым исходным кодом.

В Community нет полноценной поддержки фреймворка Spring, а также Java EE (Enterprise Edition), JavaScript, TypeScript, SQL. Но в целом здесь есть всё необходимое для старта небольших проектов, к примеру отладчик, поддержка фреймворков для сборки Maven и Gradle, систем контроля версий Git и SVN. А набор встроенных инструментов для Android такой же, как в официальном Android Studio от Google.

5. PyCharm

  • Языки: Python, Jython, Cython, IronPython, PyPy, Django и другие.
  • Платформы: Windows, macOS, Linux.

Ещё одна интегрированная среда разработки от JetBrains, но уже с упором на Python и его фреймворк Django. Версии также две: Professional c полноценной поддержкой научной (создание моделей, графиков, тестирование гипотез) и веб‑разработки на Python, HTML, JS и SQL; Community — только для Python и с открытым исходным кодом.

Среда включает мощные средства для анализа написанных программ, графический отладчик, позволяет быстро создавать и запускать юнит‑тесты. С PyCharm просто ориентироваться даже в больших проектах и редактировать код на лету — есть автодополнение, автоматический импорт, готовые шаблоны и быстрый просмотр документации для элементов. Наконец, здесь удобно делать рефакторинг кода, чтобы его было легче поддерживать и расширять.

На сайте и во встроенном меню PyCharm вы найдёте множество плагинов. Это средства для работы с большими данными, написания кода на определённых языках программирования (например, R или Rust), создания тем оформления, анализа логов.

6. Brackets

  • Языки: HTML, CSS, JavaScript и другие.
  • Платформы: Windows, macOS, Linux.

Лучший редактор с открытым исходным кодом для веб‑разработки. Сам он создан на JavaScript, HTML5 и CSS3.

Brackets — детище Adobe Systems. Он появился в 2014 году и активно развивается, чтобы обеспечить веб‑разработчикам как можно больше возможностей.

Особенно удобен Brackets для фронтенда: встроенные инструменты ускоряют действия с CSS, позволяют увидеть все селекторы, отредактировать их и сразу оценить результат. Также в наличии JavaScript‑отладчик Theseus и локальный веб‑сервер для тестирования проектов.

Код из Brackets вы можете просматривать в браузере в режиме реального времени. Среда синхронизируется с Git и поддерживает сотни расширений, а также пользовательские горячие клавиши и JavaScript‑подсказки.

Обратите внимание на средства быстрого редактирования в Brackets. Они позволяют вносить изменения сразу в несколько элементов, функций или свойств, а также менять код на CSS или JavaScript не выходя из связанного HTML‑файла. Результат можно увидеть в браузере — с подключением бэкенда или без него.

7. Vim

  • Языки: С, С++, Shell Script, Bash Script, Java и другие.
  • Платформы:Windows, macOS, Linux.

Наследник легендарной серии Vi, которая создавалась ещё для Unix, обеспечивает полную свободу настройки и автоматизации разработки. Правда, новичкам будет непросто его освоить. Потому что нельзя просто взять и выйти из Vim с первого раза.

У Vim есть два режима: нормальный и ввода. Такой подход защищает от случайного внесения изменений.

На старте редактор находится в нормальном режиме, работать с текстом в нём можно модульно: например, удалить слово или строку. Кроме того, здесь получится быстрее перемещаться по файлу и находить всё что нужно.

Чтобы переключиться в режим ввода, надо нажать кнопку I или Insert, обратно — Esc. И только в нормальном режиме у вас получится корректно выйти из Vim. Если введёте ZQ или :q!, то покинете файл, не сохранив изменения, а по ZZ, :wq или :x — выйдете после сохранения файла. В первые дни работы с Vim эти комбинации хочется написать на стикере, который всегда будет перед глазами, но со временем к ним привыкаешь.

8. Eclipse

  • Языки: Java, C, С++, Perl, PHP, JavaScript, Python, Ruby, Rust, Scout, 1C V8 и другие.
  • Платформы: Windows, macOS, Linux.

Универсальная интегрированная среда, на базе которой создаются другие системы для разработки на определённых языках или для тестирования. Компания IBM вложила в проект около 40 миллионов долларов, а затем открыла код Eclipse и передала его сообществу для дальнейшего развития.

Фактически на базе Eclipse создаются расширения, которые позволяют комфортно работать с различными языками и проектами. Расширения — это модули, редакторы панели, перспективы и так далее. Один из самых известных — Eclipse JDT (Java Development Tools). Этот модуль позволяет писать код на Java, интегрирован с системой контроля версий Git, может обмениваться данными с трекером ошибок Bugzilla и с инструментами отслеживания задач вроде Jira.

На официальном сайте доступны готовые Eclipse IDE для Java, C, C++, PHP, JavaScript и других популярных языков. Также вы можете загрузить саму платформу и модули для решения конкретных задач. Отдельно отметим 1C: Enterprise Development Tools для работы с платформой «1C:Предприятие».

9. Aptana Studio

  • Языки: HTML, JavaScript, CSS, Ruby on Rails, PHP, Python и другие.
  • Платформы: Windows, macOS, Linux.

Этот мощный и удобный редактор для веб‑разработки — один из самых известных дистрибутивов Eclipse. На старте в нём есть подсветка синтаксиса и автодополнение кода на HTML, JavaScript и CSS. С помощью плагинов можно адаптировать Aptana Studio под Ruby on Rails, PHP, Python.

Интегрированная среда разработки поддерживает кросс‑платформенность и автоматически дополняет введённый текст. Она сообщает об ошибках в коде и помогает быстро от них избавиться.

Для комфортной отладки в Aptana Studio есть встроенный веб‑сервер Jaxer, который позволяет выполнить JavaScript на своей стороне и предоставить результат. Кроме того, среда взаимодействует с сервисом Aptana Cloud. Он облегчает развёртывание веб‑приложений в облаке и создание масштабируемой инфраструктуры.

Вы можете загрузить версию редактора для нужной ОС. А если у вас установлена среда Eclipse, достаточно будет плагина Aptana для неё.

10. Notepad++

Этот текстовый редактор с открытым исходным кодом — нечто гораздо большее, чем просто умная замена блокнота. Он поддерживает подсветку синтаксиса для всех популярных (и не только!) языков, систем сборки и разметки — вплоть до Ada, COBOL и Fortran.

Notepad++ очень лёгкий и быстрый. Тысячи плагинов делают его редактором на все случаи жизни: здесь есть и проверка грамматики на разных языках, и сравнение файлов, и генерация цифровых подписей, и конвертация в различные кодировки, и многое другое. А самое удобное — в отличие от блокнота, если вы закроете Notepad++ и оставите в нём несохраненные файлы, они автоматически откроются при следующем запуске программы.

11. Emacs

  • Языки: C, C++, Java, Perl, Lisp, Objective‑C и другие.
  • Платформы: Windows, macOS, Linux.

Небольшой редактор макросов (Emacs расшифровывается как Editor MACroS) с годами переродился в целое семейство. После серии Vi и её наследника Vim он стал настоящим откровением и здорово облегчил жизнь тем, кто писал код лет 30–40 назад.

Но и сегодня Emacs в умелых руках сможет многое. В нём есть основной и множество дополнительных режимов, например для разных языков программирования, просмотра каталогов, работы с почтой. Поддерживается быстрое перемещение по тексту и файлам с помощью сочетаний клавиш. Редактор можно гибко настраивать: от установки количества пробелов для каждого уровня отступа до запуска определённых функций после изменения буфера обмена.

Пасхалки в Emacs — отдельная история. Например, здесь предусмотрены игры и специальный режим психотерапевта — разговор с виртуальной собеседницей Элизой. Более того, вы можете установить расширение для Emacs и автоматизировать игру в тетрис — в перерывах между работой над кодом, конечно.

12. Komodo IDE

  • Языки: Python, Perl, Ruby, HTML, CSS, JavaScript и другие.
  • Платформы: Windows, macOS, Linux.

Бесплатный редактор кода от канадской компании ActiveState, разработчика версий языков программирования Active Perl и Active Python. Есть также вариант Komodo Edit c меньшим набором возможностей — без встроенной поддержки юнит‑тестов и отладчиков.

Komodo IDE предоставляет подсветку синтаксиса, автодополнение, возможность работы с различными концами строк и кодировками. Здесь удобно редактировать файлы на разных языках программирования и гипертекстовой разметки. Для Perl, PHP, Python, Ruby, TCL, JavaScript есть и проверка синтаксиса — сторонние средства не понадобятся.

Для многих программное обеспечение Open Source и операционная система MS Windows являются вещами абсолютно противоположными и, часто, взаимоисключающими. Идеология Open Source обычно ассоциируется с Linux OS и различными Unix-производными. Поэтому когда вы соединяете эти две противоположности, это выглядит несколько странно. Однако, не смотря на это, в данный момент существует широкий ландшафт для создания бесплатных приложений с открытым кодом, предназначенных именно для Windows пользователей. И такие программные продукты наверно вам уже известны. Mozilla FireFox отличный пример того, как бесплатный программный продукт может предоставить первоклассное решение для пользователей.

1. FTP-клиент.

FileZilla – это одно из тех Интернет-приложений, без которого многие пользователи просто не могут жить. Это полнофункциональный Windows FTP-клиент, который превращает взаимодействие с FTP серверами в удобный и эффективный процесс.
FileZilla прекрасно справляется с обработкой групп файлов, и отлично подходит для обновления файлов веб-сайтов и других операций, где вы имеете дело с большим количеством новых и обновленных файлов. Большинство операций доступны через функцию drag-and-drop. Однако если вы хотите иметь более расширенный контроль над трансферами данных, вы можете использовать огромное количество параметров конфигурации FileZilla – например функция синхронизации файлов с удаленным сервером, учитывая смещение времени в разных часовых поясах. Это очень удобно в тех случаях, когда между вами и вашим сервером разница во времени, например, 9 часов.
Конечно, Windows интерфейс FileZilla не претендует на исключительную привлекательность и красоту, некоторые элементы управления напоминают старые файловые менеджеры Windows. Возможно, это объясняется тем, что FileZilla кросплатформенный FTP клиент. Но как бы там ни было, если вы можете смотреть сквозь не совсем современную наружность, вы откроете для себя один из самых мощных FTP-клиентов, доступных для Windows, Mac OS X, или Linux.

FileZilla Client

2. Виртуализация.

VirtualBox – мощное решение для установки виртуальных операционных систем поверх основной, которое выросло из маленького и малоизвестного продукта в сильного конкурента для коммерческих средств виртуализации. Большая заслуга в этом компании Sun Microsystems, которая забрала VirtualBox у его прежнего разработчика, InnoTek GmbH, и дала ему новую жизнь.
Как результат, VirtualBox теперь конкурирует с коммерческими продуктами уровня VMware Workstation. Например, под управлением Sun Microsystems, VirtualBox расширила количество поддерживаемых гостевых ОС и «осей-хостов», и теперь включает все 32 и 64 битные версии Windows, Linux, Unix, и Mac OS X. А также увеличила свою мощность, поддерживая до 32 виртуальных CPU и 16 Гб оперативной памяти на каждую виртуальную машину. (VMware Workstation 6.5 поддерживает максимально 2 виртуальных CPU и 8 Гб RAM на одну машину.)
К сожалению, если и есть слабые места в VirtualBox, то это все тот же интерфейс и отсутствие некоторых удобных функций, которые предоставляет VMware Workstation.
Явившийся еще одной жертвой кросплатформенной разработки, интерфейс VirtualBox имеет, например, несколько не стандартные диалоги, которые, наверное, лучше бы смотрелись на Linux или Unix системах, чем в Windows.
Но если у вас нет потребности в очень специфичных функциях, которые предоставляет VMware Workstation (IDE интеграция, простота в установке и т.д.), то VirtualBox именно то, что вам нужно.

VirtualBox

OpenOffice.org

4. Браузер.

Mozilla Firefox – давно признанный веб-брауезр пользователями во всем мире. Здесь много говорить не нужно. Более 30 процентов пользователей Интернет пользуются имеено Firefox. Кстати, недавно компания Mozilla объявила, что браузер Firefox загрузили миллиард раз! Некогда распространенный браузер Internet Explorer сейчас конкурировать с Firefox просто не может. (Есть еще Opera, она тоже очень популярна, ее поклонником является и ваш покорный слуга, но она предоставляется без своих исходных кодов).
Firefox просто переполнена всевозможными полезными функциями, такими как, управление ссылками жестами мышки, открытие страниц во вкладках, а не в новых окнах, встроенный менеджер закачек и т.д. Всего не перечесть. А если вам что-то не нравится в этом браузере, или вы считаете, что нет какой то функции, то для вас уже написано около 6000 специальных дополнений к этому браузеру. Будьте уверены, вы найдете все , что вам нужно.

Mizilla Firefox

Paint.NET

6. Медиаплеер.

Media Player Classic – инструмент, который просто заставляет пользователя сделать двойной щелчок по его иконке. Его интерфейс полностью идентичен проигрывателю Media Player, который идет в комплекте с Windows. Но внешность обманчива! Внутри это абсолютно другой зверь. Он поддерживает различные аудио и видео форматы, имеет расширяемую архитектуру, и, кажется, неисчерпаемый список внутренних настроек.
Вам достаточно скачать этот плеер и у вас будет возможность воспроизводить огромное количество форматов медиафайлов (установка программы не требуется). Среди поддерживаемых форматов файлов есть такие как: MPEG/MPEG-2/MPEG-4, DivX, Xvid. Также вы можете воспроизводить файлы с CD/VCD/DVD дисков. Некоторые пользователи используют Media Player Classic в качестве лакмусовой бумажки для медиафайлов. Если он не может воспроизвести файл, то значит файл, скорее всего, поврежден.

MPC

7. Безопасность данных.

TrueCrypt – программа для шифрования данный, которая завоевывает все большую популярность. В сравнение с ней можно поставить BitLocker от все того же Microsoft. TrueCrypt предоставляет такие же функции, например, полное шифрование жесткого диска с раздельным восстановлением, а ткже функции, которых BitLocker не имеет, а именно, шифрование диска доя загрузки системы (BitLocker требует, чтобы вы создали отдельный незашифрованный раздел для загрузки). В целом TrueCrypt опрежает BitLocker по нескольким показателям. Во-первых, он имеет большее количество алгоритмов шифрования, во-вторых, различные сценарии шифрования (такие, как скрытое шифрование), и, в-третьих, большую гибкость относительно того, где и как вы можете шифровать свои данные.
TrueCrypt работает практически на всех NT-вариациях операционных систем Windows: Windows 2000 (SP4), Windows XP, Windows Server 2003/2008 и Vista.

TrueCrypt

PDFCreator

9. Архиватор.

7-Zip – еще один пример Open Source проекта, который давно обошел многие коммерческие продукты. Он поддерживает многие форматы декомпрессии (от ARJ до ZIP, и в общем то почти все остальные), и он имеет дополнительный, основанный на LZMA механизм архивации.
7-Zip предоставляет все, что вы можете хотеть от стандартного архиватора. Он быстр и надежен.

7-Zip

10. Антивирус.

ClamWin – антивирус с открытым исходным кодом, который предоставляет защиту от большинства типичных вредоносных программ. ClamWin имеет достаточно крепкий механизм проверки, автоматическое обновление антивирусных баз, плагин для проверки писем и приложений к письмам в Outlook, антивирусный сканер и интеграцию в контекстное меню Проводника Windows (Microsoft Windows Explorer).

VLC - это бесплатный кросс-платформенный мультимедийный проигрыватель и фреймворк с открытым исходным кодом, который воспроизводит большинство мультимедийных файлов, а также DVD-диски, аудиодиски, VCD.

Mozilla Firefox

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

Notepad++

Notepad++ - бесплатный редактор исходного кода и замена Notepad, который поддерживает несколько языков. На основе мощного компонента редактирования Scintilla Notepad++ написан на C++ и использует чист.

Основные характеристики 7-Zip Высокий коэффициент сжатия в формате 7z с сжатием LZMA и LZMA2 Поддерживаемые форматы: Упаковка / распаковка: 7z, XZ, BZIP2, GZIP, TAR, ZIP и WIM Распаковка: AR, ARJ, CAB.

GIMP - свободно распространяемая программа для таких задач, как ретушь фотографий, компоновка изображений и создание изображений. Он может использоваться как простая программа для рисования, программа.

VirtualBox

VirtualBox - это мощный продукт для виртуализации x86 и AMD64 / Intel64 для предприятий, а также для домашнего использования. Это не только виртуальный бонус, но и исключительно эффективный продукт дл.

LibreOffice

LibreOffice - это бесплатный офисный пакет с открытым исходным кодом, который совместим с другими крупными офисными пакетами и доступен для всех операционных систем. Это самостоятельная версия пакета .

Ubuntu

Ubuntu - это разработанная сообществом операционная система на базе Linux, которая идеально подходит для ноутбуков, настольных компьютеров и серверов. Он содержит все необходимые приложения - веб-брау.

Audacity

Audacity - бесплатное программное обеспечение с открытым исходным кодом для записи и редактирования звуков. Вы можете использовать Audacity для записи живого звука, конвертирования лент и записей, ред.

Thunderbird
FileZilla

FileZilla - мощный FTP-клиент. Он был разработан для простоты использования и поддержки как можно большего числа функций, но при этом он был быстрым и надежным. Программа предлагает поддержку брандмау.

Adblock Plus

Adblock Plus - это бесплатное расширение, которое позволяет, среди прочего, блокировать раздражающие объявления, отключать отслеживание и блокировать домены, известные для распространения вредоносного.

HandBrake

HandBrake - это многопоточный видеотранскодер с открытым исходным кодом - он преобразует цифровые носители из одного формата в другой, сжимая файлы в процессе. Handbrake может копировать зашифрованные.

Pidgin

Pidgin - это простой в использовании клиентский клиент с несколькими протоколами, используемый миллионами. Подключитесь к AIM, MSN, Yahoo, XMPP и другим чат-сетям. Он имеет встроенную поддержку NSS, п.

Tor - бесплатное портативное программное обеспечение и открытая сеть, которая помогает вам защищаться от формы сетевого наблюдения, которая угрожает личной свободе и неприкосновенности частной жизни, .

Wikipedia

Википедия - бесплатный проект многоязычной энциклопедии, поддерживаемый некоммерческим Фондом Викимедиа. В Википедии есть 17 миллионов статей (3,5 миллиона на английском языке), которые были написаны .

Transmission

В функции передачи есть функции, которые вы ожидаете от клиента BitTorrent: шифрование, веб-интерфейс, обмен peer, перенаправление портов UPnP и NAT-PMP, поддержка веб-семени, каталоги просмотра, реда.

WordPress

WordPress - это современная издательская платформа с акцентом на эстетику, веб-стандарты и удобство использования. Проще говоря, WordPress - это то, что вы используете, когда хотите работать со своим .

PuTTY

PuTTY - бесплатный эмулятор терминала с открытым исходным кодом, последовательная консоль и приложение для передачи сетевых файлов. Он поддерживает несколько сетевых протоколов, включая соединения SCP.

Sumatra PDF

Sumatra PDF - это тонкий бесплатный бесплатный просмотрщик PDF / DjVu / EPUB / XPS / CHM / CBR / CBZ / MOBI с открытым исходным кодом для Windows. Почему еще один читатель в формате PDF? Суматра имеет.

Blender

Blender - это бесплатный набор для создания 3D-контента с открытым исходным кодом, доступный для всех основных операционных систем в соответствии с GNU General Public License. Его можно использовать д.

JDownloader

JDownloader упрощает и улучшает процесс загрузки файлов с «бесплатных» файловых сайтов, таких как Rapidshare или Megaupload. JDownloader предлагает загрузку в нескольких параллельных потоках, распозна.

Vim («Vi IMproved») - это расширенный текстовый редактор, который позволяет выделять синтаксис, заполнять слова и получать огромное количество контента. Vim предлагает несколько «режимов» для редактир.

Python

Python - интерпретируемый, интерактивный, объектно-ориентированный, расширяемый язык программирования. Он обеспечивает необычайную комбинацию ясности и универсальности и свободно и всесторонне перенос.

Eclipse

Eclipse - это расширяемая платформа разработки с временем выполнения и инфраструктурами приложений для создания, развертывания и управления программным обеспечением на протяжении всего жизненного цикл.

MPC-HC

MPC-HC - чрезвычайно легкий медиаплеер с открытым исходным кодом для Windows®. Он поддерживает все распространенные форматы видео и аудио файлов, доступные для воспроизведения. Мы на 100% свободны от .

calibre

Caliber - это бесплатное приложение для управления библиотекой электронных книг с открытым исходным кодом, созданное пользователями для пользователей. Многие языки, разработанные вокруг концепции логи.

GParted

GParted - это интерфейс GTK + для GNU Parted и официальный редактор разделов GNOME. Он используется для создания, удаления, изменения размера, перемещения, проверки и копирования разделов и файловых с.

qBittorrent

Проект qBittorrent направлен на предоставление альтернативы μTorrent для свободного программного обеспечения. Кроме того, qBittorrent работает и предоставляет те же функции на всех основных платформах.

WinDirStat

WinDirStat - это средство просмотра статистики использования диска и средство очистки, вдохновленное KDirStat. Вы также можете очень быстро изучить сетевые диски. Язык для приложений И файлы справки м.

Фото: Pexels

Согласно определению на Open Source Initiative, Open Source Software или программное обеспечение с открытым исходным кодом — это ПО, «исходники» которого доступны для просмотра и изменения. Исходный код можно использовать, чтобы создавать свои модификации софта, а также свободно распространять и даже продавать их.

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

В последние годы потребителями открытого ПО становятся целые страны. Французская жандармерия использует на своих компьютерах свободное ПО Ubuntu, а другие министерства переходят с Microsoft Office на бесплатный LibreOffice. Этот офисный пакет также используют министерства обороны Нидерландов и Италии, муниципалитеты Албании и Испании. А правительство Великобритании перешло с формата PDF в документации на опенсорс-формат Open Document Format for Office Applications (ODF) по умолчанию. РБК Тренды разобрались, в чем плюсы и минусы открытого софта.

С чего начиналось свободное ПО

С 1952 по 1955 год компания IBM начала выпускать IBM 701, первый коммерчески доступный компьютер. ЭВМ не продавали конечным потребителям, а сдавали в аренду научным институтам, военным компаниям и госпредприятиям. Машины поставлялись без операционной системы и программ. Ученые и инженеры начали писать софт сами и делились им с коллегами из других компаний, у которых были аналогичные ЭВМ.

Со временем коммерческих моделей компьютеров становилось больше, и они стали доступны обычным пользователям. Однако под каждую из этих моделей придумывали отдельное ПО. Компании-производители создавали каждый свою операционную систему: BESYS, Compatible Time-Sharing System или CP/CMS. Эти ОС начинали продавать вместе с ПК, и иногда они стоили дороже самого компьютера.

Разработчик Ричард Столлман присоединился к лаборатории искусственного интеллекта при Массачусетском технологическом институте (MIT). Он принимал участие в работе над свободным ПО, например, над EMACS — текстовым редактором для мини-компьютеров семейства PDP. Позднее редактор продали коммерческому дистрибьютору. В 1984 году Столлман решил основать проект свободного ПО под названием GNU (рекурсивный акроним от англ. GNU’s Not UNIX).

Ричард Столлман в МГУ

В рамках этого проекта энтузиасты при­ду­мали тер­мин «сво­бод­ное ПО» и сформулировали его критерии: использование, изучение, шеринг и улучшение. Они опубликовали ма­ни­фест GNU. В 1985 году Столлман основал фонд Free Software Foundation (FSF) для развития свободного ПО за счет пожертвований. В 1989 году появилась пер­вая вер­сия ли­цен­зии GPL — General Public License («Универсальная общественная лицензия GNU»). Она должна защитить свободу всех пользователей программ, давать права на копирование, модификацию и распространение софта. Столлман добавил в лицензию понятие «авторское лево» в противовес «авторскому праву», по которому пользователи всех производных программ получают все оригинальные права создателя. Позднее появились другие лицензии, которые позволяют использовать свободное ПО, например, лицензия MIT от Массачусетского технологического института или лицензия BSD от Калифорнийского университета в Беркли.

К 1991 году разработчикам удалось создать независимую работоспособную ОС, но ей не хватало ядра. Тогда Линус Торвальдс выпустил ядро Linux с открытым кодом, а в 1992 году лицензировал его по GPL.

Линус Торвальдс

В середине 1990-х годов в open source пришла первая крупная компания Netscape. Ее браузер Navigator был одним из самых популярных в мире, но с появлением Internet Explorer он стал вытесняться с рынка. В 1998 году в Netscape решили открыть исходный код своего браузера. Год спустя компании не стало, но исходный код Navigator стал основой для одного из самых популярных браузеров — Mozilla Firefox.

В 1998 году возникла организация Open Source Initiative (OSI), которая занимается популяризацией открытого кода. В том же году разработчики придумали альтернативу термину «свободное ПО». Они решили внедрить понятие open source, чтобы сменить парадигму бесплатности на доступность. Впоследствии разработчики Эрик Реймонд и Брюс Перенс написали «Определение Open Source».

В 2014 году представители фонда поддержки открытых проектов Linux Foundation заявили, что в будущем 80% стоимости технологий будет приходиться на открытый код и только 20% — на платные программы.

Плюсы открытого кода

Обсуждения плюсов и минусов и активны по сей день. Однако многие разработчики сходятся в общем понимании позитивных и негативных сторон опенсорс-проектов.

Для пользователей

  • Долгосрочная поддержка — в интересах опенсорс-сообщества развивать проект как можно дольше, в то время как корпорации постоянно обновляют версии и выпускают новые продукты на смену старым, чтобы брать с потребителей деньги.
  • Экономия денег — за продукт и его новые версии не нужно платить.
  • Конфиденциальность — корпорации зачастую собирают личные данные потребителей для таргетинга и прочих целей. К примеру, Microsoft уличили в том, что она собирала персональные данные 300 тыс. госслужащих Нидерландов через Office ProPlus без разрешения и документации.
  • Простая обратная связь — индивидуальные разработчики и небольшие группы программистов реагируют на баги и ошибки гораздо быстрее, чем крупные компании.

Для разработчиков:

  • Возможность находить любое ПО для работы, обучения и развития собственных проектов.
  • Уверенность в том, что софт постоянно поддерживается разработчиком, часто обновляется и получает необходимые функции.
  • Возможность адаптировать ПО к своим потребностям.
  • Экономия денег, которые можно дополнительно вложить в нужный коммерческий софт.

Для корпораций:

  • Участие в открытых проектах позволяет привлечь внимание к другим своим программам, а также развивать собственную экосистему за счет усилий сторонних разработчиков.
  • Вовлеченность открытого сообщества в проекты компании делает проще поиск и найм новых сотрудников.
  • Покупка опенсорс-компаний позволяет удерживать таланты внутри компании; поддержка проектов извне мотивирует разработчиков активнее развивать их.

Минусы open source

Плагиат. Коммерческие структуры могут использовать открытый код для своих продуктов без указания его авторства. Иногда они вносят минимальные изменения в код, чтобы выдавать его за собственный. Подобное случилось с участниками проекта Leela, которые разработали бесплатный шахматный движок Chess Zero с настраиваемой нейронной сетью. Его использовала компания ChessBase, которая выпустила шахматную программу Fat Fritz. Пакет программ ChessBase Fritz компании стоит от €79 до €99. При этом она отрицает, что каким-либо образом задействовала открытый код.

Аналогичная история была и с Amazon Web Services, которая запустила CloudWatch Synthetics Recorder, расширение Chrome для записи взаимодействий с браузером. Однако данный сервис оказался полностью скопирован с проекта Headless Recorder, созданного разработчиком Тимом Нолетом. В AWS факт плагиата не признавали.

Отсутствие поддержки. Открытый код может использоваться в тех проектах, о которых его авторы даже не подозревают. Таким образом, они не могут оказывать должную поддержку. Кроме того, существует риск, что разработчик небольшого проекта отойдет от дел, а продолжать его дело будет некому, и код начнет устаревать. Проект Libraries.io обнаружил более 2 400 библиотек с открытым кодом, используемых минимум в 1 тыс. других программ, не получавших должного внимания со стороны опенсорс-сообщества. Для потребителя такой программы это может стать проблемой. К примеру, когда программист Азер Кочулу удалил свою библиотеку Leftpad из интернета, проблемы возникли у Facebook, Netflix и других проектов.

Незамеченные уязвимости. Каждый открытый проект зависит от более мелких. В этой цепочке зависимостей легко может возникнуть дыра в безопасности, которую могут долго не замечать. В 2014 году такая уязвимость в безопасности Heartbleed была обнаружена в OpenSSL — программе с исходным кодом, используемой практически всеми веб-сайтами, обрабатывающими платежи с банковских карт. Она делала все эти ресурсы уязвимыми для атак хакеров и кражи данных. По данным GitHub, 17% всех уязвимостей создаются со злонамеренными целями. Исследователи отмечают, что они могут просуществовать до четырех лет, прежде чем будут устранены.

Проекты с открытым кодом

Про­ек­ты GNU и Linux послужили основой для многих продуктов. А приход компании Netscape позволил привлечь внимание ИТ-гигантов, которые со временем начали активно вкладываться в open source.

Проект Debian, одной из старейших операционных систем, основанных на ядре Linux, с момента своего основания разрабатывался открыто. Фонд свободного программного обеспечения спонсировал проект с 1994 по 1995 год, а затем создатели организовали некоммерческую организацию «Программное обеспечение в общественных интересах» для финансирования Debian. Проект включает популярные бесплатные программы, такие как LibreOffice, браузер Firefox, почту Evolution, устройство записи дисков K3b, медиаплеер VLC, редактор изображений GIMP и программу просмотра документов Evince.

Организация Apache Software Foundation тоже начиналась как открытый проект по развитию одноименного программного обеспечения, в том числе веб-сервера Apache. Данный сервер считается одним из наиболее популярных. Он позволяет запускать сайты небольших проектов и малого бизнеса на WordPress. В наше время разработчики поддерживают множество софтверных проектов, которые имеют открытую лицензию Apache Software License. Спонсорами ASF выступают такие гиганты как Microsoft, Huawei и Amazon Web Sevices.

Компания Red Hat, производитель программного обеспечения на основе операционной системы Linux, возникла в 1995 году. Она не только выпускала софт, но и занималась технической поддержкой и обучением системных администраторов и разработчиков. В 2018 году компанию купила IBM.

Google развивалась благодаря Linux и открытому ПО. Компания сама поддерживает такие проекты как библиотека машинного обучения TensorFlow, язык программирования Go, ПО для автоматизации развертывания приложений Kubernetes и другие. В 2017 году Google открыла портал для 2 тыс. своих open source проектов. Компания делится своими наработками в области открытого кода, а также рассказывает о поддержке новых инициатив.

Microsoft, которая изначально была против open source, в последние годы также изменила отношение к свободному ПО. В 2018 году компания передала 60 из 90 тыс. своих патентов на разработки Open Invention Network (OIN) — организации, которая владеет патентами на программное обеспечение открытой экосистемы GNU/Linux и предоставляет право на их бесплатное использование. Чуть позже корпорация приобрела портал репозиториев открытого года GitHub, а также активно принимает участие в развитии открытых проектов, в том числе, Linux.

Microsoft покупает GitHub

Организация Open Source Design объединяет дизайнеров, которые разрабатывают проекты с открытым кодом. Она существует более пяти лет. В работе организации принимают участие UX-дизайнеры Mozilla, GNOME, Fedora, Canonical (Ubuntu), WordPress, Drupal, Libre Office, «википедии» для дизайнеров XWiki и других компаний.

В науке опенсорс-подход распространяется не только на открытое ПО, но и на публикации работ исследователей, открытое рецензирование и развитие открытых образовательных ресурсов. Еще в 1991 году физик Пол Гинспарг основал электронный архив arXiv при Лос-Аламосской национальной лаборатории для публикации в открытом доступе препринтов. Теперь там публикуются работы не только по физике, но и по медицине, математике и еще ряду направлений. Европейская организация по ядерным исследованиям (ЦЕРН) поддерживает не только выпуск оборудования с открытым исходным кодом и открытой лицензией, но и собственный портал открытых данных. Ученые применяют инструменты с открытым кодом также для того. чтобы раскрывать методологию своих исследований. К примеру, они используют Open Notebooks для документирования рабочих процессов.

Продукты с открытым кодом используют не только специалисты, но и обычные пользователи, причем иногда они даже не подозревают об этом. LibreOffice, OpenOffice и NeoOffice позволяют бесплатно работать с текстовыми документами, таблицами, графиками, рисовать и делать презентации. 7-Zip, файловый архиватор с высокой степенью сжатия, помогает экономить место на ПК и передавать большие файлы. Графический редактор GIMP способен заменить Photoshop, так как включает инструменты цветокоррекции, фильтры, рисующие инструменты, маски и слои.

Примеру опенсорс-проектов следуют и корпорации, которые открывают свои программы для улучшения. Так, Microsoft решила поделиться кодом приложения «Калькулятор» для Windows, чтобы открытое сообщество предлагало для него исправления и новые функции.

Открытый исходный код в наши дни помогает поддерживать технологии искусственного интеллекта, блокчейна и сложных вычислений. Согласно отчету Red Hat, который опросил 1 250 ИТ-лидеров по всему миру, 90% этих предприятий используют открытый исходный код: 64% компаний задействуют такое ПО для модернизации инфраструктуры, 54% — для разработки приложений, 53% — для цифровой трансформации. За последние два года эти показатели увеличились на 11%, и в будущем открытый код, вероятно, поможет заменять ручные процессы автоматизированным управлением на программном обеспечении, способствуя инновациям.

Читайте также: