Одним из важнейших нововведений UNIX оказалась система, названная pipe: коммуникационный канал между модулями программы. Эта система позволила быстро и точно решать проблемы, напрямую связывая программные модули, не создавая из них единой сложной программы, а язык ассемблера привязывал её к определённому типу компьютеров. Когда в 1972 году Деннис Ритчи создал язык программирования С («Си»), широко используемый до сих пор, ядро UNIX переписали именно на С, чтобы обеспечить бесперебойную работу.
UNIX
pipe:
UNIX
Развитие науки и техники в США часто переплетается с судебными исками.
Например, Bell Labs относилась к телекоммуникационной компании-гиганту «АТ & Т» («Эй-ти-энд-ти»), и с 1951 по 1956 год Департамент юстиции США судился с «АТ & Т», упорно нарушающей антитрестовское законодательство. Только в 1956 году было, наконец, заключено мировое соглашение, по которому Bell Labs потеряла возможность отказывать своим конкурентам в выдаче лицензий на использование патентов. Кроме того, «АТ & Т» отказалась от участия во всех видах бизнеса, кроме обыкновенных телекоммуникационных сетей.
Bell Labs
Bell Labs
(Кстати, давным-давно два друга — Стивен Джобс и Стивен Возняк, — создав свой «голубой ящичек», покушались именно на права «АТ & Т»).
Презентация системы UNLX была проведена на IV симпозиуме ACM в 1973 году и вызвала такой интерес, что множество университетов и лабораторий обратилось к создателям за получением лицензии. Гигантская компания, которая не хотела затевать новый судебный процесс с Департаментом юстиции, «умыла руки», объявив, что не собирается сама заниматься разработкой программного обеспечения и будет предоставлять лицензии без гарантии. То есть теперь она была готова предоставлять всем пользователям совершенно свободный доступ к программному коду! Пожалуйста. Берите и совершенствуйте систему UNIX. В 1974 году была даже образована так называемая Группа пользователей UNIX (ныне USENIX), существующая до сих пор.
UNLX
ACM
UNIX.
UNIX
USENIX
Создатели новой системы не были радикальными сторонниками просто свободного программного обеспечения, они требовали соблюдения известных четырёх принципов программного обеспечения:
свободы запуска любой программы, с любой целью;
свободы изучения работы любой программы, чтобы вносить в неё необходимые изменения;
свободы распространения копий программы, чтобы ими пользовались все;
свободы улучшать любую программу и обнародовать любые созданные улучшения для блага всего хакерского сообщества (что, конечно, предполагает доступ к программному коду).