четвртак, 25 априла, 2024
Ослобађање

Неколико филозофских мисли о софтверу: Развој софтвера

Аутор: Дејан Маглов

Увод

Ма колико се човек, као врста, трудио да буде креативан, увек се то своди на опонашање природе. Човеков идеал је вештачки створити нешто што је природа одавно већ створила. У информатичком свету, идеал је креирати вештачку интелигенцију по узору на нас саме, односно наш мозак. Шездесетак година развоја информатике је довољан период да можемо да подвучемо неке прве црте и анализирамо развој из филозофске перспективе.

Креационизам или еволуција

Проучавајући природу, човек је развио две водеће теорије настанка и развоја живота (постанка), креационистичку и теорију еволуције. Креационистичка теорија је старија и заснована је на догми. Креационистичку теорију подржава већина водећих религија света без веће жеље за доказивањем исправности исте. Током историје човечанства је, чак, било опасно по живот доводити у питање постојање Створитеља живота (Бога). Створитељу није само додељена улога креатора живота, него се тврди да Створитељ управља копирањем, модификовањем, комбиновањем и уништавањем својих креација.

За разлику од креационистичке теорије, еволуционистичка теорија није баш јасно и недвосмислено објаснила сам почетак настанка живота (постоје теорије усмерене у том правцу). По еволуцији, даљи развој живота је препуштен стихији по неким јасним правилима.

Правила су:

  • Јединка има одређен век трајања
  • Јединке се саме размножавају (копирају)
  • Полно размножавање (комбиновање) омогућава модификовање оригинала
  • Најјаче и најприлагодљивије јединке опстају

Еволуцијска теорија није никад 100% негирала постојање Створитеља живота (можда под утицајем религије), али га је свела само на Креатора и некога ко је успоставио правила по којима се еволуција даље одвија без његове директне интервенције (једна од теорија).

Софтвер и теорије постанка

Просто је невероватно колико софтвер подсећа на живи организам.

Софтвер има:

  • свој животни век
  • има своје екосистеме (хардвер)
  • размножава се копирањем
  • може се комбиновати са другим софтвером (комбиновање и модификација)
  • може бити једноћелијски (у једној датотеци) или вишећелијски (користи више различитих библиотека)
  • може бити сложен организам са различитим функцијама (OS са апликативним софтвером)

Смрт софтвера настаје:

  • нестанком његовог екосистема (хардвера)
  • застаревањем
  • бива „поједен” од стране неког већег софтвера
  • изумире зато што постоји бољи софтвер за исту функцију

Ово су природни услови за „живот” софтвера. Власнички софтвер има још неколико услова који зависе од његовог власника.

Нисмо сигурни да ли је неко на овај начин размишљао о софтверу. У сваком случају, човек је крајем двадесетог века добио прилику да преко софтвера експериментално провери теорије постанка.

Креационизам

Креационистичку теорију проверава власнички софтвер. Закон о заштити интелектуалних права је створио услове да овај софтвер увек буде у власништву свог створитеља, тако да створитељ власничког софтвера поред креирања има моћ да контролише копирање, модификовање, комбиновање и смрт своје креације.

Власнички софтвер нема толико видљиве карактеристике „живог” организма. Он је само роба са својом тржишном вредношћу која је еквивалентна употребној вредности (сврси).

Карактеристике:

  • Сваки власнички софтвер је настао као потреба да задовољи неке потребе његовог створитеља (функционалне, материјалне, духовне, и друге потребе)
  • Његов живот је ограничен углавном на период док служи свом власнику
  • У току свог живота може бити контролисано копиран, модификован и комбинован
  • Понеки може у току свог живота и да се „одметне” у „дивљину” и помоћу пирата буде копиран независно од свог створитеља
  • Живот му престаје кад више не задовољава потребе свог власника
  • Ретки срећни власнички софтвери након свог комерцијалног живота буду пуштени у „дивљину” са бесплатном лиценцом да умру „природном” смрћу без могућности да се модификују и да продуже свој живот.

Са друге стране, ако се живот на Земљи посматра кроз призму креационизма, онда може да се постави филозофско питање да ли су и жива бића заиста жива, или се све одвија према неком Божијем плану без сопствене воље Божијих креација. Са тим у вези, онда и вечно питање сврхе постојања човека, добија на важности. Ако се човек одметне и престане да обавља функцију због које је креиран, да ли ће га Бог (Створитељ) укинути као нешто непотребно?

Постоји још један проблем везан за креационистички приступ софтверу. Човек није савршен и не може да игра улогу Бога. Да ли је неко чуо да је Бог укинуо неку своју креацију зато што је креирао неку савршенију, па због тога нема времена да одржава претходну верзију? Или, да је укинуо неку своју креацију зато што се оженио и има преча посла од одржавања своје креације?

Еволуција

У свету софтвера није могуће да он настане спонтано. Слободни софтвер такође има креатора као и власнички софтвер, међутим његов развој више личи на еволуцију независну од креатора.

Карактеристике:

  • Креатор слободног софтвера ствара производ са одређеном функцијом и успоставља правила даљег развоја. Након тога, слободан софтвер се пушта у „дивљину” (није обавезно, али без пуштања софтвера у дивљину, он нема све карактеристике слободног софтвера)
  • На даљи развој слободног софтвера креатор може да има пресудни утицај, али и не мора
  • Софтвер у овом случају „живи” свој слободан живот по принципу – најјачи и најприлагодљивији опстају
  • Најјачи пројекти окупљају заједнице који се даље брину о развоју
  • Неки еволуирају у потпуно непредвидљивим правцима из угла креатора

Када на овакав начин посматрамо софтвер, он није само слободан за копирање, модификовање и комбиновање, него испада да је суштински слободан по принципу „живе” јединке.

Овај модел развоја софтвера се показао као врло ефикасан. Иако је настао знатно касније него модел власничког софтвера, и поред свих препрека је по развоју стигао власнички софтвер, а у неким елементима и престигао.

Мане и предности власничког и слободног софтвера

Власнички софтвер је за сада економски јачи. Из ове тврдње произилазе све предности овог модела. Новац овом моделу обезбеђује тимове најбољих, најквалитетнијих креативаца са зацртаним роковима, што омогућава да мањи тимови обављају више посла у краће време. По потреби тај новац прилагођава и екосистеме (читајте хардвер) по мери креираног софтвера. Новац омогућава бољи маркетинг за овај софтвер и боље, прецизније скенирање потреба корисника софтвера.

Слободни софтвер се са друге стране помало понаша као дивља звер, која уколико није строго под контролом, може да се развија у непредвиђеним правцима. Овакво поређење нисте вероватно нигде могли да чујете. Ако сте дугогодишњи корисник слободног софтвера, сетићете се бар неколико примера да сте налетели на идеалан софтвер за вас, који је временом са својим развојем мало „подивљао” и постао неприступачан за вас.

Слободни софтвер је сада у дивљини и мале су шансе да ће га више ико зауставити у његовом развоју. Док је у почетку требало креирати прве слободне софтвере, сад је веће умеће похватати их у дивљини и „припитомити” их да обављају задате радње. Ипак, не треба паничити – сви најбољи пројекти слободног софтвера окупљају око себе FLOSS заједнице, које стриктно воде рачуна о свом пројекту и не дозвољавају да он „подивља”. FLOSS заједнице јесу прави кротитељи дивљих звери и воде рачуна не само о томе да он не „подивља”, него и да дугорочно ради посао за своје кориснике на најбољи и предвидив начин. Управо FLOSS заједнице су један од кључних фактора успеха слободног софтвера.

Уместо закључка

Шта је поента ове причице? Превасходно упоређење тренутног стања и односа између власничког и слободног софтвера кроз теорије које су свима јасне или бар мислимо да су нам јасне. Циљ није био да се оцрни једна или друга страна и један концепт постави као једино исправан. Ови концепти ће још дуго коегзистирати без могућности да један коначно победи. Вероватније је да ће у будућности доћи до приближавања ових концепата.

Са растом употребљивости слободног софтвера повећаваће се и интересовање за њега. То ће довести до дела комерцијализације слободног софтвера, али не у смислу да ће се софтвер продавати, него ће се продавати одржавање и подршка јер увек ће бити корисника који ће радије да плате одржавање него да то сами уче. Са друге стране, падаће цене власничког софтвера, што ће вероватно довести до ослобађања дела тог софтвера и препуштања FLOSS заједници развој и одржавање мање битних делова власничког софтвера са циљем уштеде и концентрације власничких развојних тимова на, за њих, битне делове. Ово су наше претпоставке на основу већ уочених тенденција. Да ли ће то баш тако бити? Видећемо у будућности.