Спонсор проекта
Быстрый индивидуальный прокси сервер от IPANN.NET решит проблему вашей анонимности.
Все программы:
Финансы Наука и производство Общество Образование Программирование Сеть Безопасность Администрирование Игры Рабочий стол Компьютерные советы Другие темы Добавить статью Отказ от ответственности О нас Связь с администрацией
Голосования
Пользуетесь ли Вы социальными
сетями ?
Нет, они следят за мной (195)
Да, пользуюсь (90)
Пользуюсь только
пиринговыми (17)

Что такое свободная программа ?

     Просмотров: 4126       Комментарии:      Добавлен: 11 февраля 2013          

Обновлено: 20.10.2013 - 20:56

Многие пользователи компьютеров не знают какую пользу несут свободные программы. В этой статье я попробую объяснить чем отличается свободная программа от бесплатной, недостатки свободных и несвободных программ и как зарабатывают на свободных программах.

Чем отличается свободная программа от бесплатной ?


Чтобы понять эту разницу, мы рассмотрим простейшую программу, которая выводит в командную строку сколько будет 2+3.

Вот как выглядит эта программа в компьютерном (машинном) коде:

http//libreportal.net/images/thumbs/2013-02/11/fbrqpmq95fqy23dk730n61mh8.png

Как Вы видите, полоса прокрутки довольно длинная.

Как человек может написать даже такую простую программу ? А как написать, например, Windows или MS Office ?


Для этого есть языки программирования понятные человеку и программы, которые переводят исходный код написанный человеком в машинный код (компиляторы).
Наша программа на языке Pascal выглядит так:

program HelloWorld(output);
begin
writeln(2+3) { считает 2+3 }
end.
И вот результат её работы:
http//libreportal.net/images/thumbs/2013-02/11/et3zko6456sa1tlx6un6gthmx.png







Как можно хоть что-то изменить в программе без исходного кода ?

Допустим, я хочу чтобы наша программа выводила перед ответом "5" фразу "результатом вычисления 2+3 будет "
Для этого нужно сделать небольшое изменение
в исходном коде:
program HelloWorld(output);
begin
write ('результатом вычисления 2+3 будет')
writeln(2+3) { считает 2+3 }
end.
И вот результат:
http//libreportal.net/images/thumbs/2013-02/11/4azbhd4kswbw2lnmkg4r3chge.png
Смог бы я изменить работу программы имея только машинный код ? Проще написать программу заново. Именно так поступают программисты создавая аналог программы конкурента или в случае потери исходного кода. Но если вы хотите сделать аналог драйвера устройства, документация которого засекречена, вам придется изучать машинный код оригинального драйвера (это называется реверс-инжиниринг).

Можно ли быть уверенным в безопасности программы не имея её исходного кода ?


Разработчики скрывающие исходный код могут запросто встроить в программу функционал, который почти незаметно ворует Ваши секретные данные. Имея исходный код Вы можете нанять команду программистов чтобы изучить его. Одни разработчики пишут программы чтобы заработать на продаже копий машинного кода или на рекламах встроенных в программу. Другие разработчики пишут программы бесплатно но тоже скрывают исходный код. Какая выгода им от этого ? Подсадить людей на эту программу и потом сделать её платной или встроить шпионский код как в случае с популярной программой 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. Свободно улучшать программу и делать Ваши улучшения общедоступными к выгоде всего общества. Для этого нужен доступ к исходному тексту.

Свободные программы в образовании
http://www.gnu.org/education/edu-schools.html


Наиболее очевидные основания для использования свободных программ, хоть и важны, но не очень убедительны. Разработчики проприетарных программ могут пожертвовать копии своих творений школам. (Берегитесь! -- школа, принимающая подобное предложение может быть вынужндена платить за последующие обновления.) Давайте рассмотрим проблему глубже.

Школы должны учить учеников стилю жизни, от которого выигрывает всё общество. Они должны поддерживать использование свободных компьютерных программ также как они поддерживают охрану окружающей среды. Если школы обучают людей использовать свободные программы, тогда люди будут использовать свободные программы после того как закончат школу. Это поможет всему обществу избежать ситуации, в которой доминирующую роль в нём будут играть мегакорпорации, частенько промышляющие мошенничеством и обманом. Такие корпорации предлагают бесплатные образцы своих программ по тем же причинам, что и табачные компании распространяющие бесплатные сигареты: сделать детей зависимыми. Они не сделают ученикам скидку, когда они вырастут и закончат школу.

Свободные компьютерные программы позволяют ученикам узнать как работает программное обеспечение. Когда учащиеся достигают возраста 13 - 19 лет, некоторые из них хотят узнать и изучить всё, что связано с их компьютером и программным обеспечением для него. Это возраст, когда люди, которые будут хорошими программистами начинают постигать своё ремесло. Для того, чтобы научиться писать качественные программы, ученики должны читать много кода и писать много кода. Им нужно читать и понимать настоящие программы, которые люди действительно используют. Ученикам будет крайне любопытно читать исходный код программ, которые они используют каждый день.

Проприетраное ПО отвергает жажду учащихся к познанию, оно говорит: "Знание, которое ты хочешь -- секретно, изучение запрещено!'' Свободные программы поощряют учёбу каждого. Сообщество пользователей и разработчиков свободных программ отвергает "священство технологии'', которое держит широкую общественность в неведении того как работают технологии; мы поощряем учащихся любого возраста и положения читать исходный код и учиться столько сколько им хочется. Образовательные учреждения, которые использую свободные программы позволят развиваться одарённым программистам среди учеников.

Следующее основание для использования свободных программ ещё более неочевидно. Мы ожидаем, что в образовательных учреждениях будут изучать важные факты и получать полезные навыки, но это не все задачи школ. Их фундаментальная миссия заключается в том, чтобы учить людей быть добропорядочными гражданами, добрыми соседями -- помогать другим людям, когда им нужна помощь. В компьютерной сфере это означает обучение умению делиться программами. Начальные школы прежде всего должны говорить учащимся, "Если ты приносишь в школу компьютерную программу, ты должен поделиться ею с другими детьми''. Разумеется, чтобы слова не расходились с делом, в образовательных учреждениях должны быть установлены программы, которые ученики смогут копировать, брать домой, распространять далее.

Как заработать на свободных программах ?


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

Для лучшего понимания материала я рекомендую посмотреть видео


© 2013 libreportal.net. Копирование материала разрешается только с указанием прямой и индексируемой ссылки.

Категория: Философия GNU





 (Голосов: 12)
« Назад

Комментарии

Добавление комментария


Имя:
(обязательно!)
Пароль:
(если зарегистрирован)
Email:
(обязательно!)
Комментарий:
Введите код: *
captcha
Рекламки




Рекомендуем:
Реклама