6. Кратка история на софтуера

6.1. История на комерсиалните лицензи

В началото когато компютрите са били достъпни само за изследователски центрове или много големи и богати компании, софтуерът се е разпространявал свободно. В началото на 80-те почти всичкия софтуер става платен и лицензиран. По това време лицензът е разрешавал ползването на софтуера само на един компютър, което е логично. С развитието на софтуера лицензите за сървърен софтуер започват да се калкулират на базата на броя процесори, които има компютъра, на който ще го инсталирате или колко потребителя ще се включват към този сървър.

Отначало сървърите са били с доста скромни възможности и ако потребителите искат да изградят голяма система, трябва да закупят, примерно, десет сървъра, което означава и десет лиценза за софтуера, който ще работи на тях. С развитието на хардуера, компютрите са ставали по-мощни. И вместо да купуват десет компютъра, потребителите започнали да купуват, примерно, два компютъра, но с четири процесора всеки. По този начин се е постигала същата изчислителна мощ, но се е спестявало пари от лицензи. Защото във втория случай трябва да закупите само два лиценза. Естествено, производители на софтуер се усетили, че губят и обявяват лицензиране на базата на броя на процесорите (или изчислителната мощ на компютъра). В момента изчислителната мощ на компютрите е нараснала неимоверно много спрямо последните 5 год. Затова сега сървърният софтуер се продава на базата на броя потребители, които могат да се включват към него.

Всички тези неща остават скрити за обикновените потребители, понеже те ползват само персонални компютри и софтуер за тях. Но и те са засегнати от промени в лицензионната политика на Майкрософт. Всички знаят, че Майкрософт обявиха, че вече няма да продават софтуер, а ще го отдават под наем за срок от три години. Това означа, че на всеки три години, потребителите трябва да закупуват нов лиценз, независимо дали искат или не искат да се обновяват.

Много интересен е въпросът Малко ли са или са много три години в сферата на ИТ? От една страна, три години са много време, защото на всеки шест месеца се появява нещо ново. От друга страна, в момента има работещи системи, които са правени през 80-те и работят успешно над 20 год.

За да придобием по-точна представа много или малко са три години в софтуерната индустрия, нека да разгледаме случая с програмата, която разпространява Данъчната администрация в България. Става въпрос за добре известната програма за ДДС, която се разпространява безплатно. Тя е написана на Clipper. Clipper е компилатор на езика и системата за управление на бази от данни dBase (СУБД dBase), която от своя страна е продукт на компанията Аштън-Тейт (Ashton-Tate). Аштън-Тейт е една от най-известните и големи компании за производство на софтуер в началото на 80-те. Днес Аштън-Тейт не съществува. Компанията е на път да фалира в началото на 90-те, когато Борланд (Borland) я купува през 1991 год. на безценица. Clipper се разработва от Компютър Асоциейшън (Computer Association - съкратено CA). Clipper има две версии широко използвани в България - Clipper'87 и следващата, подобрена версия Clipper'92. Clipper повече не се поддържа от Компютър Асоциейшън. Поддръжката му е прехвърлена на друга компания. На уеб сайта на Компютър Асоциейшън много трудно може да се намери информация за Clipper.

Както виждате в ДА ползват технология от преди 20 год., като последната версия на продукта е излязла преди 12 год. В този случай, ако трябваше да се плащат лицензни такси, то трябваше да се платят поне четири пъти (4 * 3 = 12).

6.2. История на Майкрософт

В 1981 год. компанията АйБиЕм (IBM) създава персоналния компютър (ПК). По това време фирмата Seattle Computer Products разработва QDOS 0.10 (Quick and Dirty Operating System). Майкрософт откупува правата, за да продава продукта на АйБиЕм. Така се ражда ДОС (Дискова операционна система). ДОС има няколко реализации: на Майкрософт - MS DOS; на АйБиЕм - PC DOS; на Диджитал Ресърч (Digital Research) - DR DOS и още няколко др. Може да намерите кратка история на ДОС тук.

Майкрософт започва разработката на графична среда, която в последствие прераства в операционната система Уиндоус. Уиндоус версии 3.0, 3.10, 3.11 имат добър успех и се приемат добре от потребителите. Големият бум идва с разработката на Уиндоус 95. От тук нататък успехът на Майкрософт е гарантиран и на практика те успяха да монополизират пазара на ОС за персонални компютри. Разбира се, това доведе и до установяване на монопол върху по-апетитните парчета от пазара на приложни програми за Уиндоус. Може да намерите кратка история на Уиндоус тук.

Как така от почти никому неизвестна компания, Майкрософт се превърнаха в световен лидер в производството на софтуер за персонални компютри? Наистина ли са толкова добри, че разбиха конкуренцията или са родени под щастлива звезда? Или може би използват твърде много нелоялна конкуренция?

Отговорът на горните въпроси е По малко от всичко. Трябва да се отдаде дължимото на Майкрософт, че започват да разработват и налагат графична операционна система, нещо необикновено за онова време. Всъщност, графичният потребителски интерфейс (ГПИ) не е разработка на Майкрософт. Компанията, която първа разработва идеята за графичния интерфейс и посочващото устройство тип мишка, е Ксерокс (Xerox). Но по същото време Ксерокс са заети да се борят с конкуренцията от страна на японските производители на електроника и изпускат шанса. От него се възползват Ейпъл и Майкрософт. Може да намерите кратка история на ГПИ тук.

В началото има различни версии на ДОС, от различни производители. Майкрософт разработват графичната си среда, която работи на базата ДОС. Има доказателства, че Майкрософт са използвали нелоялни практики, за борба с конкуренцията. Уиндоус 3.10 е отказвал да тръгне, ако не е стартиран на ДОС, произведен от Майкрософт. Както и да е, това едва ли е оказало голямо значение на развитието на Майкрософт и Уиндоус, поради факта, че е имало свободна пазарна ниша за графична операционна система. След успехът на Уиндоус 3.10, идва тоталният успех на Уиндоус 95. От тук нататък, мисля, че всички знаят историята на Майкрософт и няма смисъл да бъде преразказвана.

Фактически Майкрософт използват факторите натрупване и повторно използване, които разгледахме в предната глава. Майкрософт успяха да натрупат голямо количество софтуер, което ги изстреля на върха. Забележете, че те не само акумулираха софтуер, но и го контролираха. Те контролираха операционната система, те контролираха средствата за разработка на софтуер за тази ОС. При тези условия конкуренцията се отказа сама.

За да стане по-ясно и да разбулим напълно тайната на Майкрософт, нека да разгледаме следния пример. Представете си, че Вие сте софтуерна компания, която иска да разработва офис пакет за Уиндоус. Нека да сравним какво Ви трябва на Вас и какво трябва на Майкрософт, за да може да разработите успешно програмата.

  1. Вие трябва да закупите Уиндоус - Майкрософт не трябва, понеже те са авторите на Уиндоус и го имат. Значи Майкрософт Ви водят едни гърди напред в надпреварата.

  2. Вие трябва да закупите средства за разработка на софтуер - Майкрософт не трябва, понеже те имат разработени средства за производство на софтуер, които са ги използвали за разработка на Уиндоус. Отново Майкрософт са едни гърди пред Вас.

  3. Вие трябва да разучите функциите на Уиндоус, за да може да програмирате за него. Майкрософт не трябва, защото те са автори на Уиндоус и имат знания и информация, която Вие нямате, а и няма начин как да я придобиете.

Както виждате битката е с предизвестен край. При така поставените първоначални параметри, за Майкрософт е детска игра да установят монопол върху по-апетитните пазари. Някои от по-любознателните читатели може би ще направят забележката, че Майкрософт не се опитват да монополизират, примерно, пазара на издателски системи. Да, Майкрософт не се се стремят да заемат всички пазарни ниши, защото може да ги обвинят в монополизъм. От друга страна, пазарът на издателски системи е много малък в сравнение с пазара на офис пакети. Издателските системи се правят по-трудно, имат по-малко на брой клиенти и от тук границата на печалба на този пазар е много малка в сравнение с границата на печалба при офис пакетите.

Между другото, имаше заведено дело за монополизъм към Майкрософт в САЩ и се чуха гласове за разделяне на компанията на две. Едната от тях да прави само операционната система, а другата да се занимава с производство на потребителски софтуер. По този начин втората компания ще бъде поставена на равни начала с останалите участници на софтуерния пазар. Но като се вземе факта, че Майкрософт е златната кокошка на американската икономика и много голяма част от приходите на компанията идват от продажби извън САЩ, то не е логично да се поставят пречки пред тези приходи на средства в американската икономика. По тази причина делото беше решено в полза на Майкрософт.

За Уиндоус 3.10 съществуваха различни офис пакети, от различни производители. През 1995 год. Майкрософт започнаха да продават Уиндоус 95. Уиндоус 95 имаше редица предимства пред предшественика си Уиндоус 3.10. Също така, графичните елементи бяха коренно променени. Уиндоус 95 има различен, по-добър външен вид. В частта, която не се вижда директно от потребителя, също има добавени нови функции. Два месеца след излизането на Уиндоус 95, Майкрософт пуска на пазара и офис пакета Майкрософт Офис 95. За тези кратки срокове конкуренцията още не може да разучи новите функции в Уиндоус 95. Очевидно е, че Майкрософт заедно с разработката на Уиндоус 95, са разработвали и Офис 95. Нещо, което конкуренцията няма как да направи.

Както споменахме по-рано ОС е специален вид софтуер, който управлява ресурсите на компютъра и се явява интерфейс между останалите програми и хардуера. Който контролира дадена ОС, може да контролира и пазара на останалите програми за тази ОС. Това е все едно да определяте правилата на играта. Ако Вие определяте правилата на играта, едва ли някой може да Ви бие на тази игра. Трябва да сте абсолютен некадърник, за да допуснете загуба.

След успехът на Уиндоус 95 и установяване на монопол за персоналните компютри, Майкрософт почти спря да се развива. Ако разгледате Уиндоус 95 и Офис 95, от една страна, и Уиндоус ЕксПи и Офис ЕксПи (XP), от друга страна, ще видите, че няма кой знае какви разлики между тях. Има добавени нови драйвери, поддръжка на нови устройства, нови файлови формати и пр. Но това са неща, които са необходими за развитието на продуктите. Последните почти 10 години няма качествен скок във функционалността или възможностите на Уиндоус и Майкрософт Офис.

Майкрософт се оправя много добре с продуктите, за които контролират средата, в която се изпълняват. Но нека да разгледаме пазара за сървъри, където Майкрософт нямат пълен контрол над ОС, на която да работят сървърите. Става въпрос за сървъра Апаче (Apache), който го разгледахме в предната глава. Майкрософт пуснаха подобен продукт - Интернет Информейшън Сървър (IIS), който с излизането си на пазара зае 30% дял. После успя да стигне до 35%. Това бе и най-високата стойност, която успя да достигне. От тогава насам, Интернет Информейшън Сървър губи по 0.5-1% на месец, за да достигне до 20% пазарен дял в момента. Статистика може да се вземете от сайта НетКрафт (Netcraft). Както се вижда в този случай, Майкрософт не могат да контролират правилата на играта изцяло и затова имат само 20% пазарен дял.

В заключение, трябва да отдадем заслуженото на Майкрософт за техния труд и успехи до 95 год. Но след това - последните 10 год. - след като станаха монополисти те се държат и развиват като монополисти. Също така, трябва да кажем, че която и компания да беше на мястото на Майкрософт, щеше да действа по същия начин. И накрая, голяма част от успехите на Майкрософт се базират на особеностите на софтуера, които разгледахме в Глава 5.3, „Натрупване и повторно използване“, а не изключителни умения и знания на компанията.

6.3. История на ФСС и Линукс

Ричард Столман започва работа в лабораторията за изкуствен интелект в Масачузетския технологичен институт през 1971 год. По това време софтуерът се с обменял свободно. В едно интервю Ричард Столман споделя Разменянето на софтуера не беше ограничено само до нашата общност. Тази практика е стара, колкото и компютрите. Както и разменянето на рецепти е старо, колкото и готвенето. Но при нас, в лабораторията, тази практика бе много силно изразена.

Ситуацията се променя коренно в началото на 80-те. Почти всичкия софтуер по това време става комерсиален. Общността от хакери в лабораторията се разпада. Повечето от тях са наети от компании за производство на софтуер. Тези, които са останали, трябва да подписват договори за неразпространение на софтуера, който ползват.

След като общността се разпада, Ричард Столман се изправя пред морален проблем. Той може да стане програмист в някоя компания и да печели добри пари. Но това означава да създава комерсиален софтуер, който той не харесва. Един дребен факт оказва влияние на решението на Столман да създаде Фондацията за Свободен софтуер. Драйверът за принтера, който ползват в лабораторията, няма много възможности и прави използването му кошмар. Ричард Столман има знанията да поправи този драйвер, но компанията производител отказва да предостави изходния код, а и новата версия се бави.

През януари 1984 год. Ричард Столман напуска МТИ и започва да пише свободен софтуер. Първата програма, която написва, е редактора Emacs. Интересът към Emacs нараства. Също така, други хора започват да се включват в проекта. По този начин се появява необходимостта от някакъв формален и легален начин да се управляват нещата. Така през 1985 год. се създава Фондацията за Свободен софтуер. Това е благотворителна организация, освободена от данъци, която се занимава с разработването на свободен софтуер.

До 1990 год. ФСС създава почти всичко необходимо за една операционна система като: редактор, компилатор на езика С/С++, команден интерпретатор, програми за е-поща и др. Но липсва най-важната част, а именно сърцето на една операционна система - ядрото.

В началото на 90-те един финландски студент на име Линус Торвалдс търси добра операционна система, която да замени ДОС, който той ползвал на персоналния си компютър. По това време изходния код на Юникс вече бил тайна и бил затворен. Холандският професор Ендрю Таненбаум (Andrew S. Tanenbaum) разработил малка операционна система - Миникс (MINIX), на която да може да обучава студентите си. Миникс била за персонални компютри с дизайн, заимстван от Юникс. Изходният код на Миникс бил достъпен и се разпространявал с учебника по ОС на професора. Линус Торвалдс използвал Миникс за база на ядрото, което смятал да създаде.

Мисля, че не е нужно да разказваме историята от 1991 год. до сега с подробности. Но на кратко, Линус пуска своето произведение в Интернет и моли за коментари, идеи и помощ. Ядрото е лицензирано под лиценза ДжиПиЕл. Линус посочва, че основната причина да избере този лиценз е факта, че компилатора на езика С, който ползва, е разработен от Фондацията за Свободен софтуер и той от своя страна се разпространява под ДжиПиЕл.

Повече подробности за историята на Линукс и Фондацията за Свободен софтуер, може да намерите тук и тук.