Шта је софтвер отвореног кода и зашто је то важно?

Геекови често описују програме као „отворени извор“ или „бесплатни софтвер“. Ако се питате шта тачно значе ови изрази и зашто су важни, читајте даље. (Не, „бесплатни софтвер“ не значи само да га можете бесплатно преузети.)

Да ли је програм отвореног кода или не, није битно само програмерима, на крају је важно и за кориснике. Лиценце за софтвер отвореног кода дају корисницима слободе које иначе не би имале.

Кредит за слику: Куинн Домбровски на Флицкр-у

Дефиниција отвореног кода

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

На пример, Убунту Линук је оперативни систем отвореног кода. Можете да преузмете Убунту, направите онолико копија колико желите и дате их пријатељима. Убунту можете инсталирати на неограничену количину рачунара. Можете да креирате ремиксе Убунту инсталационог диска и дистрибуирате их. Ако сте били посебно мотивисани, могли бисте да преузмете изворни код за програм у Убунту-у и да га измените, креирајући сопствену прилагођену верзију тог програма - или самог Убунту-а. Све лиценце отвореног кода вам омогућавају да то урадите, док лиценце затвореног кода постављају ограничења на вас.

Супротно од софтвера отвореног кода је софтвер затвореног кода који има лиценцу која ограничава кориснике и задржава изворни код од њих.

Фирефок, Цхроме, ОпенОффице, Линук и Андроид су неки популарни примери софтвера отвореног кода, док је Мицрософт Виндовс вероватно најпопуларнији софтвер затвореног кода.

Опен Соурце вс. Фрее Софтваре

Апликације отвореног кода су обично слободно доступне - иако програмер не спречава ништа да наплати копије софтвера ако дозволе редистрибуцију апликације и њеног изворног кода након тога.

Међутим, на то се не односи „бесплатни софтвер“. „Бесплатно“ у слободном софтверу значи „бесплатно као у слободи“, а не „бесплатно као у пиву“. Камп слободног софтвера, који воде Рицхард Сталлман и Фондација за слободни софтвер, фокусира се на етику и морал употребе софтвера који корисник може да контролише и модификује. Другим речима, камп слободног софтвера фокусира се на слободе корисника.

Рицхард Сталлман. Слика Фрипог на Флицкр-у.

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

На крају, и заговорници отвореног кода и слободног софтвера развијају исти тип софтвера, али се не слажу око размене порука.

Врсте лиценци

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

ГПЛ или ГНУ Генерал Публиц Лиценсе широко се користе у многим пројектима отвореног кода, као што је Линук. Поред свих горе наведених дефиниција отвореног кода, услови ГПЛ-а прецизирају да, ако неко модификује програм отвореног кода и дистрибуира изведено дело, мора дистрибуирати и изворни код за свој изведени рад. Другим речима, нико не може да узме код отвореног кода и од њега створи програм затвореног кода - своје промене мора да врати заједници. Мицрософт је из тог разлога назвао ГПЛ „вирусним“, јер присиљава програме који садрже ГПЛ код да објављују сопствени изворни код. Наравно, програмери програма могу да одлуче да не користе ГПЛ код ако је ово проблем.

Неке друге лиценце, попут БСД лиценце, постављају мања ограничења програмерима. Ако је програм лиценциран под БСД лиценцом, свако може да угради изворни код програма у други програм. Не морају да врате своје промене заједници. Неки људи виде да је ово још „бесплатније“ од ГПЛ лиценце, јер програмерима даје слободу да уграде код у своје затворене програме, док неки сматрају да је мање „бесплатан“ јер му одузимају права. од крајњих корисника изведеног програма.

Предности за кориснике

Ово нису све суве, неважне ствари које су важне само програмерима. Најочигледнија предност софтвера отвореног кода је што се може добити бесплатно. Пример горе наведеног Убунту Линук то јасно показује - за разлику од Виндовс-а, можете инсталирати или дистрибуирати онолико копија Убунту-а колико желите, без ограничења. Ово могу бити посебно корисни сервери - ако постављате сервер, на њега можете једноставно инсталирати Линук. ако постављате виртуелизовани кластер сервера, лако можете да дуплирате један Убунту сервер. Не морате да бринете око лиценцирања и колико инстанци Линука можете да покренете.

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

Када Линук радна површина попут Убунту уведе нови интерфејс за радну површину који неки корисници нису љубитељи, корисници имају више опција. На пример, када је објављен ГНОМЕ 3, многи корисници Линук радне површине били су подједнако искључени. Неки су пребацили код на стару верзију, ГНОМЕ 2, и модификовали га да би се покренуо на најновијим Линук дистрибуцијама - ово је МАТЕ. Неки су однели код у ГНОМЕ 3 и модификовали га да би функционисао онако како су више волели - ово је Цимет. Неки корисници су се само пребацили на постојеће алтернативне радне површине. Да је Виндовс био опен соурце, корисници оперативног система Виндовс 8 имали би више избора и флексибилности. Само погледајте ЦианогенМод, популарну дистрибуцију Андроид-а вођену заједницом која додаје функције и подршку за нове уређаје.

Софтвер отвореног кода такође омогућава програмерима да „стану на рамена дивова“ и створе свој властити софтвер. Погледајте Андроид и Цхроме ОС, који су оперативни системи изграђени на Линуку и другом софтверу отвореног кода. Језгро Аппле-овог ОС Кс - а самим тим и иОС - такође је изграђено на коду отвореног кода. Валве бесно ради на преношењу своје платформе за игре Стеам на Линук, јер би им то омогућило да креирају сопствени хардвер и контролишу своју судбину на начин који није могућ у Мицрософт-овом Виндовс-у.

Ово није исцрпан опис - о томе су написане читаве књиге - али сада бисте требали имати бољу представу о томе шта је софтвер отвореног кода заправо и зашто вам је користан.