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" 

Friday, June 29, 2007

Новые стратегии мира Open Source

Новые стратегии мира Open Source

Нейл Макалистер
Computerworld :: Индустрия

InfoWorld, США

Несмотря на широкое распространение и общественное признание, подобные решения все еще редко используются для решения критически важных задач корпоративного уровня

Без сомнения, свободно распространяемые решения используются сегодня практически повсеместно. Трудно найти коллектив, профессионально занимающийся программным обеспечением, который не использует такие продукты, будь то Linux, MySQL, Perl или сетевой инструментарий Snort. Маститые ИТ-компании, такие как IBM, Novell, Oracle и Sun Microsystems, вкладывают немалые деньги в проекты категории Open Source и привлекают к разработке сторонников этой идеологии. Даже Microsoft не может оставаться в стороне. Однако, несмотря на широкое распространение и общественное признание, подобные решения все еще редко используются для решения критически важных задач корпоративного уровня.

Бизнес-модели, на основе которых распространяется программное обеспечение с открытыми кодами, постепенно совершенствуются. Переворот в мышлении, начало которому положила деятельность нескольких возмутителей спокойствия, приводит к коренному изменению образа мыслей в программной отрасли

Кое-кто полагает, что шаги ведущих производителей, направленные на то, чтобы перевести свои продукты в категорию Open Source, временами напоминают попытки отделаться от подержанных вещей, «сбыть» не очень успешные или плохо поддерживаемые продукты в надежде, что кто-нибудь другой знает, что со всем этим делать.

В то же время это относится далеко не ко всем. Бизнес-модели, на основе которых распространяется программное обеспечение с открытыми кодами, постепенно совершенствуются. Переворот в мышлении, начало которому положила деятельность нескольких возмутителей спокойствия, приводит к коренному изменению образа мыслей в программной отрасли. Не секрет, что сегодня считается естественным и даже благоразумным относится к свободно распространяемым решениям со здоровым скептицизмом, однако в течение нескольких лет модель Open Source может стать нормой, а не исключением.

Это ставит ИТ-руководителей в затруднительное положение. По мере того, как старые модели разработки начинают постепенно уходить в прошлое, то же самое должно произойти и с традиционными средствами, которые компании используют для оценки и покупки корпоративного программного обеспечения. Все чаще и чаще эти решения требуют абсолютно новых знаний и навыков.

Никакого бесплатного сыра

Первый вопрос, который следует себе задать — как такая компания, как IBM или Oracle может решиться предлагать свое программное обеспечение бесплатно? Ответ очень прост: они этого и не делают — если не принимать во внимание акции, связанные главным образом с второстепенными продуктами.

По самым разным причинам традиционная модель распространения готовых программных пакетов плохо согласуется с требованиями к корпоративным информационным системам. По мере того, как ИТ-инфраструктура становится все масштабнее и сложнее, схемы лицензирования в расчете на рабочее место или процессор становится все труднее поддерживать. Загадочные формы расчета стоимости привели к появлению методов оплаты, которые не в состоянии точно отразить реальный уровень использования ПО.

По этой причине некоторые компании, такие как Sun, приняли разумное решение отказаться от пакетной модели в пользу исключительно абонентской платы за обслуживание. Само программное обеспечение предлагается бесплатно. Пользователи платят за предоставляемую поддержку, обслуживание и помощь в интеграции.

Скептики могут заметить, что это, скорее всего, не более чем украшение фасада. И будут правы. С точки зрения долгосрочной перспективы, отказ от конкретной платы за лицензию не обязательно означает, что пользователям удастся сэкономить. Тем не менее важно отметить, что компания, которая перешла на модель абонентской платы, уже стоит на пороге следующего этапа этой эволюции.

Модель абонентского обслуживания для программного обеспечения — это бизнес-модель, характерная для Open Source. Все, что остается, — это открыть доступ к исходным текстам. Впрочем, Sun, как и многие другие, так именно и поступает.

Ряду компаний, в том числе MySQL и Red Hat, удалось добиться успеха в бизнесе, получая с предприятий деньги за поддержку бесплатного программного обеспечения на корпоративном уровне. А поскольку такие «истории успеха» продолжают расти и развиваться, производители коммерческих решений должны спросить себя, выиграют ли они от того, что будут охранять тайну своих исходных текстов, и перевешивает ли это те преимущества, которые дает новая парадигма?

Опора на сообщество

Как для производителей, так и для пользователей главное преимущество этого нового стиля создания, развития и сопровождения программ — это поддержка сообщества. Сообщество, формирующееся вокруг проекта категории Open Source, — источник жизни. Даже самый лучший код начнет устаревать, если его не поддерживает активное, процветающее и целеустремленное сообщество разработчиков.

Для заказчика оценка качества этих сообществ — одна из самых трудных задач в процессе покупки программного обеспечения. Решение приобрести тот или иной компонент корпоративного программного обеспечения часто сводится к представлению о том, какой репутацией пользуется данный производитель. При оценке свободно распространяемого проекта факторы, которые необходимо учесть при таком анализе, оказываются значительно сложнее.

Прежде, чем компания примет решение использовать ту или иную свободно распространяемую программу, крайне важно, чтобы ИТ-специалисты тщательно изучили состояние этого проекта. Как организовано сообщество его разработчиков? Какова модель управления? Кто наиболее активно принимает участие в развитии проекта? Кто имеет право вносить изменения и насколько часто это происходит? Каким образом разрешаются внутренние споры? На условиях какой лицензии распространяется код?

Каждое решение, связанное с информационными технологиями, начинается с бизнес-проблем. Решение именно этих проблем остается главной задачей каждого ИТ-департамента. И поэтому свободно распространяемые программы необходимо оценивать по их возможностям, стабильности, масштабируемости, защищенности и всем другим стандартам, которым соответствуют коммерческие программные продукты.

Естественным следствием активного распространения открытого программного обеспечения становится широта выбора. Лучше всего оценить такой выбор могут те, кто наиболее близко знаком с проектом. То есть те, кто знает все тонкости жизни сообщества и понимает, как развивается проект. В силу этого высококвалифицированные ИТ-специалисты, которые превосходно разбираются в технологиях, сейчас, как никогда раньше, являются главным ресурсом самых успешных предприятий.

Финансирование Open Source

Финансирование Open Source

способы финансирования Open Source-проектов

Не секрет, что многие open source-проекты стартуют на чистом энтузиазме разработчиков. Рано или поздно удачный проект переходит в стадию, когда основные части системы написаны и в дальнейшем внимание надо сконцентрировать на поддержке и разработке менее значительных функций. В такие моменты интерес энтузиастов угасает и некогда многообещающий проект переходит из стадии бурного развития в стадию медленной смерти. В такой период очень важно найти иную мотивацию для разработчиков, нежели новизна идеи и стремление к славе. Самой простой мотивацией являются деньги.

Хотя многие open source-проекты и стартуют за идею, такой подход не является единственно возможным. В последнее время все больше проектов избирают open source в качестве бизнес-модели. Это позволяет малыми средствами создавать и раскручивать весьма серьезные разработки.

И в одном, и в другом случае существует немалое количество способов привлечения финансирования. Часть этих способов рассматривается в этой статье.

Пожертвования

Наиболее распространенный и всем известный способ – пожертвования благодарных пользователей. На сайтах большинства open source-проектов несложно заметить специальную кнопочку для сбора пожертвований системы PayPal. И вот тут-то и кроется основная проблема использования этого способа проектами, разрабатываемыми жителями бывшего СССР.

PayPal завоевал статус де-факто стандарта в области пожертвований
Дело в том, что система PayPal завоевала статус де-факто стандарта в этой области, но в то же время (на момент написания этой статьи) PayPal не позволяет жителям бывшего СССР получать средства на свои счета в этой системе. Конечно, есть и другие системы, например, такие, как MoneyBookers, E-Gold, WebMoney и множество других, но подавляющее большинство жертвующих привыкло делать пожертвования через PayPal и только PayPal. Отсутствие такой возможности значительно сократит количество пожертвований. Безусловно, существуют разные «серые» схемы получения полноценного счета в PayPal, но это уже совсем другая область.

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

Спонсирование функций

Когда проект набирает определенную популярность, у него появляется множество преданных пользователей. Практически каждый серьезный пользователь видит какие-то функциональные недостатки или мечтает о каких-либо новых возможностях, которые помогли бы ему использовать продукт более продуктивно. Многие из таких пользователей совсем не против полностью или, по крайней мере, частично оплатить разработку интересующих функций. И тут самое главное — не постесняться попросить их об этом.

Предложить спонсировать разработку всегда можно и совершенно не зазорно
Начинающие open source-разработчики часто считают такие просьбы некорректными, но это совсем не так. Такой подход вполне соответствует духу open source. Безусловно, если предложенная идея очень хороша, а пользователь не может или не хочет оплачивать ее разработку, не стоит вставать в позу и отказываться от отличной функции только потому, что за нее никто не заплатил. Но предложить спонсировать разработку всегда можно и совершенно не зазорно.

Стоит упомянуть о возможности спонсирования функций на сайте проекта (например, в разделе «Часто задаваемые вопросы»). Некоторые пользователи могут постесняться просить разработать то или иное дополнение, не желая выступать в роли просящего. Простое упоминание о возможности спонсирования позволяет им перейти в разряд клиента и предложить материальную помощь в обмен на функционал.

Скорее всего клиент попросит вас оценить стоимость разработки, и тут необходимо проявить гибкость. Если вы чувствуете, что новая функция однозначно полезна для развития вашего проекта, возможно, стоит подумать о снижении цены. И наоборот, если идея вам кажется никчемной и/или полезной только этому конкретному клиенту, стоит поднять цену, так как функциональность будет реализовываться за счет времени, которое (на ваш взгляд) могло бы быть потрачено на более полезные вещи.

В отличие от пожертвований спонсирование функций оперирует более крупными суммами, и для большинства спонсоров расходы на банковский перевод не являются решающими. Практически всегда можно найти обоюдно удобный способ передачи денег.

Выкуп

Выкуп (англ. Ransom) – довольно новый и набирающий популярность способ. Он применяется двумя немного отличающимися друг от друга путями.

  1. Новые проекты изначально выпускаются в закрытом виде, и разработчик объявляет, что, когда объемы продаж достигнут определенной суммы, исходные коды будут опубликованы и проект перейдет в разряд open source.

  2. В среде развитых open source-проектов набирает популярность вторая разновидность метода «Выкуп» — разработчики объявляют, что разработаны такая-то функция или плагин, но выпущена она будет только тогда, когда будет собрана соответствующая сумма. То есть разработчики как бы держат плагин в заложниках (отсюда и название «Выкуп»). В данном случае отсутствие возможности использовать PayPal хотя и является недостатком, но не таким очевидным, как в случае с пожертвованиями, поскольку пользователи не просто хотят выразить благодарность, а напрямую заинтересованы в том, чтобы необходимая сумма была как можно быстрее собрана.

Платная поддержка

На заре широкого распространения open source практически все проекты делали ставку на бизнес-модель, основанную на платной поддержке бесплатного ПО. Суть метода предельно проста и всем известна — ПО поставляется бесплатно, а за техническую поддержку надо платить.

Такая схема проста и понятна, но она в какой-то мере отпугивает пользователей, которые, часто не без основания, воспринимают такую модель как потенциально дорогую. Приверженцы закрытого ПО часто используют эту модель в качестве подтверждения того, что бесплатное ПО – это миф, который в итоге может обойтись пользователю дороже традиционных продуктов.

Тем не менее такая модель вполне справедлива и имеет право на существование. К тому же она позволяет производителям свободного ПО планировать доходы и, соответственно, дальнейшее развитие проектов.

Двойное лицензирование

Планируя выпуск продукта под двойной лицензией, необходимо позаботиться об отсутствии правовых конфликтов
Наиболее очевидный способ заработка на open source-проекте – распространение не только под open source-лицензией, но и под коммерческой. Так как некоторые open source-лицензии (такие, как GPL) накладывают довольно серьезные ограничения на сферу использования продукта, многие пользователи с удовольствием заплатят разумную цену за то, чтобы освободиться от этих ограничений. Также в некоторых компаниях корпоративные правила не позволяют использовать open source-продукты.

Существует немало сервисов, позволяющих безболезненно осуществлять продажи ПО, таких как share-it!, RegSoft и др.

Однако необходимо иметь в виду, что, для того чтобы менять лицензию на продукт, вы должны обладать правами на все его компоненты либо лицензии этих компонентов дают вам такое право. Так, например, если ваш продукт, выпускаемый под GPL, содержит сторонний код, также распространяемый под GPL, вы не можете выпустить весь продукт под лицензией, отличной от GPL. Таким образом, изначально планируя выпуск продукта под двойной (тройной и т. д.) лицензией, необходимо позаботиться об отсутствии правовых конфликтов.

Конечно, это не все методы, которые позволят вашему open source-проекту успешно развиваться, и, безусловно, эти методы не являются взаимоисключающими. Вы можете использовать практически все перечисленные методы для финансирования одного проекта. И если вас заботит долговечность ваших начинаний, стоит задуматься об этих вопросах на самых ранних стадиях планирования, даже если на сегодня вы готовы работать на голом энтузиазме.

Thursday, June 28, 2007

Философия бизнеса на Open Source

Философия бизнеса на Open Source (Компьютерра Онлайн)

Ольга Мельник On-line версия журнала КОМПЬЮТЕРРА 14 октября 2002 года

Противостояние софта с открытым и закрытым кодом длится с момента их появления. Открытые программы широко применяются множеством фирм, но мало кому пока удается сделать на этом хороший бизнес, особенно в России.

Апологеты Open Source не устают повторять, что бесплатные программы, распространяемые с исходниками, значительно надежнее и безопаснее. Ошибки ищут все! Встроенных ограничений нет, меняй что хочешь, в том числе и то, что хочет изменить заказчик. Open Source принадлежит всем и никому в отдельности, в особенности транснациональным корпорациям. Для бизнеса это значит, что конкуренция в предоставлении услуг по разработке и обучению честнее, цены регулируются рынком, а стоимость владения оказывается существенно ниже, чем все это для софта закрытого.

В основном открытые программы - системные. Трудно найти российских провайдеров и веб-мастеров, не использующих продукты Open Source. Деловых приложений значительно меньше, практически их разработка только начинается. Но работа идет. Sun, например, собирается в ближайшее время представить полный офисный пакет для Windows и Linux, который можно использовать вместо Microsoft Office. В Перу вообще законодательно требуют использования только открытого софта в государственных учреждениях, аналогичные законы рассматриваются Украиной, Данией и рядом других стран, и не мудрено. Затраты просто несопоставимы. Тот же офисный пакет SUN будет стоить примерно в 10 раз меньше, чем наш любимый «стандарт де-факто».

Но если говорить о бизнесе, то раньше создание таких программных продуктов не было экономически выгодно для компаний-разработчиков. Теперь ситуация меняется, во многом потому, что теперь, когда компании вынуждены постоянно модифицировать аппаратное обеспечение, чтобы оно соответствовало требованиям ПО к системным ресурсам, Linux может быть использован на менее современных машинах, тем самым продляя жизнь ПК. Так считает SUN, во всяком случае. Но это далеко не единственная, и может быть даже и не главная причина. Возможно ключевые слова здесь «надежность, безопасность, скорость развития». Есть даже мнение, что сейчас начинать долговременные проекты создания закрытого софта нет смысла вообще, все равно вскоре он будет вытеснен с рынка.

А если от офисных приложений перейти к ERP, то можно заметить, что применению современных управленческих технологий существенно мешают невыносимо длительные сроки внедрения и неприемлемо высокие для многих фирм затраты. Как только появятся хорошие ERP на Open Source и нужный сервис по их доводке под клиента, число пользователей может резко возрасти за счет малых и средних компаний.

Но вот появятся ли они? Очень даже может быть. В Екатеринбурге, например, уже сделали целую линейку деловых Open Source-продуктов. Произошло это в течение года под руководством Александра Давыдова, ушедшего весной 2001 года из Микротест, где он много лет был техническим директором. С ним ушли и еще шесть разработчиков, составившие костяк новой команды. Кажется удивительным (ну это уж кому как, может, природным линуксоидам и не кажется), что к мысли о бизнесе на Open Source Александр Давыдов пришел из «философских понятий природы программного обеспечения», как он сам говорит. А год спустя говорит, что уверенность в правильном выборе ему дает «ощущение легкости и гармонии в достижении целей при общем сильном напряжении». Здорово, правда? По моему, такому только позавидовать можно. Ну, кто из нас об этом не мечтал?

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

Почему, когда воруют легко копируемые товары, люди считают это этичным, в отличие от хищений материальных благ? Потому что интуитивно чувствуют, что идея собственности применима только к материальным объектам. Идеей же, в отличие от вещи, владеть нельзя, можно быть только ее автором. Если вы изобрели стул, бессмысленно пытаться (хотя и очень хочется) заставить людей платить за идею создания стула, они все равно понаделают своих собственных, возможно, даже лучше вашего.

Максимум того, что может иметь автор - это право на упоминание о себе, как это принято в фундаментальной науке. Такая же модель поведения в применении к ПО и называется Open Source. Ну, а теперь, наконец, о бизнесе. Все хорошо, открытые коды - это замечательно. Деньги как будут зарабатываться? У NAUMEN (именно так называется новая компания Александра Давыдова) такая модель для всех продуктов. Пишется ядро. Оно открыто, любой может взять и использовать его бесплатно. Оно уже содержит все основные идеи и функциональность, оттестировано как внутри компании, так и всеми желающими, и полностью работоспособно. Если, начав использовать это ядро, компания понимает, что неких специфичных функций или блоков ей не хватает, она может либо их создать силами своих программистов, либо обратиться к любой команде разработчиков, либо просто пойти в NAUMEN, где ей быстро допишут все что угодно. Но уже за деньги, конечно. Причем результат тоже будет в открытом коде. В любой момент можно сменить исполнителя, или, если руководитель желает читать текст программ, проверить - «так, вот до сюда дописали….».

Таким образом, NAUMEN не продает программное обеспечение. NAUMEN продает услуги по доработке. В чем же они видят секрет своего успеха? (А успехи и правда есть уже, Уральское представительство Мегафон например использует их систему.) Никакой защиты авторских прав не надо, только качество, надежность и гибкость.

Ничто не вечно под луной, в том числе и стандарты, даже если это стандарты де -факто. И возможно новым стандартом делового софта как раз и станет Open Source.

Monday, June 18, 2007

Что делать когда что то не работет

Linux operating systems

Collect the following information:

  • Operating system distribution and version

    Look for a file named /etc/distribution-release (for example, /etc/redhat-release)

  • Kernel version in use
  • Output from the following commands (performed by root):
    • lspci -v
    • uname -a
    • cat /proc/meminfo
    • cat /proc/cpuinfo
    • rpm -ga
    • dmesg
    • lsmod
    • ps -ef
    • ifconfig -a
    • chkconfig -list
    • mount
  • Contents of the following files:
    • /var/log/messages
    • /etc/modules.conf or etc/conf.modules
    • /etc/lilo.conf or /etc/grub.conf
    • /etc/fstab
  • A list of each third-party hardware component installed, with the firmware revisions
  • A list of each third-party software component installed, with the versions
  • A detailed description of the problem and any associated error messages

Saturday, June 16, 2007

Гвоздь в гроб Windows

03 июня 2007 Гвоздь в гроб Windows

Господству Windows приходит закономерный конец. Нет, пока он еще не осязаем, но пик уже позади, и теперь события начнут катиться, все набирая скорость. Сейчас уже понятно, что будущее за unix-системами, и уже ясно, что это будет Linux. Это произойдет не завтра, даже не через год и не через два. Но уже через пять лет ни у кого не останется сомнений в том, что говорю сегодня я и многие другие.

Миф первый: за программы надо платить.

Есть мнение, что за любой продукт, сработанный чьими-то руками, следует платить по справедливости. В том числе и за операционную систему, поскольку бесплатный сыр в мышеловке, и прочие пафосные слова. Мнение в принципе верное. Но лишь в определенных пределах. За этими пределами оно уже не столько верное, сколько выгодное кое-кому. А для всех прочих глубоко ложное. И ниже я поясню почему.

Но не будем спешить в рассуждениях, а оглянемся вокруг: число компьютеров неуклонно растет, за последние 10 лет оно увеличилось чуть ли не в десять раз. Однажды наступит такой день, когда каждый житель Земли станет обладателем компьютера - наладонника, мобильника с операционной системой, или у него на работе будет компьютер, - не важно. На этом компьютере, даже на наладоннике, должна быть операционная система (пусть даже она включена в стоимость). Иными словами, в итоге каждый житель Земли должен будет иметь программный продукт первой необходимости - операционную систему.

Теперь вопрос: снизила ли корпорация MS цену на Windows пропорционально росту потребителей за последние 10 лет? Конечно нет. Запомним этот факт и пойдем дальше.

Мы понимаем, что конечная цель и заветная мечта корпорации MS - чтобы на каждом компьютере нашей планеты стоял честно купленный Windows. Который, кстати, необходимо покупать заново каждые 5 лет в связи с тем, что старые лицензии на более новую версию волшебным образом не распространяются.

Допустим, цена Windows в среднем 100$. Урезанная - дешевле, профессиональная дороже, для предприятия и офиса - во много раз дороже, а серверные решения вообще от 1500$. Но в среднем 100$ с каждого жителя земли раз в 5 лет. Это не считая Офиса и прочих продуктов. Такова мечта и конечная цель MS, поскольку цена, как мы отметили, с ростом числа пользователей не снижается.

Теперь внимание. Эта мечта - полтриллиона долларов каждые 5 лет. Сто миллиардов долларов в год! Скажите, создатели операционной системы заработали эти деньги честным трудом? Таковы их ежегодные затраты на разработку?

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

К вам домой пришел санехник менять трубы, он возился полдня и взял деньги за работу, которую выполнил для вас. Вам на рынке продали арбуз, каждый из этих арбузов какие-нибудь таджики сажали, растили, поливали, хранили, транспортировали и перекидывали по одному собственными руками с бахчи в кузов, из кузова в ящик, из ящика на весы - все это для вас. Но вот вы купили у MS по интернету лицензию на использование операционной системы. Что компания MS за эти деньги сделала лично для вас? Может, внесла доработку по вашей личной просьбе, чтобы русский язык лично у вас переключался клавишей CAPS, а не растопыркой из двух пальцев? Может, вы обрели за эту сумму максимум производительности, поскольку специалист корпорации выехал к вам на дом и собрал систему из исходников, удалив все лишнее и оптимизировав нужное под ваш тип процессора, объем памяти и специфику задач? Нет. Вам, как миллионам других, просто разрешили ТОЖЕ пользоваться тем, что было сделано однажды совсем в другом месте и совсем не для вас. За это "ТОЖЕ" с вас взяли 100$. А реальные затраты - три копейки, причем давно с лихвой погашены из других источников.

Как же возникла ситуация, при которой вы платите 100$ за продукт, себестоимость которого копейка? Почему по законам рынка тут же со всех сторон не набегут другие предприниматели, предлагая вам свои аналоги за 50$, 25$, 10$, 1$? Может потому, что продукт MS велик и неповторим, и аналогов ему нет? Аналоги есть, и по своим характеристикам значительно превосходят Windows. Но при работе с ними есть ряд проблем, связанных с совместимостью программ, драйверами оборудования, невозможностью легально использовать закрытые патентами MS протоколы... Все эти проблемы созданы и культивировались MS с одной лишь целью - любыми незаконными методами сохранить ситуацию, при которой вы будете вынуждены платить 100$ за единственную в мире систему, не терпящую конкуренции.

И это будет продолжаться до тех пор, пока мы будем верить румяным менеджерам, профессия которых - убедительно рассказывать про бесплатный сыр в мышеловке и наивысшую справедливость платить большие деньги за любое использованное ПО.

Ответ: они не заработали этих денег и близко. Если кто-то говорит вам, что пользоваться нелицензионным Windows - воровство, то смело отвечайте, что эта корпорация обокрала всех нас, перетянув удавкой горло мировому рынку ПО и продавая задыхающимся пользователям свой пыльный воздух по цене золота. Восторгаетесь мощью MS, восхищаетесь самым богатым человеком на планете? Не обманывайте себя: эти деньги украдены у вас. Украдены при помощи полулегальных монопольных махинаций. Не хотите чувствовать себя дойной коровой - пользуйтесь такой операционной системой, которую дают бесплатно, поскольку деньги создатели зарабатывают не на вас, а на техподдержке: на тех, кто заказывает доработки и оптимизации, и готов за это платить столько, сколько реально стоит труд разработчика в условиях свободного рынка.

Миф второй: информационный товар чего-то стоит.

Мы веками приучались к тому, что каждый товар имеет свою стоимость. Кузнец кует подковы, гончар лепит горшки, хочешь пользоваться - заплати мастеру. Но вот настало время информационных товаров, чья стоимость тиражирования практически равна нулю, а затраты - лишь стоимость разработки. Эта стоимость была и у товаров прошлых веков, но только никогда всерьез не считалась. У подковы и горшка тоже наверняка были свои разработчики гончарного круга и кузнечного горна, но никому не приходило в голову включать цену этих идей в стоимость.

Я вовсе не утверждаю, что информационный товар должен быть бесплатным. Вовсе нет - программист должен сполна получить за свою работу, и плюс премию, и плюс отпускные, и плюс все вышеперечисленное умножить на три, если работа хороша. Но не миллиарды.

Интересно другое: чем больше аудитория пользователей для товара с нулевой стоимостью копирования, тем меньше затраты на каждого, и тем больше вероятность появления каких-то побочных источников дохода, которые погасят затраты на разработку, не тревожа карманы пользователей. И этот подход - справедлив как никогда. Это не так ясно, как хотелось бы, поэтому поясню на примерах.

Возьмем телевидение. Там ежедневно миллионные затраты на вещание, дикторов, новости, съемки сериалов, содержание студий, аппаратуру и все такое. Почему же телевидение бесплатно для нас? Да потому что нас - сотни миллионов. Все знают, за счет чего окупается телевидение: за счет рекламы. И не просто окупается, а получает огромные прибыли, потому что цена рекламы велика. Но разберемся, что это фактически означает для тебя лично? Это означает, что ты в свободное время посмотришь ТВ, а потом, может быть - может быть! - при случае купишь не что попало, а именно ту жвачку, прокладку, сок или моющее средство, что тебе советовали в рекламном ролике. Цена вопроса для этого пакета сока - 30 рублей. Не за рекламу, а за реальный пакет сока, который столько и стоит. И вот производитель сока готов ежедневно платить каналу за показ рекламных роликов, чтобы всего лишь ПОВЫСИТЬ ВЕРОЯТНОСТЬ, что ты, возможно, однажды, при прочих равных, эти 30 рублей потратишь на его сок, а не на соки конкурентов. Допустим, окупаемые затраты на рекламу составляют 1 рубль с каждого пакета сока, на этот рубль два месяца крутят передачи с рекламными роликами для тебя и еще сотни человек - ведь надежда мизерная, что именно этот сок купишь именно ты: вдруг ты вообще соков не пьешь, или у тебя уже есть любимый сок, или пенсия не позволяет, или имеешь привычку переключать рекламу, или просто любишь поступать назло? Теперь ты представляешь, какую ничтожную долю копейки стоит отдельно твое зрительское внимание среди миллионов? Но именно эта доля копейки полностью окупает затраты телеканала на весь тот информационный продукт, которым ты бесплатно пользуешься день за днем.

Или возьмем интернет. Существует огромное множество развлекательных, информационных и прочих порталов, которые создают собственный информационный продукт. Над таким проектом порой трудятся журналисты, редакторы, программисты, дизайнер постарался, хостинг тоже стоит денег. Но все это бесплатно для читателя и выгодно для создателя, если читателей много. Ведь тебе показали баннер, на который ты плевать хотел и сроду не кликнешь, однако владелец сайта получает 4$ за показ 1000 баннеров, то есть 10 копеек за твое посещение. Стоило бы 10 копеек, если бы ты заказал написать и сверстать колонку новостей и три эссе для себя лично, не показывая больше никому?

А теперь вернемся к операционной системе. Реальная цена операционной системы, написанной один раз на весь мир, в пересчете на каждого человека - сумма настолько мизерная, что легко гасится за счет прочих услуг и благ, которые сваливаются на ее разработчиков. За примерами далеко ходить не надо, вот программы мирового употребления - браузеры Firefox, Opera. Число их пользователей сегодня стремится к 50%, и они бесплатны. Но вовсе не потому, что разработчики сидят без денег, просто цена продукта для каждого пользователя стала сравнима с ценой рекламы его же. Поясню: Firefox и Opera вовсе не показывают пользователю посторонних рекламных блоков, как это делает ТВ. Просто аудитория так широка, а затраты на производство так малы по сравнению с ней, что рекламой здесь является сам крошечный логотип фирмы в иконке браузера. И затраты на разработку браузера окупаются с лихвой, но не за счет нас, а за счет некого производителя, который в один прекрасный день придет к ним в офис со словами "я вижу, вы на весь мир известные профессионалы, у меня к вам коммерческое предложение: во-первых, сделайте версию своего браузера для наладонника, который мы производим, во-вторых, не могли бы вы также написать для нас программу, которая..." Если кто-то еще не понимает механизм, тогда последний вопрос: прикиньте, сколько будет стоить для вашей фирмы разместить свою рекламу на каждом четвертом (!) компьютере мира: логотип, контактную информацию для связи, информацию о том, что здесь работают профессионалы, которые умеют создавать популярные продукты мирового уровня? За такую услугу в масштабах мира с вас запросят миллионы и миллиарды. А разработчики альтернативных браузеров Firefox и Opera имеют это бесплатно. MS бы и рад устранить конкурентов, но вот беда - интернет монополии не терпит, с производителями не сговориться, открытые протоколы не обложить патентами, потому аудитория пользователей Internet Explorer сокращается в пользу более толковых конкурентов с бешеной скоростью.

Мораль проста: операционная система мировой популярности НЕ ДОЛЖНА СТОИТЬ НИЧЕГО. Ведь если она хороша, то это лучшая реклама своих создателей, и принесет им миллионы. Тем, кто считает, что бесплатный сыр бывает только в мышеловке, покажите эту картинку:

Этот сыр - бесплатный. Расходы на его приобретение мои собственные и окупятся для меня завтра утром во время завтрака. А информационная копия, что вы видите, не стоит ничего. Более того: цена этого сыра могла быть даже отрицательной для вас. При просмотре информационного сыра не вы, а вам были бы должны некую сумму, если б я заключил договор с производителем и в кадре дал бы торговое название.

Итог: наша торговая психология сильно устарела, мы пока не умеем разбираться в истинных ценах информационного товара массового назначения, мы не понимаем гигантской стоимости нашего внимания, когда нас - миллионы. И этим пользуются те, кто хочет срубить с нас много денег за каждую копию Windows.

Тут уместно вспомнить одну из легенд Леонида Соловьева про Ходжу Насреддина и бедняка, который держал свою лепешку над котлом трактирщика чтобы она впитала запах плова. Когда трактирщик стал требовать за это денег и попросил Ходжу рассудить спор, тот выгреб у бедняка все деньги, долго тряс их в кулаке над ухом трактирщика, а затем вернул бедняку, сказав, что спорщики в расчете: бедняк нюхал чужой плов, а хозяин за это слушал звон его денег.

Миф третий: Система Windows самая жизнеспособная.

Да, Windows самая распространенная сегодня. А почему?

Может, потому что самая надежная и быстрая? Наоборот: неграмотно спланированная, полная ошибок, лишенная системы безопасности с грамотным разграничением прав пользователей, она служит прекрасным компостом, в котором роятся черви и вирусы самых разных мастей. Чего не может быть, скажем, в Linux.

Может, самая удобная? Вовсе нет. Интерфейс пользователя намного красивее и удобнее, например, у Макинтоша, откуда MS постоянно тырит решения. Ну а современный десктоп Линукса практически ничем отличим от Виндоус - давно прошли времена командной строки.

Может, у нее самая оперативная поддержка и самое быстрое исправление ошибок? Отнюдь: быстрее всего исправляются ошибки в системах с открытым кодом.

Тогда почему? Ответ прост: как мы уже говорили, это потому, что под Windows работают все программы, игры и любое оборудование. А почему они работают под Windows? Потому что это самая удобная среда для запуска программ и устройств? Напротив: большинство системных протоколов закрыто и нет документации. Программы и драйвера создают под Windows именно потому, что это самая распространенная система. Замкнутый круг.

Но замкнут этот круг не без помощи MS, который за ваши же деньги фактически подкупает производителей софта и игр, чтобы они не создавали аналогов под другие платформы, а создатели оборудования не раскрывали спецификаций, которые позволят написать драйвер кому-нибудь еще. Все об этом прекрасно знают, и все молчат.

Но это не может продолжаться вечно. Сегодня основная и любимая программа пользователя, его лучшая игрушка, книжка и энциклопедия - это интернет. А интернету плевать на операционную систему, Firefox/Opera под Linux и Windows неразличимы.

МИФ ЧЕТВЕРТЫЙ: Только Windows годится для неподготовленного пользователя.

Для неподготовленного пользователя лучше всего годится удобная палка, которой можно колотить по пню. Этот интерфейс наиболее простой и близкий нам исторически, ему почти миллиард лет, им умели пользоваться наши предки тех времен - еще до того, как начали становиться людьми. К сожалению, компьютер совсем не похож на палку с пнем, и не существует такого интерфейса, который бы являлся "интуитивно понятным". Для неподготовленного пользователя это всегда непонятное устройство и непонятные штучки на экране. Изучить требуется сотни правил (первое правило: где на корпусе кнопка включения), и нет никакой разницы, Windows это или Linux с KDE, который по интерфейсу ничем не отличается.

Когда мне рассказывают, будто Линукс освоить нельзя, я привожу в пример барышню pushishka, жену моего друга. Они абсолютно не разбирались в компьютерах, когда решили купить ноутбук. В частности именно поэтому и обратились ко мне с такой страной просьбой - поставить Линукс. Я сперва колебался и даже пытался их отговорить, даже сохранил на отдельной партиции Windows и показал, как грузиться оттуда "если вдруг чего". Но "вдруг чего" не пригодилось. Да, puhishka не умеет работать в консоли, не знает системных команд и не помнит админского пароля, но это ей и не нужно. У нее есть все: музыка, фильмы, фотографии, ICQ, емайл, Skype, пишущий CD и bluetooth. У нее есть даже родной Winword и Excel из пакета CrossOffice, если вдруг понадобится. Она прекрасно освоила интернет и буквально затерроризировала всех в ЖЖ своей активностью и веселым нравом. Но зато - ни сбоев, ни вирусов, ни хакеров. И я теперь с ужасом думаю, как часто мне пришлось бы бегать к ним в соседний квартал чинить слетевший Windows - страшную штуку в руках деятельного и любопытного новичка.

* * *

Да, я ненавижу Windows с самого его появления. Моя ненависть вовсе не относится к сотрудникам Microsoft или Биллу Гейтсу - я крайне уважаю его менеджерский талант. Но мне ненавистна сама идеология этой системы, которая пытается забрать себе мой компьютер, не пускать меня внутрь и не докладывать, что она с ним делает, а взамен всякий раз предлагать мне три простых типовых варианта на каждый случай при каждом событии, и непрерывно просить за этот сервис денег. Это идеология системы, которая изначально показывает владельцу компьютера, что она его считает болваном, тупым туристом с кошельком, для которого все уже подготовлено и продумано с финтифлюшками, только деньги плати и иди куда укажут.

Я работаю с компьютерами с 1986 года, но на моих компьютерах никогда не было Windows, даже когда писал "Вий-98". Сейчас у меня Linux, когда-то была OS/2.

Забытая ныне OS/2 в середине 90-х была главным конкурентом Windows и имела все шансы завоевать мир. В отличие от Win95, OS/2 работала быстрее, была прекрасно защищена от вирусов и хакеров, и никогда не зависала. Ее надежность была так высока, что и до сих пор кое-где OS/2 работает в атомной энергетике. Почему же она отправилась на свалку, а на земле воцарился Windows? Потому что гениальный мастер всегда проигрывает гениальному менеджеру. Билл Гейтс, разосравшись к тому моменту с IBM, точно знал, что продавать, как продавать и кому продавать. Пока специалисты OS/2 вяло предлагали научным корпорациям заумные информационные решения, Microsoft обращался к простым пользователям, создавал красивые презентации, офисные пакеты, понятные даже секретарше, спонсировал создание увлекательных игр для своей системы. И вел мощную рекламную кампанию, а про существование OS/2 знали даже не все сотрудники внутри родной, но многоплановой IBM. Если бы тогда, в 1995, IBM написала красивый офисный пакет, пару увлекательных игрушек и вложилась в толковую рекламу, то война была бы выиграна - при прочих равных среди двух первых по-настоящему графических систем юзер выбрал бы качество. Но и OS/2 стала бы таким же тоталитарным монстром - ведь это тоже система чужого дяди с закрытым кодом и неразделяемыми правами. А значит - вирусы, опасность шпионажа для гос. и военных учреждений (никто не знает, что таит чужой код, созданный в чужой стране), нерасторопность в правке ошибок, бабло, которое необходимо перечислять за каждую копию в чужую страну, а также прочие минусы, которые привели бы OS/2 в тот же тупик, в котором сейчас Windows.

* * *

Все, что написано выше, давно и каждому понятно. Лавина назрела и вот-вот обрушится. Признаков тому много.

Все больше программ появляется под Linux. Фактически нет только хорошего Фотошопа, хотя Gimp уже близок. Пройдет еще немного времени, вырастет рынок и Adobe наконец откажется от денег MS и сделает Фотошоп под Linux. Но это уже будет полный конец всему. А может - начало новой эры, если толковый руководитель Microsoft не станет ждать конца и сам вложится в Linux, умерив свои денежные запросы.

Ведь уже под UNIX перешел Макинтош, сделав OSX на ядре BSD.

Все громче звучат призывы создать "свою" операционную систему. Уже Китай перевел все госучреждения под Линукс. Уже Европа активно чешется в этом направлении. Уже депутат Алкснис пишет в Госдуму петиции. Честно признаться, лично я не был согласен с Акснисом по его прежним акциям, но здесь я полностью на его стороне, он говорит дело.

Или вот еще пример: у меня в дневнике за все эти годы лишь одна заметка собрала рекордные 175тысяч посетителей, посещаемость прочих хитов ниже более чем в два раза: 80, 70, 60тыс... Это говорит о чем-то?

Но дело не в этом. И даже не в появлении таких мудрых статей.

Или вот прочтите эту маленькую заметочку. Свет и Опора промышленности нашей державы, Фундамент и Стандарт большинства бухгалтерий страны "1C-Предприятие" официально выпустил версию 8.1 под Linux.

Мировая цивилизация побеждает мировую жадину. Поздравим себя, товарищи, революция свершилась, наши дети будут жить при информационном коммунизме. Потерпим немного. Будущее у тех, кто уже сегодня благоразумно сел и пишет под Linux.

Оригинальная статтья http://lleo.aha.ru/dnevnik/2007/06/03.html

Sunday, June 10, 2007

Семантически Ориентированное Программирование

Семантически Ориентированное Программирование

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


Это начало конца программированию как профессии?
http://www.symade.org http://www.symade.com

Установка Gentoo(как узнать свои параметры компиляции)


#!/bin/sh

# Author: pixelbeat

#This script is Linux specific
#It should work on any gcc >= 2.95 at least

#these apply to any arch (just here for reference)
unsafe_math_opts="-ffast-math -fno-math-errno -funsafe-math-optimizations -fno-trapping-math"

gcc_version=`gcc -dumpversion | sed 's/\([0-9]\{1,\}\.[0-9]\{1,\}\)\.*\([0-9]\{1,\}\)\{0,1\}/\1\2/'`

IFS=":"
while read name value; do
    unset IFS
    name=`echo $name`
    value=`echo $value`
    IFS=":"
    if [ "$name" == "vendor_id" ]; then
        vendor_id="$value"
    elif [ "$name" == "cpu family" ]; then
        cpu_family="$value"
    elif [ "$name" == "model" ]; then
        cpu_model="$value"
    elif [ "$name" == "flags" ]; then
        flags="$value"
    fi
done < /proc/cpuinfo
unset IFS

if [ "$vendor_id" == "AuthenticAMD" ]; then
    if [ "$cpu_family" == "4" ]; then
        _CFLAGS="$_CFLAGS -march=i486"
    elif [ "$cpu_family" == "5" ]; then
        if [ "$cpu_model" -lt "4" ]; then
            _CFLAGS="$_CFLAGS -march=pentium"
        elif [ "$cpu_model" == "6" ] || [ "$cpu_model" == "7" ]; then
            _CFLAGS="$_CFLAGS -march=k6"
        elif [ "$cpu_model" == "8" ] || [ "$cpu_model" == "12" ]; then
            if expr $gcc_version '>=' 3.1 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=k6-2"
            else
                _CFLAGS="$_CFLAGS -march=k6"
            fi
        elif [ "$cpu_model" == "9" ] || [ "$cpu_model" == "13" ]; then
            if expr $gcc_version '>=' 3.1 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=k6-3"
            else
                _CFLAGS="$_CFLAGS -march=k6"
            fi
        fi
    elif [ "$cpu_family" == "6" ]; then
        if [ "$cpu_model" -le "3" ]; then
            if expr $gcc_version '>=' 3.0 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=athlon"
            else
                _CFLAGS="$_CFLAGS -march=k6"
            fi
        elif [ "$cpu_model" == "4" ]; then
            if expr $gcc_version '>=' 3.1 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=athlon-tbird"
            elif expr $gcc_version '>=' 3.0 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=athlon"
            else
                _CFLAGS="$_CFLAGS -march=k6"
            fi
        elif [ "$cpu_model" -ge "6" ]; then #athlon-{4,xp,mp}
            if expr $gcc_version '>=' 3.1 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=athlon-xp"
            elif expr $gcc_version '>=' 3.0 >/dev/null; then
                _CFLAGS="$_CFLAGS -march=athlon"
            else
                _CFLAGS="$_CFLAGS -march=k6"
            fi
        fi
    fi
else #everything else "GenuineIntel"
    if [ "$cpu_family" == "3" ]; then
        _CFLAGS="$_CFLAGS -march=i386"
    elif [ "$cpu_family" == "4" ]; then
        _CFLAGS="$_CFLAGS -march=i486"
    elif [ "$cpu_family" == "5" ] && expr $gcc_version '<' 3.1 >/dev/null; then
        _CFLAGS="$_CFLAGS -march=pentium"
    elif [ "$cpu_family" -ge "6" ] && expr $gcc_version '<' 3.1 >/dev/null; then
        _CFLAGS="$_CFLAGS -march=pentiumpro"
    elif [ "$cpu_family" == "5" ]; then
        if [ "$cpu_model" != "4" ]; then
            _CFLAGS="$_CFLAGS -march=pentium"
        else
            _CFLAGS="$_CFLAGS -march=pentium-mmx" #No overlap with other vendors
        fi
    elif [ "$cpu_family" == "6" ]; then
        if echo "$flags" | grep -vq cmov; then #gcc incorrectly assumes i686 always has cmov
            _CFLAGS="$_CFLAGS -march=pentium -mcpu=pentiumpro" #VIA CPUs exhibit this
        else
            if [ "$cpu_model" == "0" ] || [ "$cpu_model" == "1" ]; then
                _CFLAGS="$_CFLAGS -march=pentiumpro"
            elif [ "$cpu_model" -ge "3" ] && [ "$cpu_model" -le "6" ]; then #4=TM5600 at least
                _CFLAGS="$_CFLAGS -march=pentium2"
            elif [ "$cpu_model" -ge "7" ] && [ "$cpu_model" -le "11" ]; then #9 invalid
                _CFLAGS="$_CFLAGS -march=pentium3"
            fi
        fi
    elif [ "$cpu_family" == "15" ]; then
        _CFLAGS="$_CFLAGS -march=pentium4"
    fi
fi

if expr $gcc_version '>=' 3.1 >/dev/null; then
    if echo "$flags" | grep -q sse2; then
        _CFLAGS="$_CFLAGS -mfpmath=sse -msse2"
    elif echo "$flags" | grep -q sse; then
        _CFLAGS="$_CFLAGS -mfpmath=sse -msse"
    fi
    if echo "$flags" | grep -q mmx; then
        _CFLAGS="$_CFLAGS -mmmx"
    fi
    if echo "$flags" | grep -q 3dnow; then
        _CFLAGS="$_CFLAGS -m3dnow"
    fi
fi

echo "$_CFLAGS"

Оригинал есть еще статьи
http://simple.linux.by/etc/flag_gcc.html
http://www.paradicesoftware.com/specs/cpuid/index.htm
http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html

Производительность процессоров

Вот насобирал результаты, для сравнения
каждый процессор обрабатывал блок в 89.63 балла и заработал соответственно 89.63


1. AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ 12,004.47
2. Intel(R) Core(TM)2 CPU X6800 @ 2.93GHz 24,153.86
3. Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz 36,283.19
4. Dual Core AMD Opteron(tm) Processor 170 43,658.08
5. AMD Athlon(tm) 64 Processor 3500+ 45,160.20
6. AMD Athlon(tm) 64 Processor 3000+ 55,807.49
7. AMD Sempron(tm) 3000+ 56,371.89
8. Intel(R) Pentium(R) 4 CPU 2.40GHz 57,176.44
9. Intel(R) Celeron(R) CPU 2.80GHz 57,201.70
10. Intel(R) Pentium(R) 4 CPU 3.00GHz 74,568.48
11. Intel(R) Pentium(R) 4 CPU 3.00GHz 80,906.69


Синим цветом указано время просчетов (в секундах)
10800 секунд = 3 часа

Вот еще результаты, для сравнения
каждый процессор обрабатывал блок в 62,16 балла и заработал соответственно 62,16


1. Intel(R) Pentium(R) D CPU 3.20GHz 7,787.84
2. i386 MacBookPro2,2 8,328.38
3. i386 iMac5,1 8,601.05
4. AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ 8,616.59
5. Intel(R) Xeon(R) CPU 5130 @ 2.00GHz 11,689.83
6. AMD Sempron(tm) Processor 2600+ 13,607.23
7. Intel(R) Xeon(R) CPU 5148 @ 2.33GHz 14,041.65
8. AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ 15,144.33
9. Intel(R) Pentium(R) D CPU 3.00GHz 16,177.84
10. Intel(R) Pentium(R) M processor 2.13GHz 16,706.61
11. Intel(R) Pentium(R) 4 CPU 3.00GHz 17,443.53
12. Intel(R) Pentium(R) 4 CPU 3.40GHz 17,843.66
13. Genuine Intel(R) CPU T2300 @ 1.66GHz 18,332.09
14. Intel(R) Pentium(R) M processor 1.73GHz 18,641.56
15. Intel(R) Pentium(R) D CPU 3.00GHz 18,923.80
16. AMD Athlon(tm) 64 Processor 3200+ 19,831.06
17. AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ 20,687.23
18. AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ 21,229.44
19. Intel(R) Pentium(R) 4 CPU 2.80GHz 21,419.67
20. AMD Athlon(tm) 64 Processor 3200+ 22,201.19
21. Intel(R) Pentium(R) 4 CPU 2.80GHz 23,652.00
22. Intel(R) Pentium(R) 4 CPU 3.20GHz 25,506.53
23. Intel(R) Xeon(TM) CPU 3.40GHz 26,024.44
24. Intel(R) Xeon(TM) CPU 3.60GHz 26,295.11
25. Power Macintosh PowerMac7,3 26,405.90
26. Intel(R) Pentium(R) 4 CPU 2.80GHz 27,401.16
27. Intel(R) Pentium(R) 4 CPU 3.00GHz 27,511.42
28. Intel(R) Pentium(R) 4 CPU 2.80GHz 29,764.28
29. Intel(R) Pentium(R) 4 CPU 2.80GHz 31,410.08
30. AMD Athlon(tm) 64 Processor 2800+ 40,776.46
31. AMD Athlon(tm) XP 1500+ 43,165.70
32. Intel(R) Celeron(TM) CPU 1200MHz 50,360.18
33. x86 Family 6 Model 8 Stepping 6 996MHz 53,761.45
34. Intel(R) Pentium(R) 4 CPU 1.80GHz 58,774.83
35. Power Macintosh PowerMac3,1 101,670.75


Синим цветом указано время просчетов (в секундах)
10800 секунд = 3 часа

Информация взята с сайта