12. Ни при каких обстоятельствах, если того не требует закон или не указано в письменной форме, владелец авторских прав либо какое-то другое лицо, которое имело право модифицировать и/или распространять программу в соответствии с приведенными выше разрешениями, не несет перед вами ответственность за нанесенный программой ущерб, включающий любые повреждения общего, специального, случайного или косвенного характера, являющиеся следствием использования или невозможности использования программы в том числе, но не только: потеря данных вами или другими лицами, неправильное представление данных или неспособность программы работать совместно с другими программами), даже если владелец или другое лицо было уведомлено о возможности подобного ущерба.
Как применить эти требования к новым программным продуктам
Если вы написали новую программу и хотите чтобы любой человек смог ею свободно воспользоваться, лучше всего присвоить ей статус бесплатно распространяемого программного продукта. Тогда любой желающий в рамках приведенной выше лицензии сможет ее свободно распространять и модифицировать.
Для этого включите приведенные ниже строки в дистрибутивный пакет программы. Лучше всего поместить их в качестве комментария в начало каждого исходного файла, чтобы были хорошо заметны фразы об отсутствии гарантий. В каждый исходный файл должна быть, как минимум, включена строка "copyright", а также ссылка на то, где можно прочитать полный текст лицензионного соглашения.
В первой строке необходимо указать фамилию автора программы и идею ее создания.
Copyright © год создания, фамилия автора
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston. MA 02111-1307, USA
Кроме того, обязательно поместите в дистрибутивный пакет свои координаты: почтовый адрес и/или адрес электронной почты.
Если программа работает в интерактивном режиме сделайте так, чтобы при запуске выводилось короткое сообщение наподобие приведенного ниже.
Gnomovision version 69, Copyright © год создания, фамилия автора
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.
Выше были указаны две гипотетические команды 'show w' и 'show с', с помощью которых пользователь может просмотреть соответствующие разделы обшей лицензии GNU. Конечно. имена команд могут быть другими. Более того, эти команды могут вызываться из меню или в результате щелчка мышью — это зависит от типа вашей программы.
При необходимости укажите также координаты работодателя (если вы работаете программистом) или учебного заведения (если вы студент), которые смогут подтвердить полный отказ от всех авторских прав на программу. Ниже приведен пример, где можно вставить в текст реальные имена
Yoyodyne. Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.
Личная подпись, дата Должность
Данное лицензионное соглашение не предусматривает использование программы или ее частей в коммерческих проектах. Если ваше программное обеспечение представляет собой библиотеку подпрограмм, вы можете разрешить подключать ее компоненты к коммерческим программам. При этом вместо общей лицензии GNU используйте библиотечную лицензию.
Вопросы, касающиеся FSF и GNU, направляйте по адресу [email protected]
Комментарии к данному тексту посылайте по адресу [email protected]
Сообщение об авторских правах приведено выше
Free Software Foundation Inc. 59 Temple Place - Suite 530 Boston, MA 02111-1307, USA
Обновлено: 31 июня 2000 г.
GNU — это рекурсивный акроним, который расшифровывается как GNU's Not UNIX (GNU — это не UNIX).
Пользователи, не работающие в X Window, должны нажать <F10>, чтобы получить доступ к меню.
Введите команду M-x dunnet, если хотите поиграть в старомодную приключенческую игру.
Дополнительную информацию о GCC можно получить по адресу http://gcc.gnu.org.
В Windows исполняемые файлы обычно имеют расширение .exe, а в Linux - вообще не имеют его. Поэтому в Windows эквивалент данной программы будет, скорее всего, называться reciprocal.exe.
В C++ аналогичное различие существует между потоками cout и cerr. Манипулятор endl добавляет в конец потока символ новой строки и вызывает "выталкивание" буфера. Если состояние буфера временно менять не нужно (из соображений производительности, например), воспользуйтесь вместо манипулятора константой 'n'.
В целях обеспечения безопасной работы потоков переменная errno реализована в виде макроса, но к ней можно обращаться как к глобальной переменной.
Имеются и другие флаги, предназначенные для удаления файлов из архива и выполнения других операций над ним. Все они описаны на man-странице, посвященной команде ar.
Иногда в документации упоминается переменная LD_RUN_PATH. Не верьте прочитанному! Данная переменная никак не используется в Linux.
Команда kill позволяет посылать процессам и другие сигналы. Об этом рассказывается в разделе 3.4, "Завершение процесса".
Способ синхронизации двух процессов представлен в разделе. 3 4.1, "Ожидание завершения процесса".
В чём между ними разница! Сигнал SIGTERM является запросам на завершение; процесс может его проигнорировать и продолжить свое выполнение.. Сигнал SIGKILL вызывает немедленное безусловное уничтожение процесса и не может быть обработан.
Данный способ не является стандартным. В обязанности программиста входит убедиться, что в процессе подобных преобразований не произойдет потеря значащих разрядов.
Ненулевое значение определяет семафор, совместно используемый несколькими процессами, но в Linux такой вариант семафоров не поддерживается (семафоры процессов создаются по-другому, а в данном случае речь идет о потоковых семафорах).
Эти же константы используются при работе с файлами. Они описываются в разделе 10.3. "Права доступа к файлам".
Команда sort читает строки текста ил стандартного входного потока, сортирует их в алфавитном порядке и записывает в стандартный выходной поток.
Именованный канал можно создать только в Windows NT. В Windows 9х программы могут устанавливать только клиентские соединения.
Принтер может требовать, чтобы в конце каждой строки стоял символ возврата каретки (ASCII-код 14), а в конце каждой страницы — символ подачи листа (ASCII-код 12).
В большинстве Linux-систем можно переключиться на первый виртуальный терминал, нажав <Ctrl+Alt+F1>. Чтобы перейти на второй виртуальный терминал, следует нажать <Ctrl+Alt+F2> и т.д.
Мы могли бы использовать программу hexdump вместо команды od, так как они делают, по сути, одно и то же. Но когда входной поток исчерпывается, программа hexdump завершается, а команда od переходит в режим ожидания. Опция -t x1 сообщат команде od о том, что содержимое файла должно отображаться в шестнадцатеричном формате.
В случае повреждения файловой системы данные, которые были восстановлены, но не связаны с каким-либо файлом, помещаются в каталог lost+found.
В некоторых UNIX-системах эти идентификаторы дополняются нулями, в Linux — нет.
В главе 9, "Встроенный ассемблерный код", рассказывается о том, как задействовать ассемблерные инструкции в Linux-программах.
В DOS и Windows нумерация последовательных портов начинается с единицы, поэтому порту COM1 соответствует последовательный порт с номером 0 в Linux.