Thursday, July 5, 2007

Программный ремонт USB flash в Linux

Программный ремонт USB flash в Linux.

Сегодня речь пойдет от так называемом "программном ремонте" USB flash накопителей. Вопросы аппаратного ремонта рассматриваться не будут по причине копеечной стоимости новых абсолютно исправных устройств; вопрос же снятия данных с неисправных флешей не рассматривается из-за отсутствия у автора желания публично его рассматривать :) .

Поводом для написания статьи послужило обилие на различных форумах советов по устранению программных глюков флешек с помощью различных утилит "низкоуровневого форматирования" и пр. Не отрицая существования утилит "от производителя", хочу заметить, что существует весьма простой и вполне надежный метод удаления софт-бэдов на флешках, устранения проблем с файловой системой, бутсектором и MBR, возникающих, как правило, при небезопасном извлечении этих устройств из компьютера, либо же из-за иных программных или аппаратных сбоев компьютера (одни только глючные южные мосты ICH5 от Intel чего стоят).

Существующие методы "излечения" этих болезней под ОС Microsoft Windows имеют ряд существенных недостатков, причиной которых является отсутствие в Windows достаточно функциональных средств дискменеджмента даже от сторонних производителей. Простой пример: после "заливки" флешки нулями, Windows форматирует её как super-floppy, т. е. без организации MBR, что для корректной работы флешки под разными ОС недопустимо. Сторонние дискменеджеры либо не умеют работать с USB-устройствами (Norton Partition Magic), либо работают некорректно (Paragon Partition Manager). Работа же с флешкой под различными ОС ведется именно как с жестким диском, поэтому и предъявляемые требования к организации логической структуры аналогичны винчестеру, а не дискете. Для этих целей воспользуемся правильной ОС и правильным софтом, который, как оказалось, к тому же абсолютно бесплатен, в отличие от недофункциональных платных поделок.

Итак... Имеет место флешка, которая либо виснет в Windows, либо просится быть отформатированной, но не форматируется ("Виндовз не может завершить форматирование", о, ужас!), либо сыплет бэдами при сканировании тем же HDDScan'ом.

Если с Линуксом вы незнакомы, то я предложу для начала выкачать один из LiveCD-дистрибутивов и, предварительно записав образ на CD, загрузиться с него. Я, как Слаковод, естественно, предложу Slax - он невелик по размерам, несложен (впрочем, как и всякий LiveCD общего назначения) , быстро грузится и в нем есть всё необходимое для "ремонта". Если же какой-либо из Линуксов у вас уже стоит на HDD и вы с ним дружите, то буду рад добавить в вашу копилку знаний еще несколько советов.

Лично мной работа велась под локализованным неофициальным портом Slackware для 64-битных процессоров BlueWhite64

Немного о форматировании: сейчас пойдут большие куски кода. Обычным моноширинным шрифтом мы будем показывать вывод консоли, жирным - наш ввод. Сразу за решеткой красным - #мои комментарии.

Итак, загрузились. Если вы не root, то станьте им , выполнив команду su и введя пароль , ибо борьба с ополоумевшим железом по праву только суперпользователю :) .

Подключаем флешку, смотрим список USB-устройств. Вводим lsusb, нажимаем Enter, смотрим вывод:

root@H84_103:~# lsusb
 #Наблюдаем вывод: вот она, родимая, даже, вроде "аппаратно" живая.
 Bus 005 Device 003: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 / Astone USB Drive
 Bus 005 Device 001: ID 0000:0000
 Bus 004 Device 001: ID 0000:0000
 Bus 003 Device 001: ID 0000:0000
 Bus 002 Device 001: ID 0000:0000
 #Это сканер, он нам не мешает.
  Bus 001 Device 003: ID 04a5:20fc Acer Peripherals Inc. (now BenQ Corp.) Benq 5000
 Bus 001 Device 001: ID 0000:0000
 

Флеш-накопители распознаются как SCSI-диски, т.е., устройства /dev/sdX, но работает с ними почему-то типично IDE-дисковая утилита hdparm :) . Внимание!!! SATA-винчестеры у нас тоже обозначаются как /dev/sdX! У меня SATA-винчестер, потому ему по праву принадлежит /dev/sda, а флешке - следующая буква b, т. е. /dev/sdb. Попытаемся познакомиться с ней поближе:

root@H84_103:~# hdparm /dev/sdb
 
  /dev/sdb:
  #Защита от записи выключена
  readonly     =  0 (off)
  readahead    = 256 (on)
  #Транслируемая геометрия соответсвует реальной: 1017856 секторов это ~512 МБ
  geometry     = 1014/17/59, sectors = 1017856, start = 0

Теперь сделаем ей «низкоуровневое форматирование», т. е. забъем всё пространства накопителями нулевыми байтами. Таким образом мы удалим софт-бэды, сотрем ошибочные таблицы FAT, загрузочный сектор, MBR. Внимание! Все оставшиеся данные на флешке будут безвозвратно утеряны!


 root@H84_103:~# dd if=/dev/zero of=/dev/sdb
 #dd вводили без параметров, теперь он ругается на нехватку места на флешке. И правильно, генератор нулей то у нас безразмерный :)
 dd: запись в `/dev/sdb': No space left on device
 1017857+0 записей считано
 1017856+0 записей написано
  скопировано 521142272 байта (521 MB), 144,185 секунд, 3,6 MB/s 

Флешка USB 2.0 на 512 МБ стиралась 2,5 минуты Теперь "по-фирменному" создаём раздел. root@H84_103:~# fdisk /dev/sdb #fdisk ругается, что не нашел ни DOS-овской таблицы разделов, ни метки диска в стиле BSD. Оно и понятно - вся флеш забита нулями. Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) #Умный fdisk сразу предлагает помощь. Давим m Command (m for help): m #Вывод списка команд: Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) #Нам нужна новый раздел. Жмем n, как написано: Command (m for help): n Command action e extended p primary partition (1-4) #Естественно, первичный раздел. Жмем p p #И первый, естественно. Жмем 1 Partition number (1-4): 1 #Здесь соглашаемся со всем, что предлагает fdisk. Он умный, сам разберется :) First cylinder (1-1014, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014): Using default value 1014 #Смотрим, чего мы наваяли :) . Жмем p Command (m for help): p Disk /dev/sdb: 521 MB, 521142272 bytes 17 heads, 59 sectors/track, 1014 cylinders Units = cylinders of 1003 * 512 = 513536 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1014 508491+ 83 Linux #По умолчанию фдиск создал, естественно, линуксовый раздел (ну не виндовый же ему создавать). Надо поменять ID раздела. Жмем t. Command (m for help): t #Выбираем первый раздел для изменения ID Selected partition 1 #предусмотрительный fdisk предлагает посмотреть, на что мы можем поменять тип раздела Hex code (type L to list codes): l 0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot 1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris 2 XENIX root 39 Plan 9 82 Linux swap c1 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 4 FAT16 <32m> 5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx 6 FAT16 42 SFS 86 NTFS volume set da Non-FS data 7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT 10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 14 Hidden FAT16 <3> 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT 1c Hidden W95 FAT3 75 PC/IX #Елки-палки, а мы думали, что кроме Винды и ФАТ32 на свете ничего и нет :) . Меняем ID партишна на ФАТ16 - топчем 6 Hex code (type L to list codes): 6 Changed system type of partition 1 to 6 (FAT16) #Еще раз посмотрим на дело рук своих Command (m for help): p Disk /dev/sdb: 521 MB, 521142272 bytes 17 heads, 59 sectors/track, 1014 cylinders Units = cylinders of 1003 * 512 = 513536 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1014 508491+ 6 FAT16 #Всё ОК. Пишем изменения и выходим Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks.

И всё!? Ан нет. Это создан раздел для FAT16. А его надо отформатировать, а по науке говоря, создать на нем чистую файловую систему. В Линуксе есть простая и прямая как рельс утилитка для этого - mkdosfs. Просто пишем, на каком разделе мы хотим создать чистую FAT16

root@H84_103:~# mkdosfs /dev/sdb1
 mkdosfs 2.11 (12 Mar 2005)

Линкусоиды могут тут же примонтировать новообретенный девайс и что-нибудь записать на него. Пользователи дружественной и удовлетворяющей все запросы пользователей ОС грузятся в Windows и радуются, что стали "настоящими" линуксоидами :) .

Необходимое послесловие.

Автор не несет никакой ответственности за то, что счастливые обладатели SATA-дисков попутали буквы и постирали информацию со своих винчестеров (а такие будут, это я гарантирую :) ) . Если вы из статьи ничего не поняли, и проблеск мысли в мозгу не воссиял :) , то лучше статью сразу забыть, флешку выкинуть и идти в магазин за новой. Автор искренне благодарит Алексея Хована за помощь в написании статьи и дополнительную проверку работоспособности метода.

Виталий Розизнаный, специально для rlab.ru.

Оригинальная статть http://rlab.ru/doc/repair_usb_flash_linux.html

Sunday, July 1, 2007

AutoCAD в Linux

AutoCAD в Linux

Долгое время искал замену AutoCAD для Linux. Вот нашел http://www.bricscad.com. На форумах пишут- это лучший аналог AutoCAD (воспринимает dwg, как родной формат, меню почти точные копии AutoCAD), правда триал - для частного использования да и беттка( нет поддержки растров, и со штриховкаи несколько проблем ( как обычный кульман сойдет). Bricscad использует библиотеки wine, так что ничего не мешает раз в месяц перустановить wine

GPL

GPL


Домашня сторінка цього перекладу знаходиться тут
На домашній сторінці можна звантажити переклад у чисто текстовому вигляді
без Вікі-форматування —Дмитро Ковальов
************************************************************************
*
*  This is an unofficial translation of the GNU General Public License
*  into Ukrainian. It was not published by the Free Software
*  Foundation, and does not legally state the distribution terms for
*  software that uses the GNU GPL--only the original English text of
*  the GNU GPL does that. However, we hope that this translation will
*  help Ukrainain speakers understand the GNU GPL better.
*
************************************************************************
************************************************************************
*
*               Зауваження щодо перекладу.
*
*  Це - неофіційний переклад Загальної Публічної Ліцензії GNU (GNU
*  General Public License, GNU GPL) українською мовою. Цей переклад не
*  був опублікований Фундацією Вільного програмного забезпечення і не
*  встановлює ніяких законодавчих умов щодо розповсюдження програмного
*  забезпечення з використанням GNU GPL. Тільки ориґінальна англійська
*  версія встановлює такі умови. Однак, ми сподіваємось, що цей
*  переклад допоможе україномовним краще зрозуміти GNU GPL.
*
*  З умовами Фундації Вільного Програмного Забезпечення до
*  перекладів GPL можна докладніше ознайомитись за адресою:
*  http://www.gnu.org/licenses/licenses.html#Translations
*
************************************************************************

редакція від Mon Oct  1 13:20:47 JST 2001
виправлення  Втр Вер 28 13:21:04 JST 2004
GNU GENERAL PUBLIC LICENSE

  Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA

Переклад з англійської:
Дмитро Ковальов,
18-20 вересня, 2001, Токіо,
kov@tokyo.email.ne.jp

Щирі подяки за поради та коментарі:
Андрію Рисіну ,
Андрію Добровольському,
Володимиру Лісівці ,
Богдану Власюку ,
Ярославу Кохану 

************************************************************************

ЗАГАЛЬНА ПУБЛІЧНА ЛІЦЕНЗІЯ GNU

Будь-кому надається дозвіл на вільне розповсюдження копій даного
документу ліцензії, але не дозволяється внесення змін до самого
документу.
Зміст
[сховати]
1 Передмова
2 УМОВИ ТА ТЕРМІНИ КОПІЮВАННЯ, ПОШИРЕННЯ НА ВНЕСЕННЯ
ЗМІН ДО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
2.1 0
2.2 1
2.3 2
2.4 3
2.5 4
2.6 5
2.7 6
2.8 7
2.9 8
2.10 9
2.11 10
3 ВІДСУТНІСТЬ ҐАРАНТІЇ
3.1 11
3.2 12
4 Як застосувати ці умови до Ваших нових програм


[ред.]
Передмова
Ліцензії більшості програмних продуктів розроблені з метою
обмеження свободи користування і зміни програмних продуктів. З
іншого боку, Загальна публічна ліцензія GNU ставить на меті
ґарантування Вашої свободи обміну та внесення змін до вільного
програмного забезпечення для того, щоб зробити вільне програмне
забезпечення вільним для всіх. Дана Загальна публічна ліцензія GNU
застосовується до більшості програмних продуктів Фундації Вільного
Програмного Забезпечення (ФВПЗ - Free Software Foundation або FSF,
надалі в тексті вживається українською. прим. перекладача) і до
будь-якого іншого програмного продукту, чиї автори вирішать
користуватися даною ліцензією. Деякі інші програмні продукти
Фундації Вільного Програмного Забезпечення розповсюджуються під
іншою ліцензією - Загальною публічною ліцензією GNU для бібліотек
(GNU Library General Public License, прим. перекладача).  Ви
можете також застосовувати дану ліцензію до своїх програм.

Коли ми говоримо про вільне програмне забезпечення, ми маємо на
увазі свободу в першу чергу, а не вартість. Наша Загальна
публічна ліцензія розроблена таким чином, щоб забезпечити Вам право
поширення копій вільних програм (і брати плату за свої послуги,
якщо Ви бажаєте), щоб забезпечити можливість мати вихідні тексти
програм (чи отримати їх при бажанні), щоб забезпечити можливість
вносити зміни в програми чи використовувати окремі складові одних
програм в інших вільних програмах і щоб забезпечити також знання
для Вас, що Ви маєте право це робити.

Щоб ґарантувати Ваші права, ми маємо запровадити деякі обмеження,
які перешкоджають будь-кому заперечення таких прав, а також
перешкоджають висуненню вимог до Вас з метою відмови Вами від своїх
прав. Ці обмеження виражаються в деяких зобов'язаннях, які Ви
приймаєте на себе, якщо Ви розповсюджуєте копії програм, або якщо
Ви вносите зміни до програмного забезпечення.

Наприклад, якщо Ви поширюєте копії такої програми або безкоштовно,
або за певну плату, Ви маєте надати стороні, яка отримала від Вас
програмний продукт такі ж права на нього, як маєте Ви самі. Ви
повинні забезпечити при передачі, що третя сторона має вихідний
текст програм, або що вона має можливість такий вихідний текст
отримати. Ви також маєте представити їм ці умови з тим, щоб вони
знали про свої права.

Ми захищаємо Ваші права наступними двома положеннями: (1)
переймаємо авторські права на програмне забезпечення, і (2) надаємо
дану ліцензію, яка надає Вам законні права на копіювання, поширення
та/або зміни до програмного коду.

Додатково, для захисту кожного з авторів, а також задля захисту нас
самих, ми хочемо бути певними, що всі розуміють - на вільне
програмне забезпечення немає ґарантії. Якщо програмне забезпечення
змінено кимось і передане далі, ми хочемо, щоб ті особи, які
отримали програми знали, що те, що вони мають не є ориґіналом і,
отже, помилки внесені кимось із пізніших авторів в код, не будуть
впливати на репутацію початкових розробників.

І, нарешті, будь-яка вільна програма знаходиться під постійною
загрозою патентів на програмне забезпечення. Ми хочемо позбавитися
ризику, що наступні поширювачі копій вільних програм зможуть
індивідуально отримати патентні ліцензії і, таким чином, зробити
дану програму своєю власністю. Щоб перешкодити цьому, ми
недвозначно вимагаємо, щоб ліцензія кожного патенту ґарантувала
право вільного користування продуктом кожному, або щоб не малося
ліцензії зовсім.

Точні умови та терміни копіювання, поширення на внесення змін до
програмного забезпечення подаються далі.

[ред.]
УМОВИ ТА ТЕРМІНИ КОПІЮВАННЯ, ПОШИРЕННЯ НА ВНЕСЕННЯ
ЗМІН ДО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
[ред.]
0
Дана Ліцензія застосовується до будь-якого програмного продукту
чи іншої роботи, яка має повідомлення, зроблене власником
авторських прав, і в якому стверджується, що даний продукт може
розповсюджуватись на умовах Загальної публічної ліцензії. Далі
по тексту під 'Програмою' розуміється будь-яка програма чи
робота; причому, робота 'що розроблена на базі Програми' означає
або програмний продукт, або будь-яку похідну від нього роботу,
до якої має застосування законодавство про авторські права:
тобто, робота, яка містить в собі Програму або її складову, в її
первісному вигляді, видозмінену та/або перекладену іншою
мовою. (Надалі, переклад іншою мовою включається в термін
'видозміна' без подальших уточнень). До кожного, хто підлягає
під умови даної ліцензії в цьому тексті ми звертаємось як 'Ви'.

Діяльність, що виходить поза межі копіювання, поширення та змін
не підпадає під дану Ліцензію, такі види діяльності виходять
поза межі поля її зору. Виконання Програми не обмежується
ліцензією, результати виконання програми підлягають під дію
даної ліцензії тільки, якщо їх зміст складає роботу, що
базується на Програмі (незалежно від факту, що цей результат
було створено за рахунок виконання програми). Так це чи не так,
залежить від тих функцій, які виконує Програма.
[ред.]
1
Ви можете дублювати та поширювати точні копії вихідних кодів
Програми отримані на будь-яких носіях, за умови, що на кожній
копії явно і недвозначно присутнє відповідне твердження про
авторські права і відсутність ґарантії. Всі твердження, що
стосуються даної Ліцензії та відсутності ґарантії мають
залишатися незмінними. Кожен, хто отримує копію Програми має
отримати також і копію даної Ліцензії разом з Програмою.

Ви можете вимагати оплати послуг, які полягають в фізичній
доставці копії, а також при бажанні надавати ґарантійного
захисту за плату.
[ред.]
2
Ви маєте право вносити зміни в свою копію чи копії Програми чи
будь-яку її частину, створюючи таким чином роботу, що базується
на даній Програмі, а також дублювати та поширювати ці зміни чи
роботу, що підпадає під терміни Розділу 1 поданого вище, за
умови, що Ви також дотримуєтесь поданих далі умов:

* а) На Вас покладається відповідальність за те, щоб всі
файли із занесеними змінами повинні нести в собі твердження

   того, що такі зміни Вами зроблені, а також містити дату
внесення змін.

* б) На Вас покладається відповідальність за те, що всі
роботи, що Ви публікуєте чи поширюєте, і такі, що є
похідними від Програми (повністю чи від її складової
частини) будуть ліцензованими цілком і безкоштовно для
будь-якої третьої сторони на умовах даної Ліцензії.
* в) Якщо видозмінена програма під час інтерактивної роботи
читає команди користувача, Ви повинні забезпечити, щоб під
час старту програми (її найзвичнішим, найрозповсюдженішим
способом) вона друкувала на екрані чи іншим способом
відображала відповідне повідомлення про авторські права,
повідомлення про те, що на дану програму не надається
ґарантії (або інше повідомлення, якщо Ви надаєте таку
ґарантію) і твердження того, що користувачі мають право
розповсюджувати дану програму на зазначених умовах, а також
інформацію про те, як користувач може отримати копію даної
Ліцензії. (Виняток: якщо Програма працює інтерактивно, але
при нормальній роботі не виводить подібного повідомлення,
від Вашої роботи, яка базується на даній Програмі не
вимагається відображати подібне твердження.)

Ці умови накладаються на видозмінену роботу як ціле. Якщо окремі
розділи роботи, які можна чітко ідентифікувати, не отримані
безпосередньо із Програми і можуть, відповідно, самі по собі
бути визнаними незалежною і окремою роботою, тоді дана Ліцензія
і її терміни та умови не застосовуються до даних розділів
роботи, якщо Ви розповсюджуєте їх як окремі роботи. Але у разі,
коли Ви поширюєте ці ж самі розділи як частину продукту
похідного від Програми, поширення всього цілісного продукту має
підлягати під умови даної Ліцензії. Область дозволеного
Ліцензією іншим ліцензіатам поширюється на цілий продукт,
включаючи, таким чином, і кожну його частину незалежно від того,
ким вона розроблена.

Отже, цим розділом не ставиться на меті претендування на Ваші
права на продукт, розроблений повністю Вами. Скоріше, метою є
контроль за поширенням похідних від Програми чи колективної
роботи, що базується на Програмі.

Додатково до цього, просте об'єднання кількох програмних
продуктів, які не походять від Програми, в одне ціле з Програмою
(або з продуктами, які походять від Програми) на носіях для
поширення (дистрибуція) не поширює права даної Ліцензії на
включені продукти автоматично.
[ред.]
3
Ви маєте право дублювати і розповсюджувати Програму (чи роботу,
яка базується на Програмі, на засадах Ч. 2) в об'єктних кодах чи
у вигляді придатному для виконання на засадах Ч.ч. 1 та 2 якщо
Ви також задовольняєте подані далі умови:

* а) Супроводжуєте її з повним вихідним текстом продукту на
машинних носіях, який буде розповсюджуватись на засадах Ч.ч. 1
та 2 поданих вище на носіях, що звично використовуються для
поширення таких продуктів; або

* б) Супроводжується документом, термін дії якого не коротший за
3 роки, в якому пропонується за плату, яка не перевищує витрат
на фізичне виготовлення та розповсюдження машинного носія з
вихідними текстами, що буде розповсюджуватись відповідно до
умов в ч.ч. 1 та 2 на носіях, що звично використовуються для
поширення таких продуктів; або

* в) У супроводі інформації, яку Ви отримали і у якій міститься
пропозиція щодо розповсюдження відповідних вихідних
текстів. (Цей варіант розповсюдження дозволений тільки для
некомерційного поширення і тільки якщо Ви отримали програму в
об'єктному чи придатному для виконанні вигляді разом з такою
пропозицією, у відповідності з Підпунктом 'б' вище.)

'Вихідні тексти' для програмного продукта означають таку форму
продукту, яка придатна для внесення до нього модифікацій. Для
програми, у формі придатній до виконання, повні вихідні тексти
означають всі вихідні тексти для всіх модулів цієї програми,
плюс будь-які файли для визначення інтерфейсу, плюс скрипти, які
використовуються для контролю за процесом компіляції та
установки програм у вигляді для виконання. Однак, як спеціальний
випадок, від поширюваного вихідного тексту, не вимагається
містити ніяких кодів компонент, що розповсюджуються (вихідними
текстами або двійковим кодом) звичайним чином (частини
компілятора, ядра, таке інше) з операційною системою, на якій
виконується дана програма, окрім випадку, коли така компонента
сама є супутньою частиною програми.

Якщо поширення програми у придатному для виконання вигляді чи
об'єктного коду провадиться шляхом забезпечення доступу до
визначеного місця, з якого можна отримати копію програми, тоді
така пропозиція доступу до вихідних текстів розглядається
еквівалентною до поширення вихідних текстів, навіть якщо третя
сторона не отримує вихідного тексту програми разом з об'єктним
кодом програми.
[ред.]
4
Вам не дозволяється робити копії, зміни, суб-ліцензування чи
поширення Програми, якщо ці дії виходять поза межі явно
окреслені даною Ліцензією. Будь-які спроби робити копії, зміни,
суб-ліцензії чи поширення Програми окрім, ніж на умовах цієї
Ліцензії визнаються недійсними і автоматично призводять до
втрати Ваших прав на продукт по цій Ліцензії. Однак, сторони, що
отримали від Вас копії на умовах цієї Ліцензії, не втрачають
своїх ліцензійних прав до тих пір, поки вони самі залишаються
відповідними умовам Ліцензії.
[ред.]
5
Від Вас не вимагається приймати цю Ліцензію, оскільки Ви її не
підписували. Але, ніщо інше не надає Вам права змінювати
Програму чи розповсюджувати її або похідні від неї роботи. Якщо
Ви не приймаєте умов Ліцензії, такі дії заборонені
законом. Отже, самим фактом внесення змін до Програми або її
розповсюдження (або розповсюдження будь-якої роботи, що
базується на Програмі) Ви демонструєте згоду з термінами
Ліцензії і всіма умовами, що з неї випливають відносно
копіювання, розповсюдження та внесення змін до Програми), Ви
демонструєте прийняття Вами Ліцензії і згоду дотримуватись її
умов при копіюванні, розповсюдженні та внесенні змін до Програми
та робіт, що на ній базуються.
[ред.]
6
Кожного разу при розповсюдженні Програми (чи будь-якої роботи,
що базується на Програмі), особа, що отримує Програму
автоматично отримує від першого ліцензіара ліцензію на
копіювання, розповсюдження чи внесення змін до Програми на
засадах та термінах вказаних тут. Ви не маєте права висувати
жодних додаткових обмежень прав викладених тут. Ви не несете
відповідальності за дотримання третіми сторонами умов цієї
Ліцензії.
[ред.]
7
Якщо в наслідок судового присуду чи звинувачення в порушенні
патенту чи з будь-якої іншої причини (що не обмежуються тільки
причинами, пов'язаними з патентним законодавством) на Вас
накладаються певні зобов'язання (або судовим присудом, або за
згодою, або будь-яким іншим чином), що протирічать умовам цієї
Ліцензії, вони не звільняють Вас від зобов'язань щодо
Ліцензії. Якщо Ви не можете розповсюджувати продукти таким чином,
щоб задовольняти обом: і Вашим зобов'язанням за умовами цієї
Ліцензії, і іншим зобов'язанням покладеним на Вас, як наслідок
цього Ви не повинні розповсюджувати Програму зовсім. Наприклад,
якщо патентна ліцензія не дозволяє безкоштовне поширення
Програми тим, хто отримав її копії від Вас безпосередньо чи
опосередковано, тоді єдиним способом задовольнити цю умову можна
утримавшись від розповсюдження Програми зовсім.

Якщо за певних будь-яка частина цього розділу визнається
недійсною або не може застосовуватися, тоді мають
використовуватись частини розділу, які мають дію, у всіх інших
випадках повинен застосовуватись весь розділ.

Метою цього розділу не є схиляння Вас до порушення будь-яких
патентів чи інших прав власності, чи вступ у суперечку щодо
дійсності будь-якої з таких претензій. Метою даного розділу є
захист цілісності системи розповсюдження вільного програмного
забезпечення, яка була реалізована шляхом впровадження публічних
ліцензій. Багато хто зробив значимі внески до широкого рангу
програмного забезпечення, яке розповсюджується завдяки цій
системі, покладаючись на стабільність системи. Від автора
програмного забезпечення чи від особи, що надає його для
розповсюдження залежить, чи вони вирішують розповсюджувати це
програмне забезпечення користуючись будь-якою іншою системою
поширення і ліцензіату не може бути нав'язане таке рішення.

Метою цього розділу є чітке і ясне висловлення того, що як
видається є наслідками інших частин цієї Ліцензії.
[ред.]
8
Якщо розповсюдження та/або використання Програми обмежене або
патентним законодавством або законодавством про авторські права,
первісний володар авторських прав, який першопочатково приймає
цю Ліцензію для продукту додатково може встановити географічні
обмеження на поширення Програми з явним виключеннями з кола
дозволеного поширення продукту таких країн, таким чином що
розповсюдження програми є можливим тільки в тих країнах, чи
поміж такими країнами, які не виключені з кола дозволеного
розповсюдження. У таких випадках, Ліцензія включає в собі
обмеження в такому вигляді, в якому вони записані в цій
Ліцензії.
[ред.]
9
Час від часу Фундація вільного програмного забезпечення може
публікувати поновлені та/або нові версії Загальної Публічної
Ліцензії. Ці нові ліцензії будуть подібні за духом до поточної
версії, але можуть відрізнятися деякими деталями присвяченими
новим проблемам та питанням.

Кожна версія отримує свій порядковий номер. Якщо Програма вказує
номер версії цієї Ліцензії, що застосовується до Програми і
вказує 'будь-яка наступна версія', Вам надається право або
наслідувати умови ліцензування, які застосовуються до Програми,
або застосовувати до Програми будь-яку з пізніших версій цієї
Ліцензії. Якщо Програма явно не вказує номер версії цієї
Ліцензії, Вам надається право вибрати самому, яка версія
застосовується.
[ред.]
10
Якщо Ви плануєте включити частини Програми у інші вільні
програмні продукти, які поширюються на інших умовах, напишіть
автору для отримання дозволу. З приводу програм авторські права
яких належать Фундації Вільного Програмного Забезпечення,
напишіть у Фундацію Вільного Програмного Забезпечення, ми інколи
робимо виключення до цих правил. Наше рішення буде базуватися на
двох провідних ідеях: збереження вільного статусу за всіма
похідними вільного програмного забезпечення та популяризація
спільного використання та наслідування програмного забезпечення
загалом.

[ред.]
ВІДСУТНІСТЬ ҐАРАНТІЇ
[ред.]
11
ОСКІЛЬКИ ЛІЦЕНЗІЯ НА ЦЮ ПРОГРАМУ НАДАЄТЬСЯ БЕЗКОШТОВНО,
НА ЦЮ ПРОГРАМУ НЕ НАДАЄТЬСЯ ҐАРАНТІЇ, В МЕЖАХ ДОЗВОЛЕНИХ
ЗАКОНОДАВСТВОМ. ОКРІМ СПЕЦІАЛЬНО ОБУМОВЛЕНИХ ВИПАДКІВ
ЗАСВІДЧЕНИХ ПИСЬМОВО, ВЛАСНИКИ АВТОРСЬКИХ ПРАВ ТА/АБО ІНШІ
СТОРОНИ, ЩО РОЗПОВСЮДЖУЮТЬ ПРОГРАМУ, НАДАЮТЬ ЇЇ У ВИГЛЯДІ 'ЯК
Є' БЕЗ ЗАБЕЗПЕЧЕННЯ ҐАРАНТУВАННЯ У БУДЬ-ЯКОМУ ВИГЛЯДІ, АБО ЯВНО
ВИРАЖЕНОЮ, АБО НЕЯВНОЇ, ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ
УЯВНОЮ ҐАРАНТІЄЮ ФІНАНСОВОЇ ВИГОДИ І ПРИГОДНОСТІ ДЛЯ
КОНКРЕТНОГО ЗАСТОСУВАННЯ. ВЕСЬ РИЗИК ЩО ЗАЛЕЖИТЬ ВІД ЯКОСТІ
ЧИ ВИРОБНИЧОЇ ПОТУЖНОСТІ ПРОГРАМИ ПЕРЕКЛАДАЄТЬСЯ НА ВАС.
ЯКЩО ПРОГРАМНИЙ ПРОДУКТ ВИЯВИТЬСЯ ДЕФЕКТНИМ, ВСІ ВИТРАТИ
ПОВ'ЯЗАНІ З ОБСЛУГОВУВАННЯМ, ВІДНОВЛЕННЯМ ЧИ КОРЕКТУВАННЯМ
ПОКЛАДАЮТЬСЯ НА ВАС.
[ред.]
12
НІ ЗА ЯКИХ УМОВ, КРІМ ВИПАДКІВ ОБУМОВЛЕНИХ ЗАКОНОДАВСТВОМ ЧИ
ВИПАДКІВ, КОЛИ БУЛА ОТРИМАНА ПИСЬМОВА УГОДА, НІХТО З ВЛАСНИКІВ
АВТОРСТЬКИХ ПРАВ, ЧИ БУДЬ-ЯКА ІНША СТОРОНА, ЩО МОЖЛИВО ВНЕСЛА
ЗМІНИ ТА/АБО РОЗПОВСЮДЖУЄ ПРОГРАМУ, НА УМОВАХ ВИЩЕЗАЗНАЧЕ-
НИХ, НЕ БУДЕ НЕСТИ ВІДПОВІДАЛЬНІСТЬ ПЕРЕД ВАМИ ЗА ВДІЯНУ ШКОДУ,
ВКЛЮЧАЮЧИ БУДЬ-ЯКІ ЗАГАЛЬНІ, СПЕЦІАЛЬНІ, ВИПАДКОВІ ЧИ ПОСЛІДОВНО
НАНЕСЕНІ ПОШКОДЖЕННЯ, ЩО ПОХОДЯТЬ ВІД ВИКОРИСТАННЯ АБО ВІД
НЕМОЖЛИВОСТІ ВИКОРИСТАННЯ ПРОГРАМИ (ВКЛЮЧАЮЧИ, АЛЕ НЕ
ОБМЕЖУЮЧИСЬ ВТРАТАМИ ДАНИХ, АБО НЕВІРНОЮ ОБРОБКОЮ ДАНИХ,
АБО ВТРАТАМИ, ЗАЯВЛЕНИМИ ТРЕТІМИ СТОРОНАМИ, АБО ВІД НЕМОЖЛИВО-
СТІ СПІЛЬНОГО ВИКОРИСТАННЯ ПРОГРАМИ З БУДЬ-ЯКИМИ ІНШИМИ
ПРОГРАМАМИ), НАВІТЬ ЯКЩО ТАКИЙ ВЛАСНИКУ ЧИ ІНШІЙ СТОРОНІ БУЛО
ВКАЗАНО НА МОЖЛИВІСТЬ ТАКОЇ ШКОДИ.
КІНЕЦЬ ТЕРМІНІВ ТА УМОВ
[ред.]
Як застосувати ці умови до Ваших нових програм
Якщо Ви розробляєте нову програму, і Ви бажаєте щоб ця програма
приносила найбільшу можливу користь суспільству, найкращим способом
досягти цього можна віднісши цю програму до  вільного програмного
забезпечення, яке кожен може поширювати та вільно вносити зміни на
умовах зазначених тут.

Щоб зробити це, додайте наступні повідомлення до
програми. Найбезпечнішим є долучити їх на початку кожного файлу з
вихідними текстами щоб найнадійнішим чином запобігти виключенню
ґарантії. Кожен файл повинен мати хоча б рядок з 'copyright' та
вказівкою на адресу, де може бути знайдено повний текст
повідомлення.

< один рядок для назви програми та коротенького повідомлення про те, що вона робить >

Copyright (C) рік ім'я автора

Ця програма - вільне програмне забезпечення; Ви можете розповсюджувати
її та/або вносити зміни відповідно до умов Загальної Публічної
Ліцензії GNU у тому вигляді, у якому вона була опублікована Фундацією
Вільного Програмного Забезпечення; або 2ї версії Ліцензії, або (на Ваш
розсуд) будь-якої більш пізньої версії.

Ця програма розповсюджується із сподіванням, що вона виявиться
корисною, але БЕЗ БУДЬ-ЯКОЇ ҐАРАНТІЇ, без навіть УЯВНОЇ ҐАРАНТІЇ
КОМЕРЦІЙНОЇ ПРИДАТНОСТІ чи ВІДПОВІДНОСТІ БУДЬ-ЯКОМУ ПЕВНОМУ
ЗАСТОСУВАННЮ. Зверніться до Загальної Публічної Ліцензії GNU за
подробицями.
Ви мали отримати копію Загальної Публічної Ліцензії GNU разом з цією
програмою. Якщо Ви не отримали копії ліцензії, напишіть за адресою
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.

Також додайте інформацію про те, як зв'язатися з Вами електронною
чи паперовою поштою.

Якщо програма інтерактивна, додайте в повідомлення, яке виводиться
програмою подібне до:

Gnomovision version 69, Copyright (C) рік ім'я автора

Gnomovision постачається АБСОЛЮТНО БЕЗ ҐАРАНТІЇ; деталі дивіться
натиснувши `show w'.  Це вільне програмне забезпечення, Ви можете
розповсюджувати його за певних умов; надрукуйте `show c'
щоб дізнатись подробиці.

Гіпотетичні команди 'show w' та 'show c' повинні надрукувати
відповідні частини  Загальної Публічної Ліцензії GNU. Звичайно ж,
команди можуть називатися інакше, ніж 'show w' чи 'show c'. Це може
бути навіть клацання мишкою на меню, чи що-завгодно, що годиться
для Вашої програми.

Додатково бажано, щоб Ви отримали від свого роботодавця (якщо Ви
працюєте програмістом) чи школи, 'свідоцтво відмови від авторського
права', якщо потрібно. Далі наведено зразок такого свідоцтва:

Yoyodyne, Inc., цим засвідчує, що всі авторські
права на 'Gnomovision' належать Петру Хакеру,
який написав цю програму (яка робить проходи
компіляторів).
Підпис Д.И. Ректора, 1 квітня 1989
Д.И. Ректор, Президент

Дана Загальна Публічна Ліцензія GNU не дозволяє включення Вашої
програми у комерційні програмні продукти. Якщо Ваша програма є
підпрограмою або функцією, для Вас може бути більш прийнятним
дозволити об'єднання (linking) комерційних програм з Вашою
бібліотекою. Якщо саме це Вам і потрібно, скористайтесь Загальною
Публічною Ліцензією GNU для Бібліотек (GNU Library General Public
License) замість даної.

_________________________________________________________________

Copyright notice above.
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111, USA
Оригинальная статтья "http://docs.linux.org.ua/dlou/index.php/GPL"