Программное обеспечение с открытым исходным кодом и программное обеспечение с закрытым исходным кодом: в чем разница?
Как энтузиаст программного обеспечения, вы, должно быть, читали термины «открытый исходный код» и «собственность», используемые в Интернете. Есть ли разница между этими двумя?
Все, что вы видите на своем экране, состоит из языка. Кто-то где-то записал слова, предназначенные для понимания вашим компьютером. Эти слова, этот язык известен как код.
Чтобы наш компьютер знал, что делать, он должен понимать этот код. Если да, то он может действовать. Но чтобы понять, что на самом деле делает наш компьютер, нам также нужно прочитать код.
Программное обеспечение с открытым исходным кодом позволяет вам увидеть этот код. Программное обеспечение с закрытым исходным кодом — нет. Итак, что это за два типа программного обеспечения и почему существуют оба подхода?
Что такое программное обеспечение с открытым исходным кодом?
Бесплатное программное обеспечение с открытым исходным кодом — это программное обеспечение, в котором у вас есть доступ не только к свободному использованию программы, но также к просмотру, редактированию и совместному использованию исходного кода.
Исходный код — это код, который человек (или, в некоторых случаях, компьютер) набрал при создании программы. Это отличается от двоичного кода, который является фактическим языком, на котором говорит компьютер. Когда программист заканчивает писать программу, он компилирует исходный код в двоичную программу.
Человек умеет читать исходный код. Компьютер умеет читать двоичный код.
Когда кто-то распространяет программу, он обычно предоставляет вам двоичный файл, который вы можете запустить на своем компьютере. Эта программа не является бесплатной и с открытым исходным кодом, если они также не предоставляют вам исходный код и свободу делать с обоими в основном то, что вы хотите.
Что такое программное обеспечение с закрытым исходным кодом?
Программное обеспечение с закрытым исходным кодом — это программное обеспечение, использование которого связано с ограничениями, в первую очередь невозможностью увидеть исходный код. У вас есть доступ только к бинарному файлу.
Программное обеспечение с закрытым исходным кодом также известно как проприетарное программное обеспечение. Это связано с тем, что разработчики программного обеспечения рассматривают исходный код как частную, проприетарную информацию. Предоставить кому-либо доступ к этому коду, по их мнению, дало бы другим конкурентное преимущество: возможность свободно копировать и редактировать программу без необходимости нанимать разработчика или команду разработчиков для выполнения той же работы.
Если вы не выросли на Linux, велика вероятность того, что большинство программ, с которыми вы знакомы, имеют закрытый исходный код. Этот тип программного обеспечения легче монетизировать, что делает его привлекательным как для небольших разработчиков приложений, так и для гигантских корпораций.
Еще один контрольный признак — нужно ли вам соглашаться с лицензионным соглашением с конечным пользователем или EULA при первом использовании программы.
EULA и лицензии на бесплатное программное обеспечение
Компьютер не похож на большинство инструментов. То, что вы можете двигать мышь или гладить сенсорную панель, не имеет большого значения. То, что вы можете нажимать кнопки на клавиатуре или смотреть на экран, нужно, но не суть.
Важен код. Код можно изменить. Код можно скопировать. Нет никаких внутренних ограничений для чьей-либо способности возиться с кодом и копировать его. Производитель компьютеров не должен просить вас не делать копии вашего ноутбука, поскольку большинство людей просто не могут этого сделать. Но копировать и распространять программное обеспечение, установленное на компьютере, не так уж сложно, поэтому вступают в силу ограничительные лицензионные соглашения с конечным пользователем.
Лицензионные соглашения обычно представляют собой гигантские стены текста, которые на юридическом языке описывают, что вы можете и чего не можете делать с программным обеспечением, которое собираетесь использовать. Как правило, они не позволяют вам увидеть код, считают копирование незаконным, требуют приобрести лицензию или ключ активации и часто подробно описывают способы использования программного обеспечения, рассматриваемые в соответствии с условиями обслуживания.
Лицензии на свободное программное обеспечение не требуют вашего договорного согласия, а вместо этого существуют для того, чтобы сообщить вам, что по большей части вы можете делать с программой и ее кодом все, что хотите. Некоторые свободные лицензии, такие как Стандартная общественная лицензия GNU, считаются лицензиями с авторским левом. Их основным ограничением на ваше поведение является требование, чтобы любые программы, которые вы разрабатываете с использованием кода, доступного по GPL, также были доступны по лицензии GPL.
Другие лицензии, такие как лицензия MIT, считаются разрешающими лицензиями и не подпадают под это требование. Вы можете взять код, лицензированный MIT, и использовать его для создания собственной программы, если хотите.
Как это повлияет на вас
Лицензирование программного обеспечения, которое вы используете, определяет, что вы можете делать на своем компьютере.
Если в проприетарной программе есть ошибка или вы хотите, чтобы у нее была определенная функция, ваш единственный выход — уведомить разработчика программного обеспечения и надеяться, что он что-то сделает с этим. В свободном программном обеспечении вы можете сами вносить изменения, если у вас есть технические знания. Часто, даже если вы не понимаете код, есть большая вероятность, что кто-то в сети захочет сделать то же самое или заметит ту же проблему и предоставит инструкции по настройке программы.
Но у подавляющего большинства людей нет желания читать код или модифицировать программы. Значит ли это, что эта проблема не затрагивает большинство людей? Едва ли. Есть несколько основных областей, вызывающих растущую обеспокоенность, когда программное обеспечение с закрытым исходным кодом и программное обеспечение с открытым исходным кодом относятся к вам совершенно по-разному:
Category | Open-Source Software | Closed-Source Software |
---|---|---|
Cost | Nearly always free for you to use without paying any money. | More likely to cost money. When proprietary software is offered for free, there's often a risk. Developers and publishers often monetize the program a different way, whether by displaying ads, tracking your behavior, sneaking unwanted (sometimes malicious) software onto your computer, or some combination of the three. |
Privacy | Usually the most privacy-respecting software you can use. If someone tries to share an open-source program that infringes on your privacy, someone else will notice and share a copy with all the tracking removed. The risk of controversy and reputational harm is often enough to prevent developers from even collecting basic diagnostic data considered commonplace among proprietary software. | Often tracks how you use the program. On mobile devices, it's commonplace for apps to keep tabs on your location and what other apps you have installed on your phone. Some look at your list of contacts or scan your files. |
Security | Benefits from the fact that many eyes can see the code. While this doesn't guarantee that many eyes actually are seeing the code when an exploit hits the wild, anyone with the skillset can contribute a fix, and you can confirm that the problem has been addressed. | Closed-source software often relies on a security model called security through obscurity. This does not stop bad actors from finding vulnerabilities and creating exploits. And if the software developer makes you aware of these exploits, since you can't see the program's code, you can't confirm if the problem has been addressed. You have to go on trust. |
Updates | Updates can take longer to arrive, since software development is often dependent on volunteers. On the flip side, apps and distributions tend to support hardware for years, if not decades. | Sometimes arrives more quickly since there is often a team of employees being paid to work on a project full-time. Yet software support can end abruptly when a company goes out of business or decides a piece of software is no longer profitable. New versions are much less likely to run on older hardware. |
Какое программное обеспечение следует использовать?
Большинство компьютеров, которые вы найдете в крупных магазинах, поставляются с программным обеспечением с закрытым исходным кодом, то же самое относится и к телефонам. Более технически подкованные люди могут заменить свою заблокированную операционную систему на открытую альтернативу. Для других по-прежнему относительно легко купить ноутбук с Linux в Интернете или загрузить приложения с открытым исходным кодом для любой операционной системы.
Но бесплатное программное обеспечение с открытым исходным кодом не имеет такого же уровня финансирования и обычно предоставляется «как есть». Хотя он более чем подходит для многих (если не для большинства) вариантов использования, есть и другие, где лучшие инструменты для работы доступны только в проприетарной форме.