Շատ անհատներ անհանգստանում են տեսախցիկի բնութագրերով, էկրանի չափսերով և պահեստավորման հզորությամբ՝ նոր սմարթֆոն գնելիս: Այս գրավիչ սպառողական ապրանքների ամենակարևոր տարրերից մեկը օպերացիոն համակարգն է, որը հեշտ է անտեսել:
Google-ի Android-ը աշխարհի ամենահայտնի բջջային օպերացիոն համակարգն է: Այն հայտնաբերվել է ամբողջ աշխարհում սմարթֆոնների հեռախոսների ավելի քան 86 տոկոսում: Առավել ապշեցուցիչն այն է, որ Android-ը հիմնված է բաց կոդով Linux օպերացիոն համակարգի վրա: Դա նշանակում է, որ յուրաքանչյուրը կարող է կարդալ, փոխել և, ամենակարևորը, կիսվել սմարթֆոնների մեծամասնության հիմքում ընկած կոդը: Համագործակցությունը հնարավոր է դառնում այս բացության շնորհիվ:
Ի տարբերություն Microsoft Windows-ի, օրինակ, որը ստեղծվել և սպասարկվել է մեկ ֆիրմայի կողմից: Ավելի քան 15000 ծրագրավորողներ ամբողջ աշխարհից նպաստում են Linux-ի զարգացմանն ու պահպանմանը: Այս ծրագրավորողները կարող են առաջարկել ստեղծել նոր բան, որն ազատորեն տարածվում է:
Ի՞նչ է բաց աղբյուրը:
Ծրագրաշարի մի կտոր, որի սկզբնական սկզբնական կոդը հասանելի է հանրությանը և կարող է համօգտագործվել և թարմացվել, ըստ անհրաժեշտության, օգտագործողի կողմից: Բաց կոդով ծրագրակազմը այն ծրագրային ապահովումն է, որի սկզբնական կոդը կամ բազային կոդը սովորաբար հասանելի է յուրաքանչյուրի համար՝ փոփոխելու կամ բարելավելու համար՝ բազմակի օգտագործման և մատչելիության համար:
Ծրագրաշարի մի մասը կարող է շահարկվել և փոփոխվել ցանկացածի կողմից, որպեսզի ծրագիրը կամ հավելվածը ճիշտ աշխատեն: Ծրագրավորողները, ովքեր մուտք ունեն համակարգչային ծրագրի սկզբնական կոդը, կարող են բարելավել այն՝ ավելացնելով գործառույթներ կամ ուղղելով բաժինները, որոնք միշտ չէ, որ ճիշտ են գործում:
Բաց կոդով ծրագրակազմը ստեղծվում է ապակենտրոնացված և համագործակցային ձևով՝ հենվելով գործընկերների վերանայման և համայնքի արդյունքների վրա: Քանի որ այն արտադրվում է համայնքների, այլ ոչ թե մեկ հեղինակի կամ կորպորացիայի կողմից, բաց կոդով ծրագրակազմը սովորաբար ավելի քիչ թանկ է, ավելի հարմարվող և ունի ավելի երկար կյանք, քան սեփական ծրագրակազմը:
Ամեն տարի բաց կոդերը դառնում է ավելի տարածված՝ հայտնվելով ամենուր՝ պետական քաղաքներից մինչև հաստատություններ: Այն նաև ավելի տարածված է դառնում բոլոր չափերի բիզնեսների շրջանում: Իրականում, որոշ ձեռնարկություններ բաց կոդով աղբյուրները տեղափոխում են հաջորդ մակարդակ՝ ֆինանսապես ֆինանսավորելով նախագծերը կամ համագործակցելով ծրագրավորողների հետ:
Համագործակցությունը խթանում է նորարարությունը անվճար և բաց կոդով: Տեխնոլոգիաներից շատերը, որոնք մենք այսօր համարում ենք որպես տրված, չէին զարգանա կամ պաշտպանված կլինեին արտոնագրային օրենքով, եթե դա չլիներ:
Պատմությունը
Վաղ ինտերնետային տեխնոլոգիաների և կապի ցանցերի արձանագրությունների վրա աշխատող հետազոտողները օգտվեցին 1950-ական և 1960-ական թվականներին բաց և համագործակցային հետազոտական միջավայրից: Գործընկերների վերանայումը և բաց մեկնաբանությունները խթանվեցին Advanced Research Projects Agency Network-ի (ARPANET) կողմից, որը, ի վերջո, դարձավ ժամանակակից ինտերնետի հիմնաքարը:
Օգտատերերի յուրաքանչյուր խմբի սկզբնական կոդը համօգտագործվել և բարելավվել է: Ֆորումներն օգնեցին քննարկումների հեշտացմանը, ինչպես նաև բաց հաղորդակցության և համագործակցության նորմերի մշակմանը: Համագործակցությունը, գործընկերների վերանայումը, հաղորդակցությունը և բաց լինելը հայտնվեցին համացանցի ակունքներում, երբ այն գործարկվեց 1990-ականների սկզբին:
Աղբյուրի կոդը հանրությանը հասանելի դարձնելու գաղափարը ծագել է 1983 թվականին MIT-ի ծրագրավորող Ռիչարդ Սթոլմանի կողմից ոչ պաշտոնական արշավից: հասկանալ, սովորել և կատարելագործել այն:
Սթոլմանը սկսեց ազատ ծրագրային ապահովում տարածել իր լիցենզիայի ներքո՝ GNU Public License: Ծրագրային ապահովման մշակման շուրջ այս նոր տեխնիկան և վերաբերմունքը լայն տարածում գտավ՝ ի վերջո հանգեցնելով բաց կոդով նախաձեռնության հիմնադրմանը 1998 թվականին:
Բաց կոդով ընդդեմ փակ ծրագրակազմի
Բաց կոդով ծրագրակազմ
- Մատչելի աղբյուրի ծրագրակազմը համակարգչային ծրագիր է, որի սկզբնական կոդը բաց է հանրության համար՝ թույլ տալով բոլորին դիտել և օգտագործել այն:
- Կոդը կարող է փոփոխվել այլ անհատների և կազմակերպությունների կողմից, սկզբնական կոդը հասանելի է բոլորին:
- Բաց կոդով ծրագրային ապահովման արժեքը բավականին ցածր է:
- Եթե ծրագիրը հայտնի է, ապա նախագծին կարող են նշանակվել զգալի թվով ծրագրավորողներ:
- Օգտատերերի համար ավելի քիչ սահմանափակումներ կան ծրագրային ապահովման օգտագործման և հարմարեցման առումով:
- Ցանկացած մեքենա կարող է կազմաձևվել բաց ծրագրակազմ գործարկելու համար:
- Firefox, Android Google-ի կողմիցՕրինակներ են Linux օպերացիոն համակարգը, Android, Thunderbird, MySQL, Mailman, Moodle, Perl, PHP և Python:
Փակ կոդով ծրագրակազմ
- Փակ կոդով ծրագրակազմը համակարգչային ծրագրային ապահովում է՝ փակ կոդով, ինչը նշանակում է, որ հանրությունը մուտք չունի սկզբնական կոդը:
- Միայն այն անձը կամ խումբը, ով արտադրել է ծրագրակազմը, կարող է փոխել կոդը:
- Փակ կոդով ծրագրաշարի սկզբնական կոդը պաշտպանված է:
- Օգտատերերի վրա դրված են մի քանի սահմանափակումներ՝ կախված ծրագրաշարի օգտագործման և հարմարեցվածությունից:
- Ծրագրային ապահովման ընկերությունը/կազմակերպությունը վարձում է ծրագրավորողների՝ ծրագրային ապահովումը բարելավելու համար:
- Փակ կոդով ծրագրակազմը թանկ է:
- Ցանկացած համակարգչի վրա տեղադրվելուց առաջ փակ ծրագրաշարը պետք է վավեր լիցենզիա ունենա:
- Փակ կոդով ծրագրաշարում սխալի համար տեղ չկա:
- Օրինակներ են Skype, Google Earth, Java, Adobe Flash, Virtual Box, Adobe Reader, Microsoft Office, Microsoft Windows, WinRAR, mac OS, Adobe Flash Player:
Առավելությունները
Բաց կոդով ծածկագիրը օգնել է և՛ ձգտող ծրագրավորողներին, և՛ խոշոր կորպորացիաներին իրենց տեխնոլոգիական փորձառության մեջ: Դա անվերջ կրթական է, հատկապես հաշվի առնելով կոդավորման աճող հետևանքները: Գաղափարների այս անընդհատ ընդլայնվող ցանցը միայն սկիզբն է, թե ինչպես կարող է նման ծրագրաշարը օգնել ձեր կորպորացիային:
Բյուջեի երկարաձգումը կարող է ամենօրյա պայքար լինել ստարտափների համար: Բաց կոդով նախագծերի առկայությունը թույլ է տալիս սպառողներին ընդունել նոր տեխնոլոգիաներ՝ առանց անդամավճարներ վճարելու կամ երկարաժամկետ պայմանագրեր կնքելու: Բացի ցածր (կամ գոյություն չունեցող) արժեքից, բաց կոդով գրադարանները թիմերին հնարավորություն են տալիս առաջնահերթ սկսել ՏՏ ենթակառուցվածքի կառուցման կամ նոր հավելվածի մշակման հարցում:
Այս աշխատանքի մեծ մասն արդեն արվել է ձեզ համար՝ շնորհիվ բաց կոդով: Սա ծրագրավորողների ժամանակ է ազատում օպտիմալացման և հարմարեցման համար: Միշտ կլինեն իրավիճակներ, երբ կազմակերպությունները ցանկանում են սկսել զրոյից՝ զարգացումով, բայց նույնիսկ աշխարհի մեծագույն ապրանքանիշերը գիտակցում են բաց կոդով տեխնոլոգիայի կիրառմամբ խնայված ժամանակն ու գումարը: Բաց կոդով բաղադրիչները, անկախ այն բանից, թե դրանք օգտագործվում են որպես բարդ հավելվածների սկզբնական փաթեթներ, թե փոքր գլուխկոտրուկի կտորներ, որոնք օգնում են ավարտել նախագիծը, կարող են օգտակար այլընտրանք լինել ինչպես անհատական մշակողների, այնպես էլ ձեռնարկությունների թիմերի համար:
Առցանց համայնքները, ինչպիսին է GitHub-ը, ցուցադրում են բաց կոդով ծրագրային ապահովման համագործակցության ներուժը՝ տրամադրելով տուն միլիոնավոր ծրագրավորողների և ընկերությունների՝ հյուրընկալելու, գնահատելու և բաց կոդով հարթակներն օգտագործելու համար: Microsoft-ը 7.5 թվականին պլատֆորմի համար վճարել է 2018 միլիարդ դոլար: Սա, հավանաբար, մինչ օրս ամենատեսանելի օրինակն է այն բանի, թե որքան հայտնի է բաց կոդով տեխնոլոգիան, և որ կայացած ՏՏ հսկաները ներդրումներ են կատարում այս համայնքի ապագայում:
Տարբեր պատճառներով, բաց կոդով ծրագրային ապահովման ռազմավարության մշակումն ու իրականացումը դարձել է կարևոր: Առանձին-առանձին և միասին, բաց կոդով ծրագրային ապահովման մշակողները փնտրում են տեխնիկական մարտահրավերների լավագույն պատասխանները, ինչը հանգեցնում է հուսալի, անվտանգ և անվճար ծրագրակազմի: Ծրագիրը ժամանակի ընթացքում բարելավվում է նրանց անխոնջ աշխատանքի արդյունքում։
Գործընթացին աջակցում են բազմաթիվ հիմնադրամներ, ներառյալ Linux Foundation-ը, որն աջակցում է բաց կոդով մի քանի տեխնոլոգիական տիրույթներում, Apache Software Foundation-ը և Eclipse Foundation-ը:
Նրանք ստանդարտներ են սահմանում՝ համագործակցելով թվային հսկաների հետ, ինչպիսիք են AWS-ը, Facebook-ը, Google-ը, IBM-ը, Microsoft-ը, Netflix-ը և SAP-ը, ինչպես նաև ապարատային արտադրողները, ինչպիսիք են Cisco-ն, Intel-ը և այլն: Tesla. Նրանք նաև կառուցում են վաճառողներից անկախ տներ նախագծերի համար, առաջարկում են ֆինանսական աջակցություն ենթակառուցվածքների համար, օգնում են մարքեթինգին և ընտրում են հանձնաժողովներ՝ խելացի նախագծերի ընտրություն կատարելու համար:
Ամփոփելու համար, բաց կոդով որոշ հիմնական առավելություններից են.
- Սարքավորման ծախսերն ավելի ցածր են։
- Բացառիկ որակի ծրագրակազմ։
- Համաշխարհային աջակցություն մշակողների կողմից:
- Ճկունություն և ազատություն.
- Լիցենզիաների կառավարումը պարզ է.
- Նախագծերի համակենտրոնացում և մասշտաբավորում:
Ռիսկերը
Ինչպես նշվեց նախորդ բաժնում, բաց կոդով կարող են լինել մի քանի առավելություններ: Այժմ մենք կանդրադառնանք դրա հետ կապված հնարավոր թերություններին կամ վտանգներին, որոնք բաժանվում են հետևյալ երեք կատեգորիաների.
- Անվտանգության ռիսկ
- Որակի ռիսկ
- Համապատասխանության ռիսկ
Բաց կոդով բաղադրիչները կարելի է գտնել մի շարք ինտերնետային պահոցներում, և մշակողները միջոցներ չունեն իմանալու, թե որքան լավ կամ անվտանգ են դրանք: Կազմակերպությունները, որոնք ներդրումներ չեն անում իրենց օգտագործումը վերահսկելու համար, վտանգի տակ են դնում իրենց, և նրանք կարող են ավելի ուշ վճարել դրա գինը, երբ սխալների ուղղումը շատ ավելի թանկ է դառնում:
Անվտանգության ռիսկ
Հաքերները կարող են մեծ գումար վաստակել՝ օգտվելով բաց կոդով անվտանգության թերություններից: Սա հաքերներին տալիս է ողջ տեղեկատվությունը, որն անհրաժեշտ է հարձակում սկսելու համար: Իրավիճակն ավելի վատթարացնելու համար, քանի որ այն շատ լայնորեն օգտագործվում է, հայտնի բաղադրիչի խոցելիությունը հաքերներին առաջարկում է մեծ թվով հավանական զոհեր: Սա նշանակում է, որ հաքերները ուշադիր հետևում են համայնքին և արագորեն օգտագործում են հայտնի բաց կոդով բաղադրիչների անվտանգության հայտնի թերությունները:
Ծրագրային ապահովման ձեռնարկությունները խոցելի են վնասակար հարձակումների համար, եթե չեն վերահսկում իրենց բաց կոդով օգտագործումը և անտեղյակ են իրենց կոդի խոցելի գրադարաններից:
Որակի ռիսկ
Մինչդեռ ընկերությունը շատ ժամանակ և գումար է ծախսում ապահովելու համար իր սեփական ծածկագրի որակը, թվում է, որ մշակման շատ թիմեր թերագնահատում կամ անտեսում են բաց կոդով բաղադրիչների որակը: Իհարկե, մենք բոլորս ցանկանում ենք, որ մեր վերջնական արտադրանքը լինի հետևողական և կայուն ճնշման ներքո:
Պատճառներից մեկը, թե ինչու դժվար է ստուգել, որ բաց կոդով ծրագրային բաղադրիչը չի վտանգի ձեր արտադրանքի կարգավիճակը, այն է, որ դրա որակը գնահատելու համար համաձայնեցված չափանիշներ չկան, և բաց կոդով ծրագրաշարի համագործակցային բնույթը կարող է դժվարացնել չափել.
Համապատասխանության ռիսկ
Բաց կոդով ծրագրային ապահովման յուրաքանչյուր բաղադրիչ, ինչպես նաև դրա կախվածությունը լիցենզավորված է: Երբ մենք դրանք օգտագործում ենք մեր նախագծում, մենք պարտավորվում ենք պահպանել մի շարք պայմաններ և պայմաններ, որոնց պետք է հետևենք: Նրանց համար, ովքեր ծանոթ չեն բաց կոդով լիցենզավորման բարդությանը, սա կարող է մղձավանջ լինել:
Բաց կոդով որոշ նախագծեր չունեն որևէ տեսակի աղբյուրի լիցենզիա, ինչը ենթադրում է, որ հեղինակային իրավունքի կանոնները կիրառվում են լռելյայնորեն: Քանի որ կան շատ լիցենզիաներ, բոլոր իրավական պահանջները բավարարելը բավականին դժվար է: Գիտեի՞ք, որ կան բաց կոդով լիցենզիաների ավելի քան 200 տարբեր տեսակներ, որոնցից յուրաքանչյուրն ունի յուրահատուկ, մասնագիտացված և հաճախ շփոթեցնող պայմաններ և պայմաններ:
Բաց աղբյուրների ապագան
Նորարարության նոր ալիքները կխթանվեն ծրագրային ապահովման միջոցով, որը համատեղ ջանքերի արդյունք է ոչ միայն մեկ բիզնեսի, այլ ամբողջ միջավայրի բարելավմանն ուղղված համայնքի կողմից:
Ընկերությունները ազատում են իրենց ծրագրավորողներին մրցակցելու թվային ասպարեզում, նպատակ ունենալով լինել առաջինը, ով ստեղծելու է անընդհատ աճող նորարարություն տեխնոլոգիական արդյունաբերության մեջ, քանի որ այն շարունակում է ծանոթանալ ձեռնարկությունների շրջանում:
Մշակողները կարող են արդյունավետորեն լուծել փորձարկման և իրականացման դժվարությունները՝ օգտագործելով բաց կոդով համայնքը և սովորելով լավագույն մշակողներից, հատկապես նոր տեխնոլոգիաների հեղեղի հետ, ինչպիսին է AI-ն, Machine Learningև ռոբոտաշինության առաջխաղացումները:
Երբ աշխատակիցներն օգտվում են դինամիկ, լուծումների վրա հիմնված համայնքից, մենք տեսնում ենք, որ բիզնեսը շահում է: Ինքնավար մեքենաներից մինչև բժշկական ռոբոտներ, խելացի քաղաքներ մինչև տվյալների կենտրոններ, մենք չենք ցանկանում այս մարտահրավերների պատասխանները վստահել փոքր թվով ընկերությունների: Փոխարենը, մենք պետք է ապավինենք բաց կոդով և մի շարք փայլուն գյուտարարների՝ առավելագույն արդյունքներ ստանալու համար:
Եզրափակում
Բաց կոդով շարժումը պատասխանատու է վերջին մի քանի տասնամյակների ընթացքում տեխնոլոգիայի արագ առաջընթացի համար: Թեև բաց աղբյուրը որոշակի ռիսկեր է պարունակում, կան բազմաթիվ առավելություններ և հեռանկարային ուղիներ: Աջակցողների մեծ համայնքը, ինչպես սկսել ուղեցույցները, սովորել՝ ուսումնասիրելով այլ մարդկանց կոդը, և այլ ինժեներների հետ շփվելու փորձ ձեռք բերելը մի քանի հիանալի առավելություններ են, որոնք դուք ստանում եք բաց կոդով ծրագրաշարից:
Եթե դուք նույնպես ցանկանում եք մասնակցել բաց կոդով նախագծին, նախ գտեք մեկը, որը հիացնում է ձեզ, այնուհետև որոնեք GitHub-ում պիտակ, որտեղ գրված է «լավ առաջին թողարկում» կամ նման բան: Լավ առաջին թողարկում նախագիծ է, որը կազմակերպում է հեշտ ընտրություն հանրաճանաչ նախագծերից ծրագրավորողների համար, ովքեր նախկինում երբևէ ներդրում չեն ունեցել:
Թողնել գրառում