Роль организации GNU

206
12 июня 2018, 09:50

Не могу понять роль организации GNU. Переводится как некий проект ***not Unix. Эм...ну если not Unix, то почему тогда их проект gdb это отладчик под Unix системы?

Answer 1

Проект GNU (англ. The GNU Project) — проект по разработке свободного программного обеспечения (СПО), является результатом сотрудничества множества отдельных проектов. Проект был запущен программистом и сторонником СПО Ричардом Столлманом 27 сентября 1983 года в Массачусетском технологическом институте. Изначальной целью проекта было «разработать достаточно свободного программного обеспечения, чтобы можно было обойтись без программного обеспечения, которое не является свободным».

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

Пожалуй, в контексте твоего вопроса, интереснее всего фраза

является результатом сотрудничества множества отдельных проектов

Манифест

Лицензии

Программы. Уверен, тебя заинтересует список.

Философию происходящего в этом проекте хорошо иллюстрирует существование нежно мною любимой LibreJS.

дополнение к Firefox, позволяющее отказаться от выполнения несвободного JavaScript-кода. По мнению Ричарда Столлмана, проблема с JavaScript состоит в том, что код загружается без ведома пользователя, не давая возможности оценить степень его свободности перед загрузкой и воспрепятствовать выполнению проприетарного JavaScript-кода. Определение применяемой в JavaScript-коде лицензии производится через указание на сайте специальных меток или через анализ наличия упоминания лицензии в комментариях к коду. Кроме того, по умолчанию допускается выполнение тривиального JavaScript-кода, известных библиотек и кода с сайтов, занесённых пользователем в белый список.

Answer 2

Про название.

В старом *nix-мире обычной практикой было, что кто-то брал какую-то программу, немного изменял её или писал совместимую, но немного отличающуюся. В итоге новую программу нужно как-то было называть. Обычно или добавлялось пару букв, характеризующих улучшение по этой схеме именования до сих пор сохранились, например, syslog-ng, aircrack-ng (Next Generation), vim (Vi IMproved), или имя автора: ksh (Korn SHell). За отсутствием повсеместного доступа к интернету и за тем фактом что написание софта под себя было нормой таких вариантов накапливались десятки и в каждой сети были свои.

В 80-е был распространён редактор TECO (тико) и по аналогии свои редакторы многие программисты хакеры называли свои поделия такой-то-тико и сякой-то-тико, но один умный хакер решил пошутить и назвал свой редактор tint (Tint Is Not Teco). Шутка многим пришлась по вкусу и отчасти даже стала традицией именования.

Ричард Мэттью Столлманом (rms) — один из тех толстых весёлых парней, кто в принципе любит пошутить и кому эта шутка в том числе нравилась. Когда он начал искать имя для своей свободной UNIX-подобной операционной системы он решил придерживаться шаблона «что-то не UNIX», но ни один из 26 возможных вариантов «?INU» не являлся словом и название получалось не такое уж интересное. В итоге волевым решением он сократил его на одну букву и получил классическое «GNU's Not Unix», которое с одной стороны следовало традиции, а с другой имело за собой шлейф вторых прочтений, среди которых «не UNIX от GNU» и «не UNIX от гну» итп.

Вольный пересказ лекции самого rms.

READ ALSO
Подсчет ссылок в C++

Подсчет ссылок в C++

Как реализовать подсчет ссылок при создании собственного класса C++?

437
libmodbus передача пакета по RTU rs-485

libmodbus передача пакета по RTU rs-485

Кто работал с библиотекой libmodbus подскажите пожалуйстаХочу в устройство принимающая данный по протоколу MODBUS отправить сам пакет

215
Параметры функций

Параметры функций

Я хочу хочу понять какие параметры нужны в c++ в функции push_heap()Если можете объясните всё простым языком

154
Возврат из функции и её вызов в С++

Возврат из функции и её вызов в С++

Имею 2 функции (различий меж ними нет, практически) Правильно ли я выполняю из них возврат? И как правильно их нужно вызывать в main (между массивами,...

182