Что такое Logisim. Как использовать Logisim для создания цифровых схем. Какие возможности предоставляет Logisim. Где применяется Logisim. Как установить и начать работу с Logisim.
Что такое Logisim и для чего он используется
Logisim — это мощный и удобный инструмент для проектирования и моделирования цифровых логических схем. Он предоставляет графический интерфейс, позволяющий легко создавать схемы из базовых логических элементов и более сложных компонентов.
Основные возможности Logisim:
- Создание схем с помощью графического редактора
- Библиотека стандартных логических элементов и более сложных компонентов
- Моделирование работы схем в реальном времени
- Анализ временных диаграмм
- Иерархическое проектирование с использованием подсхем
- Экспорт схем в различные форматы
Logisim широко используется в образовательных целях для изучения основ цифровой логики и архитектуры компьютеров. Его простой интерфейс позволяет студентам быстро освоить базовые концепции, а расширенные возможности дают возможность создавать достаточно сложные проекты.

Ключевые особенности и преимущества Logisim
Logisim обладает рядом важных преимуществ, которые делают его отличным выбором для проектирования цифровых схем:
- Интуитивно понятный графический интерфейс
- Моделирование в реальном времени по мере создания схемы
- Обширная библиотека готовых компонентов
- Возможность создания пользовательских компонентов
- Поддержка иерархического проектирования
- Анализ временных диаграмм
- Кроссплатформенность (Windows, macOS, Linux)
- Открытый исходный код
Эти особенности делают Logisim мощным, но при этом доступным инструментом как для начинающих, так и для опытных разработчиков цифровых схем.
Основные компоненты и элементы в Logisim
Logisim предоставляет обширную библиотеку стандартных компонентов для создания цифровых схем:
Базовые логические элементы:
- И (AND)
- ИЛИ (OR)
- НЕ (NOT)
- Исключающее ИЛИ (XOR)
Элементы памяти:
- D-триггер
- JK-триггер
- T-триггер
- Регистры
Арифметические компоненты:
- Сумматоры
- Компараторы
- Мультиплексоры/демультиплексоры
Устройства ввода/вывода:
- Кнопки и переключатели
- Светодиоды
- Семисегментные индикаторы
Кроме того, пользователи могут создавать собственные компоненты на основе более простых элементов.

Создание и моделирование схем в Logisim
Процесс создания схем в Logisim достаточно прост и интуитивно понятен:
- Выберите нужные компоненты из библиотеки
- Разместите их на рабочей области
- Соедините компоненты проводниками
- Настройте параметры компонентов при необходимости
- Запустите симуляцию для проверки работы схемы
Logisim позволяет моделировать работу схемы в реальном времени. Вы можете изменять входные сигналы и наблюдать, как меняются выходные значения. Это очень удобно для отладки и анализа работы схемы.
Для более сложных проектов Logisim поддерживает иерархическое проектирование. Вы можете создавать подсхемы и использовать их как компоненты в других схемах, что значительно упрощает разработку больших проектов.
Применение Logisim в образовании и проектировании
Logisim широко используется в образовательных учреждениях по всему миру для обучения основам цифровой логики и архитектуры компьютеров. Вот некоторые примеры его применения:
- Изучение базовых логических операций и схем
- Проектирование комбинационных и последовательностных схем
- Разработка арифметико-логических устройств (АЛУ)
- Создание простых процессоров и компьютерных архитектур
- Моделирование работы памяти и устройств ввода-вывода
Благодаря своей простоте и функциональности, Logisim позволяет студентам быстро перейти от теории к практике, создавая работающие цифровые схемы.

Кроме того, Logisim используется и в реальных проектах для быстрого прототипирования и тестирования идей перед реализацией на аппаратном уровне.
Установка и начало работы с Logisim
Установка Logisim очень проста:
- Скачайте последнюю версию Logisim с официального сайта
- Распакуйте архив в удобное место на вашем компьютере
- Запустите файл logisim.jar
Для работы Logisim требуется установленная Java Runtime Environment (JRE). Если у вас еще нет JRE, скачайте и установите ее с официального сайта Java.
После запуска Logisim вы увидите главное окно программы с пустой рабочей областью. Чтобы начать создание схемы:
- Выберите компоненты из библиотеки слева
- Разместите их на рабочей области
- Соедините компоненты, кликая и перетаскивая от выхода одного компонента к входу другого
- Используйте инструменты на панели сверху для выбора, перемещения и удаления элементов
Не забудьте сохранять свой проект регулярно, чтобы не потерять результаты работы.
Продвинутые возможности и техники в Logisim
Помимо базовых функций, Logisim предлагает ряд продвинутых возможностей для более сложных проектов:

Анализ комбинационных схем
Logisim может автоматически генерировать таблицы истинности для комбинационных схем, что очень полезно для анализа и оптимизации.
Временные диаграммы
Для анализа работы последовательностных схем Logisim предоставляет инструмент построения временных диаграмм. Это позволяет визуально отслеживать изменение сигналов во времени.
Пользовательские библиотеки
Вы можете создавать собственные библиотеки компонентов, что особенно полезно при работе над большими проектами или при обучении студентов.
Экспорт схем
Logisim позволяет экспортировать схемы в различные форматы, включая изображения и HDL-описания, что упрощает документирование проектов и их реализацию на реальном оборудовании.
Освоение этих продвинутых техник позволит вам максимально эффективно использовать возможности Logisim в ваших проектах.
Сообщество Logisim и ресурсы для обучения
Вокруг Logisim сформировалось активное сообщество пользователей и разработчиков. Вот несколько ресурсов, которые могут быть полезны для изучения программы и решения возникающих вопросов:

- Официальная документация Logisim — подробное руководство по всем возможностям программы
- Форумы Logisim — место, где можно задать вопросы и обсудить проблемы с другими пользователями
- YouTube-туториалы — множество видеоуроков по работе с Logisim
- Университетские курсы — многие учебные заведения публикуют свои материалы по работе с Logisim в открытом доступе
Участие в сообществе Logisim может значительно ускорить процесс обучения и помочь в решении сложных задач проектирования цифровых схем.
Проектирование процессора Logisim / Хабр
Часть I
Часть II
Часть III
Часть IV
Часть V
Одна из глав книги «Код» Чарльза Петцольда посвящена проектированию блоков CPU и в начале главы описывается устройство, позволяющие суммировать наборы чисел, хранящихся в памяти. Спроектируем похожую схему в Logisim. Возьмем набор восьмиразрядных чисел и подключим его к мультиплексору, переход от одного числа к другому будем осуществлять с помощью счетчика, подключенного к выбирающему входу мультиплексора, а к выходу мультиплексора подключим сумматор и аккумулятор. В качестве тактового генератора будем использовать кнопку. Данные будут загружаться в аккумулятор при отпускании кнопки. Это осуществляется с помощью элемента НЕ, подключенного к кнопке. Про реализацию этих функциональных блоков в виде отдельных микросхем далее в статье.
Будем хранить числа в ОЗУ (RAM).
ОЗУ можно представить в виде набора регистров, доступ к которым производится с помощью демультиплексора и мультиплексора (DMX и MUX).
Гарвардская архитектура
Предположим, в ОЗУ хранится набор чисел, а нам нужно сложить все числа и сохранить результат (в свободную ячейку). Будем хранить команды («сложить» и «сохранить») в одном ОЗУ, а обрабатываемые числа — в другом. Такой способ хранения является отличительным признаком Гарвардской архитектуры.
Команда «1» будет записывать число из сумматора в аккумулятор, команда «2» будет записывать число из аккумулятора во 2-ое ОЗУ.
Предположим, в ОЗУ хранятся несколько массивов чисел. Т.е. нам необходимо
- загружать числа из ОЗУ в аккумулятор
- загружать числа из сумматора в аккумулятор
- сохранять числа из аккумулятора в ОЗУ
Будем использовать для выборки данных из ОЗУ мультиплексор MUX.
Новая инструкция «5» по переднему фронту тактового генератора переключает мультиплексор MUX, а по заднему фронту (по спаду) производит запись в аккумулятор.
Архитектура фон Неймана
Далее, будем хранить инструкции и данные в одном ОЗУ. Такой способ хранения является отличительным признаком архитектуры фон Неймана.
В первых четырех разрядах восьмиразрядной ячейки памяти будет храниться команда, во вторых четырех разрядах будет храниться адрес (прямая адресация).
Будем загружать адрес и команду в отдельные регистры, а затем с помощью мультиплексора переходить по сохраненному адресу. Для записи данных в ОЗУ будем сначала загружать данные во временный регистр Temp (иначе в ОЗУ запишутся инструкции, а не данные), а потом в аккумулятор Асс. Запись данных в Temp и Асс будем производить по заднему фронту.
Будем складывать, например, числа 2 и 3, которые лежат в ячейках 8 и 9, а сохранять результат в ячейку с адресом a.
Добавим также возможность совершать безусловные переходы.
Реализуем устройство, в котором будет выполняться всего одна команда — команда безусловного перехода.
Для этого на счетчик, генерирующий адрес, будем отправлять четыре младших разряда (собственно, адрес), а на порт загрузки будем подавать команду, хранящуюся в старших разрядах ячейки памяти.
Например, для прыжка в ячейку с адресом 2 используется команда 82.
Добавим команду безусловного перехода в предыдущую схему.
Вообще, на geektimes уже была статья, посвященная проектированию CPU в Logisim.
Все схемы, представленные выше, можно скачать одним файлом.
Logisim можно скачать здесь.
Терминал
Добавим к схеме терминал для демонстрации того, как ассемблерные инструкции преобразуются в машинный код.
Добавим конечный автомат для обработки последовательностей поступающих символов.
Семизначный код буквы «i» равняется 1101001
Семизначный код буквы «n» равняется 1101110
Семизначный код буквы «p» равняется 1110000
Для выделения конкретной буквы из потока символов будем использовать компаратор.
В начальном состоянии компаратор сравнивает поступивший символ с семизначным кодом буквы «i»
Автомат переходит в следующее состояние, если после буквы «i» поступает буква «n»
Автомат переходит в следующее состояние, если после букы «i», а затем «n» поступает буква «p»
Добавим команду out
Подробнее о командах inp и out можно прочитать в следующей части.
Железо
Рассмотрим, как работает сумматор на примере микросхемы 155им3 (7483). Для микросхем 155-й серии условимся, что на входах есть внутренний резистор, подтягивающий к плюсу (если ножка «висит в воздухе», то на ней присутствует логическая «единица»), поэтому при подключении питания к микросхеме зажгутся все светодиоды, присоединенные к выходу.
На картинке представлена МС 74ls283 (современный аналог 155им3).
Для того, чтобы в Logisim спроектировать такую микросхему, необходимо выбрать «Меню» — «Проект» — «Добавить схему».
Вот как эта МС выглядит внутри подсхемы. Это четыре полусумматора, объединённые в полный сумматор.
В качестве аккумулятора будем использовать микросхему 155тм8 (74175) — счетверённый D-триггер.
Триггеры, входящие в состав МС, пропускают насквозь всё время, пока на входе синхронизации присутствует 1, а не только по фронту (триггеры со статическим управлением), но в программе Logisim нам доступны только триггеры с динамическим управлением, но в данном случае это не важно; будем использовать то, что есть.
Подробнее про триггеры можно прочитать в Википедии.
Соберём из D-триггеров модель МС 155тм8.
Далее соберём схему, позволяющую складывать наборы чисел.
Например, если сложить набор из чисел 2 (0010), мы получим 2 (0010), 4 (0100), 6 (0110) и т.д.
Сперва 2 появляется на выходе сумматора (красные светодиоды), затем 2 загружается в счетверенный D-тригер (желтые светодиоды), а на выходе сумматора появляется 4, затем 4 загружается в 155тм8, а на выходе сумматора появляется 6 и т.
д.
Для того, чтобы спроектировать простой модуль памяти, нам понадобится мультиплексор. Спроектируем сдвоенный мультиплексор 155кп2.
Также нам понадобится счетчик. Спроектируем микросхему 155ие5.
Это четырехразрядный счетчик, но нам понадобится только два младших разряда.
Будем хранить числа, например, 2 (0010), 3 (0011), 5 (0101).
Объединим все компоненты в одну схему. Будем складывать числа, которые хранятся в «памяти»
2 + 3 + 5.
Logisim можно скачать здесь.
P.S. Статья про книгу «Код. Тайный язык информатики.» есть на Хабре вот здесь.
З.Ы. Переводные статьи (автор переводов PatientZero) про архитектуру процессора здесь, здесь и здесь
Debian — Подробная информация о пакете logisim в sid
в именах пакетовв описаниях пакетовв именах пакетов исходного кодав содержимом пакетоввсе параметры
[ stretch ] [ bullseye ] [ bookworm ] [ sid ]
[ Источник: logisim ]
graphical tool for designing and simulating logic circuits
Logisim is an educational tool for designing and simulating digital logic
circuits.
With its simple toolbar interface and simulation of circuits as
you build them, it is simple enough to facilitate learning the most basic
concepts related to logic circuits. With the capacity to build larger circuits
from smaller subcircuits, and to draw bundles of wires with a single mouse
drag, Logisim can be used (and is used) to design and simulate entire CPUs
for educational purposes.
Другие пакеты, относящиеся к logisim
|
|
|
|
- dep: default-jre
- Standard Java or Java compatible Runtime
- или java7-runtime
- виртуальный пакет, предоставляемый default-jre, openjdk-11-jre, openjdk-17-jre, openjdk-18-jre, openjdk-19-jre, openjdk-20-jre, openjdk-21-jre, openjdk-8-jre
- или java8-runtime
- виртуальный пакет, предоставляемый default-jre, openjdk-11-jre, openjdk-17-jre, openjdk-18-jre, openjdk-19-jre, openjdk-20-jre, openjdk-21-jre, openjdk-8-jre
- или java9-runtime
- виртуальный пакет, предоставляемый default-jre, openjdk-11-jre, openjdk-17-jre, openjdk-18-jre, openjdk-19-jre, openjdk-20-jre, openjdk-21-jre
- или java10-runtime
- виртуальный пакет, предоставляемый default-jre, openjdk-11-jre, openjdk-17-jre, openjdk-18-jre, openjdk-19-jre, openjdk-20-jre, openjdk-21-jre
- или java11-runtime
- виртуальный пакет, предоставляемый default-jre, openjdk-11-jre, openjdk-17-jre, openjdk-18-jre, openjdk-19-jre, openjdk-20-jre, openjdk-21-jre
- dep:
jarwrapper
(>= 0.
5) - запуск исполняемых Java-файлов .jar
- dep:
jarwrapper
(>= 0.
- dep: javahelp2
- Java based help system
- dep: libcolorpicker-java
- Java control to allow color selection
- dep: libfontchooser-java
- Java control to allow font selection
Загрузка logisim
| Архитектура | Размер пакета | В установленном виде | Файлы |
|---|---|---|---|
| all | 4 555,2 Кб | 5 450,0 Кб | [список файлов] |

5)
Логисим этого не требует.
загрузчики заполняют форму, объясняя, почему они ее скачивают;
вместо этого мы полностью полагаемся на добровольцев, сообщающих об их использовании.
Университет
0028
Не включены курсы, которые рекомендуют Logisim
без явных присваиваний и тех, кто предлагает выбор
между Logisim и другим программным обеспечением. (Также для найденных
с помощью веб-поиска я ищу конкретные доказательства того, что программное обеспечение
package не является малоизвестным конкурентом, который разделяет возможности Logisim.
имя.)
Этот
Стандартная общественная лицензия распространяется на большую часть бесплатного программного обеспечения.
программное обеспечение Фонда и любую другую программу, авторы которой обязуются
используй это. (Некоторые другие программы Фонда свободного программного обеспечения покрываются
Стандартная общественная лицензия библиотеки GNU.) Вы можете применить ее к
ваши программы тоже.
Когда мы говорим о свободных программах, мы имеем в виду свободу, а не
цена. Наши стандартные общественные лицензии предназначены для того, чтобы вы
иметь свободу распространять копии свободных программ (и взимать плату за
эту услугу, если хотите), что вы получаете исходный код или можете его получить
если вы хотите, вы можете изменить программное обеспечение или использовать его части
в новых бесплатных программах; и что вы знаете, что можете делать эти вещи.
Для защиты ваших прав нам необходимо ввести ограничения, запрещающие
кто-либо, кто может отказать вам в этих правах или попросить вас отказаться от этих прав.
Эти ограничения налагают на вас определенные обязанности, если вы
распространять копии программного обеспечения или изменять его.
Например, если вы распространяете копии такой программы,
бесплатно или за вознаграждение, вы должны предоставить получателям все права,
у вас есть. Вы должны убедиться, что они тоже получают или могут получить
исходный код. И вы должны показать им эти термины, чтобы они знали их
права.
Мы защищаем ваши права в два этапа: (1) авторское право на программное обеспечение и
(2) предложить вам эту лицензию, которая дает вам законное разрешение на копирование,
распространять и/или модифицировать программное обеспечение.
Кроме того, для защиты каждого автора и нашей, мы хотим убедиться, что
что все понимают, что гарантии на это бесплатное нет
программное обеспечение. Если программное обеспечение изменено кем-то другим и передано, мы
хотят, чтобы его получатели знали, что то, что у них есть, не является оригиналом, поэтому
что любые проблемы, созданные другими, не будут отражаться на оригинале
репутации авторов.
Наконец, любой свободной программе постоянно угрожает программное обеспечение.
патенты. Мы хотим избежать опасности того, что распространители бесплатного
программа будет индивидуально получать патентные лицензии, фактически делая
программа фирменная. Чтобы предотвратить это, мы дали понять, что любой
патент должен быть лицензирован для свободного использования каждым или вообще не лицензирован.
Точные условия копирования, распространения и
модификация следовать.
ОБЩАЯ ПУБЛИЧНАЯ ЛИЦЕНЗИЯ GNU
УСЛОВИЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И ИЗМЕНЕНИЯ
0. Настоящая Лицензия распространяется на любую программу или другую работу, содержащую
уведомление, размещенное правообладателем, о том, что оно может быть распространено
на условиях настоящей Стандартной общественной лицензии. «Программа» ниже,
относится к любой такой программе или произведению, а «произведение, основанное на Программе».
означает либо Программу, либо любую производную работу в соответствии с законом об авторском праве:
то есть произведение, содержащее Программу или ее часть,
либо дословно, либо с изменениями и/или переведенными на другой язык
язык.
(Здесь и далее перевод включен без ограничений в
термин «модификация».) Каждый лицензиат обращается на «вы».
Деятельность, кроме копирования, распространения и модификации, не
подпадает под действие настоящей Лицензии; они выходят за его рамки. Акт
выполнение Программы не ограничено, а вывод Программы
распространяется только в том случае, если его содержание представляет собой произведение, основанное на
Программа (независимо от того, была ли она создана путем запуска Программы).
Верно ли это, зависит от того, что делает Программа.
1. Вы можете копировать и распространять дословные копии Программного
исходный код в том виде, в каком вы его получили, на любом носителе, при условии, что вы
заметно и должным образом публиковать на каждом экземпляре соответствующий
уведомление об авторских правах и отказ от гарантии; сохранить в целости и сохранности все
уведомления, касающиеся настоящей Лицензии и отсутствия каких-либо гарантий;
и предоставить любым другим получателям Программы копию этой Лицензии.
вместе с Программой.
Вы можете взимать плату за физический акт передачи копии и
Вы можете по своему выбору предложить гарантийную защиту в обмен на плату.
2. Вы можете изменить свою копию или копии Программы или любой ее части.
из нее, формируя, таким образом, произведение на основе Программы, а также копировать и
распространять такие модификации или работать в соответствии с условиями Раздела 1
выше, при условии, что вы также соответствуете всем этим условиям:
а) Вы должны сделать так, чтобы измененные файлы содержали заметные уведомления
заявив, что вы изменили файлы и дату любого изменения.
б) Вы должны сделать так, чтобы любая работа, которую вы распространяете или публикуете,
полностью или частично содержит или является производным от Программы или любого
его часть, которая должна быть лицензирована в целом бесплатно для всех третьих
сторонами в соответствии с условиями настоящей Лицензии.
в) Если модифицированная программа нормально читает команды в интерактивном режиме
при запуске, вы должны вызвать его, когда запустили запуск для таких
интерактивное использование самым обычным способом, чтобы распечатать или отобразить
уведомление, включая соответствующее уведомление об авторских правах и
заметьте, что гарантии нет (или же, говоря, что вы предоставляете
гарантия) и что пользователи могут распространять программу в соответствии с
эти условия и сообщить пользователю, как просмотреть копию этого
Лицензия.
(Исключение: если сама Программа интерактивна, но
обычно не печатает такое объявление, ваша работа основана на
Программа не обязана печатать объявление.)
Эти требования распространяются на измененное произведение в целом. Если
идентифицируемые разделы этой работы не являются производными от Программы,
и могут быть обоснованно признаны самостоятельными и отдельными произведениями в
себя, то настоящая Лицензия и ее условия не распространяются на тех,
разделы, когда вы распространяете их как отдельные произведения. Но когда ты
распределять одни и те же разделы как часть целого, основанного на произведении
по Программе, распределение всего должно быть на условиях
настоящей Лицензии, чьи разрешения для других лицензиатов распространяются на
всего целого, а значит, и каждой части, независимо от того, кто ее написал.
Таким образом, цель настоящего раздела не состоит в том, чтобы заявлять права или оспаривать
ваши права на произведение, полностью написанное вами; скорее намерение состоит в том, чтобы
осуществлять право контролировать распространение производных или
коллективные работы на основе Программы.
Кроме того, простое объединение другой работы, не основанной на Программе
с Программой (или с произведением по Программе) на том
носитель информации или дистрибутив не ставит другое произведение под
сфера действия настоящей Лицензии.
3. Вы можете копировать и распространять Программу (или произведение на ее основе,
в соответствии с Разделом 2) в объектном коде или исполняемой форме в соответствии с условиями
Разделы 1 и 2 выше при условии, что вы также выполните одно из следующих действий:
а) Сопроводите его полным соответствующим машиночитаемым
исходный код, который должен распространяться на условиях Разделов
1 и 2 выше на носителе, обычно используемом для обмена программным обеспечением; или,
б) Сопроводите его письменным предложением, действительным не менее трех
лет, чтобы дать любому третьему лицу, за плату, не более чем ваша
стоимость физического выполнения исходного дистрибутива, полный
машиночитаемая копия соответствующего исходного кода,
распространяется в соответствии с положениями разделов 1 и 2 выше на носителе
обычно используется для обмена программным обеспечением; или,
c) Сопроводите его информацией, которую вы получили в отношении предложения
распространять соответствующий исходный код.
(Эта альтернатива
разрешено только для некоммерческого распространения и только если вы
получил программу в объектном коде или в исполняемой форме с таким
предложение в соответствии с подразделом b выше.)
Исходный код произведения означает предпочтительную форму произведения для
внесение в него модификаций. Для исполняемой работы полный исходный код
код означает весь исходный код для всех содержащихся в нем модулей, а также любые
связанные файлы определения интерфейса, а также сценарии, используемые для
контролировать компиляцию и установку исполняемого файла. Однако в качестве
особое исключение, распространяемый исходный код не обязательно должен включать
все, что нормально распространяется (либо в исходном коде, либо в бинарном
form) с основными компонентами (компилятор, ядро и т. д.)
операционная система, в которой работает исполняемый файл, если только этот компонент
сам сопровождает исполняемый файл.
Если распространение исполняемого или объектного кода осуществляется путем предложения
доступ к копии из назначенного места, а затем предложение эквивалентного
доступ для копирования исходного кода из того же места считается
распространение исходного кода, даже если третьи лица не
вынужден копировать исходник вместе с объектным кодом.
4. Вы не можете копировать, изменять, сублицензировать или распространять Программу.
за исключением случаев, прямо предусмотренных настоящей Лицензией. Любая попытка
в противном случае копировать, изменять, сублицензировать или распространять Программу
недействительным и автоматически прекращает действие ваших прав по настоящей Лицензии.
Однако стороны, получившие копии или права от вас в соответствии с
этой Лицензии их лицензии не будут аннулированы до тех пор, пока такие
стороны остаются в полном согласии.
5. Вы не обязаны принимать эту Лицензию, поскольку вы не
подписал его. Однако ничто другое не дает вам права изменять или
распространять Программу или производные от нее работы. Эти действия
запрещено законом, если вы не принимаете эту Лицензию. Следовательно, по
изменение или распространение Программы (или любой работы, основанной на
Программа), вы подтверждаете свое согласие с настоящей Лицензией, и
все его положения и условия для копирования, распространения или изменения
Программа или работы на ее основе.
6. Каждый раз, когда вы распространяете Программу (или любую работу, основанную на
Программа), получатель автоматически получает лицензию от
первоначальному лицензиару копировать, распространять или изменять Программу в соответствии с
эти условия. Вы не можете навязывать дальше
ограничения на осуществление получателями прав, предоставленных настоящим документом.
Вы не несете ответственности за обеспечение соблюдения третьими сторонами
эта Лицензия.
7. Если вследствие судебного решения или заявления о патенте
нарушения или по любой другой причине (не ограничиваясь патентными вопросами),
на вас налагаются условия (будь то по решению суда, по соглашению или
иное), которые противоречат условиям настоящей Лицензии, не
освободить вас от условий настоящей Лицензии. Если ты не можешь
распространять таким образом, чтобы одновременно удовлетворить свои обязательства по настоящему
лицензии и любых других соответствующих обязательств, то, как следствие, вы
вообще не может распространять Программу.
Например, если патент
лицензия не разрешает безвозмездное распространение Программы
все те, кто получает копии прямо или косвенно через вас, то
единственный способ, которым вы могли бы удовлетворить и это, и эту Лицензию, состоял бы в том, чтобы
полностью воздержаться от распространения Программы.
Если какая-либо часть настоящего раздела будет признана недействительной или не имеющей исковой силы в соответствии с
каких-либо конкретных обстоятельств, баланс раздела предназначен для
применяются, и раздел в целом предназначен для применения в других
обстоятельства.
Целью этого раздела не является побуждение вас к нарушению каких-либо
патенты или другие права собственности или оспаривать действительность любого
такие претензии; этот раздел имеет единственную цель защиты
целостность системы распространения свободных программ, которая
реализуется в соответствии с практикой публичного лицензирования. Многие люди сделали
щедрые взносы в широкий спектр программного обеспечения, распространяемого
через эту систему в зависимости от последовательного применения этого
система; это зависит от автора/донора, чтобы решить, если он или она желает
распространять программное обеспечение через любую другую систему, и лицензиат не может
навязывать этот выбор.
Этот раздел предназначен для того, чтобы полностью прояснить, что считается
быть следствием остальной части этой Лицензии.
8. Если распространение и/или использование Программы ограничено в
некоторых странах либо патентами, либо интерфейсами, защищенными авторским правом,
первоначальный владелец авторских прав, размещающий Программу под настоящей Лицензией
может добавить явное ограничение географического распространения, за исключением
этих странах, так что распространение разрешено только в
страны, не исключенные таким образом. В таком случае настоящая Лицензия включает
ограничение, как если бы оно было написано в тексте настоящей Лицензии.
9. Free Software Foundation может публиковать пересмотренные и/или новые версии
Стандартной общественной лицензии время от времени. Такие новые версии будут
быть похожим по духу на настоящую версию, но может отличаться в деталях от
решать новые проблемы или заботы.
Каждая версия получает распозновательный номер версии. Если программа
указывает номер версии настоящей Лицензии, которая применяется к ней, и «любой
более поздняя версия», у вас есть возможность следовать положениям и условиям
либо этой версии, либо любой более поздней версии, опубликованной Free
Фонд программного обеспечения.
Если в Программе не указан номер версии
этой Лицензии, вы можете выбрать любую версию, когда-либо опубликованную Свободным программным обеспечением.
Фундамент.
10. Если вы хотите включить части Программы в другие бесплатные
программы, условия распространения которых отличаются, напишите автору
попросить разрешения. Для программного обеспечения, защищенного авторскими правами Free
Software Foundation, напишите в Free Software Foundation; иногда мы
делать для этого исключения. Наше решение будет руководствоваться двумя целями
сохранения бесплатного статуса всех производных нашего бесплатного программного обеспечения и
содействия совместному использованию и повторному использованию программного обеспечения в целом.
НЕТ ГАРАНТИИ
11. ПОСКОЛЬКУ ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ БЕСПЛАТНО, ГАРАНТИИ НЕ ПРЕДОСТАВЛЯЮТСЯ.
ДЛЯ ПРОГРАММЫ, В СТЕПЕНИ, РАЗРЕШЕННОЙ ПРИМЕНИМЫМ ЗАКОНОДАТЕЛЬСТВОМ. ЗА ИСКЛЮЧЕНИЕМ КОГДА
ПРОЧОЕ УКАЗАНО В ПИСЬМЕННОМ СООБЩЕНИИ ОБЛАДАТЕЛИ АВТОРСКИМ ПРАВОМ И/ИЛИ ДРУГИЕ СТОРОНЫ
ПРЕДОСТАВЛЯЙТЕ ПРОГРАММУ "КАК ЕСТЬ" БЕЗ КАКИХ-ЛИБО ЯВНО ВЫРАЖЕННЫХ ГАРАНТИЙ
ИЛИ ПОДРАЗУМЕВАЕМЫЕ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ
КОММЕРЧЕСКАЯ ПРИГОДНОСТЬ И ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.
ВЕСЬ РИСК КАК
К КАЧЕСТВУ И ПРОИЗВОДИТЕЛЬНОСТИ ПРОГРАММЫ С ВАМИ. СЛЕДУЕТ
НЕИСПРАВНОСТЬ ПРОГРАММЫ, ВЫ ПРИНИМАЕТЕ НА СЕБЯ СТОИМОСТЬ ВСЕХ НЕОБХОДИМЫХ ОБСЛУЖИВАНИЙ,
РЕМОНТ ИЛИ ИСПРАВЛЕНИЕ.
12. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ, ЕСЛИ ЭТО НЕ ТРЕБУЕТСЯ ПРИМЕНИМЫМ ЗАКОНОДАТЕЛЬСТВОМ ИЛИ НЕ СОГЛАСОВАНО В ПИСЬМЕННОЙ СРЕДСТВЕ
МОЖЕТ ЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ ИЛИ ДРУГАЯ СТОРОНА, КОТОРАЯ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ
РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК РАЗРЕШЕНО ВЫШЕ, НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА УЩЕРБ,
ВКЛЮЧАЯ ЛЮБОЙ ОБЩИЙ, ОСОБЫЙ, СЛУЧАЙНЫЙ ИЛИ КОСВЕННЫЙ УЩЕРБ, ВОЗНИКАЮЩИЙ
ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ
К ПОТЕРЯМ ДАННЫХ ИЛИ ДАННЫМ, КОТОРЫЕ ОКАЗАНЫ НЕТОЧНЫМИ, ИЛИ ПОТЕРЯМ, ПОДДЕРЖАННЫМ
ВЫ ИЛИ ТРЕТЬИ ЛИЦА ИЛИ НЕВОЗМОЖНОСТЬ ПРОГРАММЫ РАБОТАТЬ С КАКИМ-ЛИБО ДРУГИМ
ПРОГРАММЫ), ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГАЯ СТОРОНА БЫЛ УВЕДОМЛЕН О
ВОЗМОЖНОСТЬ ТАКИХ ПОВРЕЖДЕНИЙ.
КОНЕЦ ПОЛОЖЕНИЙ И УСЛОВИЙ
Как применить эти условия к вашим новым программам
Если вы разрабатываете новую программу и хотите, чтобы она
возможное использование для публики, лучший способ добиться этого - сделать его
бесплатное программное обеспечение, которое каждый может распространять и изменять в соответствии с этими условиями.
Для этого прикрепите к программе следующие уведомления. Это самое безопасное
чтобы прикрепить их к началу каждого исходного файла для наиболее эффективного
передать исключение гарантии; и каждый файл должен иметь как минимум
строка «авторское право» и указатель на то, где можно найти полное уведомление.
Авторское право (С)
Эта программа является бесплатным программным обеспечением; вы можете распространять его и/или изменять
на условиях Стандартной общественной лицензии GNU, опубликованной
Фонд свободного программного обеспечения; либо версия 2 Лицензии, либо
(на ваш выбор) любую более позднюю версию.
Эта программа распространяется в надежде, что она будет полезна,
но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
КОММЕРЧЕСКАЯ ПРИГОДНОСТЬ или ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. См.
Стандартная общественная лицензия GNU для более подробной информации.
Вы должны были получить копию Стандартной общественной лицензии GNU.
вместе с этой программой; если нет, напишите в Free Software
Foundation, Inc.
, 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Также добавьте информацию о том, как связаться с вами по электронной и бумажной почте.
Если программа интерактивная, заставьте ее выводить короткое уведомление, подобное этому
при запуске в интерактивном режиме:
Гномовижн версии 69, Copyright (C) год имя автора
Gnomovision поставляется АБСОЛЮТНО БЕЗ ГАРАНТИЙ; для подробностей наберите `show w'.
Это бесплатное программное обеспечение, и вы можете распространять его
при определенных условиях; введите `show c' для подробностей.
Гипотетические команды «show w» и «show c» должны отображать соответствующие
части Стандартной общественной лицензии. Конечно, используемые вами команды могут
называться иначе, чем `show w' и `show c'; они могут быть даже
щелчки мышью или элементы меню - все, что подходит для вашей программы.
Вам также следует обратиться к своему работодателю (если вы работаете программистом) или к
школа, если таковая имеется, подписать «отказ от авторских прав» на программу, если
необходимый.
