Что такое программное обеспечение с открытым исходным кодом?
Прежде чем вы узнаете, что такое программное обеспечение с открытым исходным кодом, вы должны знать, что такое исходный код и двоичный код. Когда кто-то пишет компьютерную программу, он не просто пишет код, который будет непосредственно использоваться машинами. Вместо этого они пишут исходный код, который находится в незашифрованном виде с использованием определенного языка программирования, а затем этот код компилируется/интерпретируется с использованием специальных программ для генерирования двоичного кода. Машины могут понимать и работать только с двоичными кодами. Двоичные коды - это большие куски файлов, которые похожи только на 0101001010, и они представляют собой компьютерную инструкцию, которую машины могут понять и использовать для выполнения работы.
Проприетарное программное обеспечение против свободного программного обеспечения
До 1980 года, исходный текст почти всегда предоставлялся авторами бесплатно, с разрешением распространять программу и изменять ее, как хотелось пользователю, без дополнительной оплаты. Но в 1980-е годы ситуация начала меняться, разработчики поняли, сколько усилий необходимо для разработки программ, поэтому перестали предоставлять исходный текст и продолжали распространять только двоичные файлы (либо бесплатно, либо за плату). Появились компании-разработчики программным обеспечением, которые начали создавать «Лицензии» на свое программное обеспечение и соответственно взимать с пользователей плату. У каждой лицензии были свои юридические условия, которые позволяли вам как пользователю делать некоторые специфические вещи в программе/исходном коде и мешали вам делать другие вещи. Например, многие программы требуют от вас подписания Лицензионного соглашения с конечным пользователем (End User License Agreement (EULA)), в котором говорится, что у вас нет права изменять, распространять или читать исходный текст программы, которой вы собираетесь пользоваться. Вы имеете право использовать программу только так, как указано в соглашении, и у вас нет доступа к исходному коду. Мы называем эти программы закрытым исходным кодом или проприетарными программами.
В 1985 году человек по имени Ричард Столмен, которому не понравилась нынешняя ситуация, создал так называемый Фонд свободного программного обеспечения (FSF), который пропагандировал свободное программное обеспечение. Он разработал 4 критерия по которым программное обеспечение считалось свободным:
- Свобода исполнять программу для любых целей.
- Свобода изучать, как программа работает, и приспосабливать ее к своим нуждам.
- Свобода распространять копии, если тем самым можно помочь соседу.
- Свобода совершенствовать программу и публиковать свои усовершенствования, так чтобы их преимуществами могли воспользоваться все.
Все это не требует предварительного письменного разрешения автора программы пользователю. Просто увидев лицензию и зная, что это лицензия свободных программ, вы можете делать все 4 вещи, изложенные выше, и именно это называется свободными программами. Сегодня существуют десятки лицензий свободных программ, которыми разработчик программ пользуется, чтобы поместить свою программу под них. Наиболее известной из них является GPL (GNU Public License), которая была первоначально выпущена в 1989 году. Сегодня в мире существуют миллионы свободных программ.
Что такое Open Source?
В 1998 году людям не понравилась иллюзия, созданная термином «свободное программное обеспечение», потому что это может подтолкнуть людей к мысли, что речь идет о бесплатности (как о бесплатном кофе), а не о свободе. Поэтому, чтобы устранить эту иллюзию, была создана инициатива Open Source, и термин open source (открытый исходный код) стал использоваться для программного обеспечения, которое соответствует критериям свободного программного обеспечения. Сегодня мы говорим так обо всем программном обеспечение, к которому можно свободно получить его исходный код , как о программном обеспечение с открытым исходным кодом (оно должно быть лицензировано в рамках утвержденной лицензии с открытым исходным кодом). Есть некоторые небольшие технические подробности о реальной разнице между свободными программами и открытыми исходными текстами, но оба они могут рассматриваться как две стороны одной медали. Свободное программное обеспечение - это философское движение, которое считает, что создание свободного программного обеспечения - это моральный выбор, а все несвободное программное обеспечение аморально. Тем не менее, движение с открытым исходным кодом заявляет, что это техническое движение, которое полностью сосредоточено на коде, как его улучшить и сотрудничать вокруг него, и не является философским движением и не смотрит на тему с этой точки зрения. Сегодня большинство программ, с которыми вы, вероятно, столкнетесь в своей жизни, имеют открытый исходный код. Такие вещи, как Firefox, известный веб-браузер, или Linux, известная операционная система, или WordPress, известная CMS, все с открытым исходным кодом. Мы употребляем термин «открытый исходный код» чаще, чем термин «свободное программное обеспечение».
Почему вы должны использовать программное обеспечение с открытым исходным кодом
- Вам позволяется получать доступ к исходному коду, изучать его, изменять его, распространять и публиковать собственные изменения в соответствии с лицензией.
- Поскольку исходный код открыт, вы можете быть уверены, что в программе нет бэкдоров и шпионских программ, потому что вы можете увидеть это. Если вы не программист, вы можете попросить кого-нибудь сделать эту работу за вас.
- Существует большое сообщество связанное с программным обеспечением с открытым исходным кодом, которое вы используете. Это означает, что разработчики согласятся изучить ваши проблемы и предложения, если позволит их время, а это означает, что вы можете стать участником разработки этой программы с открытым исходным кодом, чтобы сделать ее лучше.
- Если вы являетесь компанией, использующая программу с открытым исходным кодом, и внезапно первоначальный разработчик решает внести изменение, которое вам не нравится, то вы можете создать форк (ответвление) программы. Это означает, что вы можете взять код до внесенного изменения и пользоваться этой версией и начать разрабатывать и распространять данную версию самостоятельно.
- Это правда, что программы с открытым исходным кодом также могут быть платными, но в целом, большинство программ с открытым исходным кодом все же бесплатны.
- Помогающее сообщество! Вы можете получить большую помощь и бесплатную поддержку от своих собратьев. А также взаимно оказать помощь.
Может ли программное обеспечение с открытым исходным кодом не быть бесплатным?
Да.
Не все программное обеспечение с открытым исходным кодом является бесплатным. Авторы программного обеспечения могут решить потребовать от вас плату перед загрузкой программного обеспечения. Но вам по-прежнему предоставляется исходный код вместе с правами на его распространение и модификацию, как и для любого другого программного обеспечения с открытым исходным кодом. Это, конечно, означает, что первый пользователь, который скачает программу, имеет право и возможность просто взять исходный код и бесплатно передать его всем остальным. Вот почему, хотя разработчики с открытым исходным кодом могут взимать плату за свое программное обеспечение, использование такой модели, как правило, нецелесообразно. Вместо этого большинство проектов с открытым исходным кодом зарабатывают деньги, предоставляя услуги, поддержку, дополнения и другие дополнительные функции только для тех, кто будет это оплачивать.
Зачем кому-то разрабатывать программное обеспечение с открытым исходным кодом?
У каждого разработчика на это свои причины:
- Крупные корпорации, такие как Facebook, Google, Apple и другие, во многом зависят от одного и того же программного обеспечения для работы своей инфраструктуры. Вместо того, чтобы разрабатывать все с нуля на своем собственном предприятии, они могут в определенной степени сотрудничать в разработке конкретного программного обеспечения, которое им необходимо.
- Обычным программистам нравится разрабатывать программы, и они хотят показать свою работу и получить советы и отзывы от своих коллег, поэтому они выпускают свои программы с открытым исходным кодом. Или же они просто хотят решить проблему, которая у них была, и решили помочь с этим и другим разработчикам.
- В большинстве случаев основной мотив разработки программ с открытым исходным кодом состоит в том, что есть несвободная программа с закрытым исходным кодом, разработчики которой требуют от людей больших денег, чтобы пользоваться ею. Так что, чтобы позволить каждому выполнять свои задачи, люди просто сотрудничают в разработке альтернативы с открытым исходным кодом.
Не забывайте, что открытый исходный код не только для разработчиков. Даже самые обычные пользователи, которые не являются разработчиками, вносят свой вклад в проекты с открытым исходным кодом многими способами, например, тестируя, продвигая его, предоставляя поддержку другим пользователям и многое другое.
Open Source - это просто программное обеспечение?
Нет.
Мы используем термин «open source» и во многих других областях. Например, у нас есть нечто, называемое «открытой аппаратурой», - это любое электронное устройство, которое предоставляет свою конструкторскую схему или драйверы аппаратуры под лицензией Open Source. У нас есть так называемое «Открытое обучение», которое представляет собой процесс обучения с использованием методологий и инструментов под свободными лицензиями. Принцип Open Source и во многих других местах.