Говоря о создании и распространении программного обеспечения, следует отметить две основных стратегии, применяемых в этой области. Одна -- стратегия copyright, подразумевающая оплату при покупке каждой копии программного продукта и запрет на распространения этих копий. В законодательствах многих стран имеются законы, охраняющие авторское право на программные продукты и данные. Наиболее известен Digital Millennium Copyright Act (DMCA), принятый правительством США, хотя многие считают, что он уже стал орудием торможения развития компьютерной среды.
Но, программирование -- это такая же наука, как и химия, физика, математика. Все достижения в этих областях обнародованы. Не нужно открывать еще раз теорему Пифагора и изобретать заново колесо. Если человек живет в обществе, то все его открытия должны стать достоянием этого общества, ведь именно так происходит прогресс. То же можно сказать и о программном обеспечении. Развитие программного обеспечения невозможно, если мы не можем разделить свои достижения с другими специалистами, чтобы они продолжили наше дело, чтобы развивали и исходили уже из того, что развили другие. Эта точка зрения отражена в лицензии GPL, в соответствии с которой разрабатывалась и развивалась ОС Linux. Говоря о такой стратегии часто используют термин copyleft. Свободное программное обеспечение часто более надежно, чем несвободное.
В семидесятых годах 20 века программное обеспечение зачастую разрабатывалось свободными объединениями программистов и бесплатно передавалось другим нуждающимся в нем пользователям. Нередко этим занимались даже крупные фирмы. К 1983 году положение изменилось -- наступила эра персональных компьютеров, коммерческие программы и операционные системы (в частности, DOS от Microsoft) начали свое победное шествие по миру. Чуть позже идея коммерциализации проникла и в мир "больших" машин и "серьезного" программирования. Ричард Столлмен, один из основателей Unix, основал проект GNU (www.gnu.org), целью которого было вернуть прежние взаимоотношения производителей и потребителей программного обеспечения. GNU (расшифровывается как "GNU is not Unix") -- не Unix, потому что GNU не ограничивает свободу.
В манифесте GNU отличию свободных программ от бесплатных уделено очень много места -- по-русски же это можно сказать гораздо короче, поскольку эти понятия не обозначаются, как в английском, одним словом free. Получив в пользование или купив свободную программу, вы можете:
сколько угодно копировать, как угодно широко ее распространять;
изменять или совершенствовать ее исходный код (программа, распространяемая по "публичной лицензии" GNU, всегда поставляется вместе с исходным кодом разработчика -- этой самой строго охраняемой и никогда не раскрываемой частью коммерческих программ);
и, наконец, свободно распоряжаться измененной версией -- хоть раздавать ее даром, хоть запрашивать за нее миллиард.
Только на одну вещь пользователь такого программного обеспечения не имеет права ни в коем случае. Он не может при дальнейшем распространении скрыть исходный код программы, объявив себя его "владельцем", и остановить таким образом ее, программы, свободное совершенствование и развитие. Специально для таких программ проект GNU ввел в обиход понятие copyleft (в отличие от copyright, когда создатель продукта сохраняет на него практически все авторские и имущественные права при любых обстоятельствах -- даже если и распространяет его совершенно бесплатно).
Итак, свобода программного обеспечения состоит из