Что такое свободная программа ? |
Автор: admin Просмотров: 13950 Комментарии:
Добавлен: 11 февраля 2013
Обновлено: 20.10.2013 - 20:56
Многие пользователи компьютеров не знают какую пользу несут свободные программы. В этой статье я попробую объяснить чем отличается свободная программа от бесплатной, недостатки свободных и несвободных программ и как зарабатывают на свободных программах.
Чем отличается свободная программа от бесплатной ?
Чтобы понять эту разницу, мы рассмотрим простейшую программу, которая выводит в командную строку сколько будет 2+3.
Вот как выглядит эта программа в компьютерном (машинном) коде:
Как Вы видите, полоса прокрутки довольно длинная.Как человек может написать даже такую простую программу ? А как написать, например, Windows или MS Office ?
Для этого есть языки программирования понятные человеку и программы, которые переводят исходный код написанный человеком в машинный код (компиляторы).
Наша программа на языке Pascal выглядит так:
program HelloWorld(output);
begin
writeln(2+3) { считает 2+3 }
end.
program HelloWorld(output);
begin
writeln(2+3) { считает 2+3 }
end.
Как можно хоть что-то изменить в программе без исходного кода ?
Допустим, я хочу чтобы наша программа выводила перед ответом "5" фразу "результатом вычисления 2+3 будет "
Для этого нужно сделать небольшое изменение
в исходном коде:
program HelloWorld(output);
begin
write ('результатом вычисления 2+3 будет')
writeln(2+3) { считает 2+3 }
end.
Смог бы я изменить работу программы имея только машинный код ? Проще написать программу заново. Именно так поступают программисты создавая аналог программы конкурента или в случае потери исходного кода. Но если вы хотите сделать аналог драйвера устройства, документация которого засекречена, вам придется изучать машинный код оригинального драйвера (это называется реверс-инжиниринг).в исходном коде:
program HelloWorld(output);
begin
write ('результатом вычисления 2+3 будет')
writeln(2+3) { считает 2+3 }
end.
Можно ли быть уверенным в безопасности программы не имея её исходного кода ?
Разработчики скрывающие исходный код могут запросто встроить в программу функционал, который почти незаметно ворует Ваши секретные данные. Имея исходный код Вы можете нанять команду программистов чтобы изучить его. Одни разработчики пишут программы чтобы заработать на продаже копий машинного кода или на рекламах встроенных в программу. Другие разработчики пишут программы бесплатно но тоже скрывают исходный код. Какая выгода им от этого ? Подсадить людей на эту программу и потом сделать её платной или встроить шпионский код как в случае с популярной программой ip-телефонии Skype.
Разработчики многих бесплатных программ, таких как µTorrent, Adobe PDF Reader, Mail.RU Agent, Skype, XnView, Opera, Adobe Flesh Player, Orbit Downloader и т.д. скрывают исходные коды своих программ или как в случае с UNRAR для GNU/Linux, разрешают только смотреть исходный код.
Так что же такое свободная программа ?
Свободная программа это та программа, которую можно:
0. Свободно запускать и использовать в любых целях.
1. Свободно изучать как работает программа и адаптировать ее под свои нужды. Для этого нужен [u]исходный код.[/u]
2. Свободно распространять копии, чтобы помочь своему ближнему.
3. Свободно улучшать программу и делать Ваши улучшения общедоступными к выгоде всего общества. Для этого нужен доступ к исходному тексту.
Свободные программы в образовании
https://www.gnu.org/education/edu-schools.html
Наиболее очевидные основания для использования свободных программ, хоть и важны, но не очень убедительны. Разработчики проприетарных программ могут пожертвовать копии своих творений школам. (Берегитесь! -- школа, принимающая подобное предложение может быть вынужндена платить за последующие обновления.) Давайте рассмотрим проблему глубже.
Школы должны учить учеников стилю жизни, от которого выигрывает всё общество. Они должны поддерживать использование свободных компьютерных программ также как они поддерживают охрану окружающей среды. Если школы обучают людей использовать свободные программы, тогда люди будут использовать свободные программы после того как закончат школу. Это поможет всему обществу избежать ситуации, в которой доминирующую роль в нём будут играть мегакорпорации, частенько промышляющие мошенничеством и обманом. Такие корпорации предлагают бесплатные образцы своих программ по тем же причинам, что и табачные компании распространяющие бесплатные сигареты: сделать детей зависимыми. Они не сделают ученикам скидку, когда они вырастут и закончат школу.
Свободные компьютерные программы позволяют ученикам узнать как работает программное обеспечение. Когда учащиеся достигают возраста 13 - 19 лет, некоторые из них хотят узнать и изучить всё, что связано с их компьютером и программным обеспечением для него. Это возраст, когда люди, которые будут хорошими программистами начинают постигать своё ремесло. Для того, чтобы научиться писать качественные программы, ученики должны читать много кода и писать много кода. Им нужно читать и понимать настоящие программы, которые люди действительно используют. Ученикам будет крайне любопытно читать исходный код программ, которые они используют каждый день.
Проприетраное ПО отвергает жажду учащихся к познанию, оно говорит: "Знание, которое ты хочешь -- секретно, изучение запрещено!'' Свободные программы поощряют учёбу каждого. Сообщество пользователей и разработчиков свободных программ отвергает "священство технологии'', которое держит широкую общественность в неведении того как работают технологии; мы поощряем учащихся любого возраста и положения читать исходный код и учиться столько сколько им хочется. Образовательные учреждения, которые использую свободные программы позволят развиваться одарённым программистам среди учеников.
Следующее основание для использования свободных программ ещё более неочевидно. Мы ожидаем, что в образовательных учреждениях будут изучать важные факты и получать полезные навыки, но это не все задачи школ. Их фундаментальная миссия заключается в том, чтобы учить людей быть добропорядочными гражданами, добрыми соседями -- помогать другим людям, когда им нужна помощь. В компьютерной сфере это означает обучение умению делиться программами. Начальные школы прежде всего должны говорить учащимся, "Если ты приносишь в школу компьютерную программу, ты должен поделиться ею с другими детьми''. Разумеется, чтобы слова не расходились с делом, в образовательных учреждениях должны быть установлены программы, которые ученики смогут копировать, брать домой, распространять далее.
Как заработать на свободных программах ?
Можно брать деньги за распространение программ, доработывать программы под заказ, зарабатывать на технической поддежке и обучающих курсах.
Я на своем сайте пишу описания свободных программ и зарабатываю на рекламах.
Для лучшего понимания материала я рекомендую посмотреть видео
© 2013 linexp.ru. Копирование материала разрешается только с указанием прямой и индексируемой ссылки.
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Я уже пять лет не занимаюсь сайтом, так как работаю по 12 часов. Образование у меня среднее, и по этому нет нормальной работы. Если бы сайт приносил по 100$ в месяц, я бы добавлял по 50 статей каждый месяц. Если отправите пожертвования, я оставлю Ваши имена и фамилии в списке благодетелей !
Bitcoin: 1AP3JCZVFpHzZwcAyNztbrbFFiLdnKbY1j
Litecoin LfHXHz4k6LnDNNvCodd5pj9aW4Qk67KoUD
Dogecoin D9HHvKNFZxRhjtoh6uZYjMjgcZewwiUME9
Есть также другие кошельки.
Категория: Философия GNU
Комментарии |