Перейти к содержанию

1.3 GNU и Linux (GNU and Linux)

Так почему же Торвальдс «раздал» Linux всем желающим? Почему он не последовал стандартной корпоративной модели разработки и не попытался заработать целое состояние? Чтобы понять это, нужно познакомиться с движением GNU's Not UNIX (GNU). В начале 1980-х годов программист по имени Ричард Столлман (Richard Stallman) из Массачусетского технологического института предложил альтернативу стандартной корпоративной модели разработки программного обеспечения. Он возражал против проприетарного (proprietary) характера как самого процесса, так и его продукта.

В 1983 году Столлман запустил проект GNU, в основе которого лежала идея о том, что исходный код приложений и операционных систем должен свободно распространяться среди всех желающих. Он считал, что исходный код программ должен быть свободен от любых ограничений, препятствующих копированию, изменению и распространению. Столлман надеялся, что возможность для программистов всего мира изменять исходный код приложения приведёт к появлению более качественного программного обеспечения. Программное обеспечение, разрабатываемое в рамках GNU, часто называют свободным программным обеспечением (free software). Разновидность концепции свободного программного обеспечения называется программным обеспечением с открытым исходным кодом (open source software).

Проект GNU постепенно набирал силу. В рамках GNU было разработано множество полезных утилит, таких как компилятор GNU C Compiler (gcc). Проект GNU оказал большое влияние на Торвальдса, и в результате он опубликовал исходный код ядра своей операционной системы Linux для всего мира.

Сам Linux распространяется на условиях лицензии GNU General Public License (GPL). Ключевой момент, который следует помнить о GPL: она требует, чтобы исходный код оставался свободно доступным для всех желающих. Благодаря этому вы можете загрузить исходный код ядра Linux, изменить его, перекомпилировать и запустить. Вы можете даже создать собственную модифицированную версию, или дистрибутив (distribution), Linux.