ఈ వారం సెయింట్ పీటర్స్ బర్గ్ లో ఐటీ ఫెస్టివల్ జరగనుంది
ఓపెన్సోర్స్ అనే పదం యొక్క నిర్వచనంతో సరళమైన వాటితో ప్రారంభిద్దాం. సహజంగానే, ఓపెన్ సోర్స్ ప్రాజెక్ట్ అనేది ప్రాజెక్ట్ యొక్క సోర్స్ కోడ్ను యాక్సెస్ చేయడానికి అనుమతించే లైసెన్స్లలో ఒకదాన్ని కలిగి ఉన్న ప్రాజెక్ట్. అదనంగా, ఓపెన్ ప్రాజెక్ట్ అంటే థర్డ్-పార్టీ డెవలపర్లు మార్పులు చేయవచ్చు. అంటే, ఏదైనా కంపెనీ లేదా డెవలపర్ దాని ఉత్పత్తి కోడ్ను పాక్షికంగా లేదా పూర్తిగా ప్రచురించినట్లయితే, ఇది ఇంకా ఈ ఉత్పత్తిని ఓపెన్సోర్స్ ప్రాజెక్ట్గా చేయదు. చివరగా, ఏదైనా ప్రాజెక్ట్ కార్యాచరణ తప్పనిసరిగా ఒకరకమైన ఫలితానికి దారి తీస్తుంది మరియు ప్రాజెక్ట్ యొక్క నిష్కాపట్యత ఈ ఫలితం డెవలపర్లు మాత్రమే ఉపయోగించబడుతుందని సూచిస్తుంది.
ఓపెన్ లైసెన్సుల సమస్యలపై మేము టచ్ చేయము. ఇది చాలా పెద్దది మరియు సంక్లిష్టమైన అంశం, దీనికి లోతైన పరిశోధన అవసరం. ఈ అంశంపై చాలా మంచి వ్యాసాలు మరియు పదార్థాలు వ్రాయబడ్డాయి. కానీ నేను కాపీరైట్ రంగంలో నిపుణుడిని కానందున, లైసెన్స్ ప్రాజెక్ట్ యొక్క లక్ష్యాలను చేరుకోవాలి అని మాత్రమే చెబుతాను. ఉదాహరణకు, ఎంబాక్స్ కోసం GPL లైసెన్స్ కంటే BSD ఎంపిక ప్రమాదవశాత్తు కాదు.
ఓపెన్ సోర్స్ ప్రాజెక్ట్ మార్పులు చేయగల సామర్థ్యాన్ని అందించాలి మరియు ఓపెన్ సోర్స్ ప్రాజెక్ట్ అభివృద్ధిని ప్రభావితం చేయాలనే వాస్తవం ప్రాజెక్ట్ పంపిణీ చేయబడిందని సూచిస్తుంది. కేంద్రీకృత నిర్వహణతో కూడిన ప్రాజెక్ట్తో పోలిస్తే దానిని నిర్వహించడం, సమగ్రత మరియు పనితీరును నిర్వహించడం చాలా కష్టం. సహేతుకమైన ప్రశ్న తలెత్తుతుంది: ప్రాజెక్ట్లను ఎందుకు తెరవాలి? సమాధానం వాణిజ్య సాధ్యత ప్రాంతంలో ఉంది; నిర్దిష్ట తరగతి ప్రాజెక్ట్ల కోసం, ఈ విధానం యొక్క ప్రయోజనాలు ఖర్చులను అధిగమిస్తాయి. అంటే, ఇది అన్ని ప్రాజెక్టులకు తగినది కాదు మరియు బహిరంగ విధానం సాధారణంగా ఆమోదయోగ్యమైనది. ఉదాహరణకు, ఓపెన్ సూత్రం ఆధారంగా పవర్ ప్లాంట్ లేదా విమానం కోసం నియంత్రణ వ్యవస్థను అభివృద్ధి చేయడాన్ని ఊహించడం కష్టం. లేదు, వాస్తవానికి, అటువంటి వ్యవస్థలు ఓపెన్ ప్రాజెక్ట్ల ఆధారంగా మాడ్యూళ్ళను కలిగి ఉండాలి, ఎందుకంటే ఇది అనేక ప్రయోజనాలను అందిస్తుంది. కానీ తుది ఉత్పత్తికి ఎవరైనా బాధ్యత వహించాలి. సిస్టమ్ పూర్తిగా ఓపెన్ ప్రాజెక్ట్ల కోడ్పై ఆధారపడి ఉన్నప్పటికీ, డెవలపర్, అన్నింటినీ ఒకే సిస్టమ్గా ప్యాక్ చేసి, నిర్దిష్ట బిల్డ్లు మరియు సెట్టింగ్లను రూపొందించి, తప్పనిసరిగా దాన్ని మూసివేస్తాడు. కోడ్ పబ్లిక్గా అందుబాటులో ఉండవచ్చు.
ఓపెన్ సోర్స్ ప్రాజెక్ట్లను సృష్టించడం లేదా అందించడం ద్వారా ఈ సిస్టమ్లకు చాలా ప్రయోజనాలు ఉన్నాయి. నేను ఇప్పటికే చెప్పినట్లుగా, ఎండ్ సిస్టమ్ కోడ్ పబ్లిక్గా అందుబాటులో ఉండవచ్చు. ఎందుకు, ఎందుకంటే సిస్టమ్ను పరీక్షించడానికి ఎవరైనా ఒకే విమానాన్ని కలిగి ఉండే అవకాశం లేదని స్పష్టంగా తెలుస్తుంది. ఇది నిజం, కానీ కోడ్లోని కొన్ని విభాగాలను తనిఖీ చేయాలనుకునే వారు ఉండవచ్చు లేదా, ఉదాహరణకు, ఉపయోగిస్తున్న లైబ్రరీ సరిగ్గా కాన్ఫిగర్ చేయబడలేదని ఎవరైనా కనుగొనవచ్చు.
కంపెనీ సిస్టమ్లోని కొంత ప్రాథమిక భాగాన్ని ప్రత్యేక ప్రాజెక్ట్గా కేటాయిస్తే ఇంకా ఎక్కువ ప్రయోజనం కనిపిస్తుంది. ఉదాహరణకు, ఒక రకమైన డేటా మార్పిడి ప్రోటోకాల్కు మద్దతు ఇచ్చే లైబ్రరీ. ఈ సందర్భంలో, ప్రోటోకాల్ ఇచ్చిన సబ్జెక్ట్ ప్రాంతానికి నిర్దిష్టంగా ఉన్నప్పటికీ, మీరు సిస్టమ్ యొక్క ఈ భాగాన్ని నిర్వహించడానికి అయ్యే ఖర్చులను ఈ ప్రాంతంలోని ఇతర కంపెనీలతో పంచుకోవచ్చు. అదనంగా, పబ్లిక్ డొమైన్లో సిస్టమ్ యొక్క ఈ భాగాన్ని అధ్యయనం చేయగల నిపుణులకు దీన్ని సమర్థవంతంగా ఉపయోగించడానికి చాలా తక్కువ సమయం అవసరం. చివరగా, మూడవ పక్ష డెవలపర్లు ఉపయోగించే స్వతంత్ర సంస్థగా ఒక భాగాన్ని వేరు చేయడం ద్వారా ఈ భాగాన్ని మెరుగుపరచడానికి అనుమతిస్తుంది, ఎందుకంటే మేము సమర్థవంతమైన APIలను అందించాలి, డాక్యుమెంటేషన్ని సృష్టించాలి మరియు నేను పరీక్ష కవరేజీని మెరుగుపరచడం గురించి కూడా మాట్లాడటం లేదు.
ఓపెన్ సోర్స్ ప్రాజెక్ట్లను సృష్టించకుండానే ఒక కంపెనీ వాణిజ్య ప్రయోజనాలను పొందగలదు; కంపెనీలో ఉపయోగించే థర్డ్-పార్టీ ప్రాజెక్ట్లలో దాని నిపుణులు పాల్గొంటే సరిపోతుంది. అన్నింటికంటే, అన్ని ప్రయోజనాలు మిగిలి ఉన్నాయి: ఉద్యోగులకు ప్రాజెక్ట్ గురించి బాగా తెలుసు, అందువల్ల వారు దానిని మరింత ప్రభావవంతంగా ఉపయోగిస్తారు, కంపెనీ ప్రాజెక్ట్ అభివృద్ధి దిశను ప్రభావితం చేయగలదు మరియు రెడీమేడ్, డీబగ్ చేసిన కోడ్ను ఉపయోగించడం కంపెనీ ఖర్చులను స్పష్టంగా తగ్గిస్తుంది.
ఓపెన్సోర్స్ ప్రాజెక్ట్లను సృష్టించడం వల్ల కలిగే ప్రయోజనాలు అక్కడ ముగియవు. వ్యాపారంలో మార్కెటింగ్ వంటి ముఖ్యమైన భాగాన్ని తీసుకుందాం. అతనికి, ఇది మార్కెట్ అవసరాలను సమర్థవంతంగా అంచనా వేయడానికి అనుమతించే చాలా మంచి శాండ్బాక్స్.
మరియు వాస్తవానికి, ఏదైనా స్పెషలైజేషన్ యొక్క క్యారియర్గా మిమ్మల్ని మీరు ప్రకటించుకోవడానికి ఓపెన్సోర్స్ ప్రాజెక్ట్ ఒక ప్రభావవంతమైన మార్గం అని మనం మర్చిపోకూడదు. కొన్ని సందర్భాల్లో, మార్కెట్లోకి ప్రవేశించడానికి ఇది ఏకైక మార్గం. ఉదాహరణకు, Embox అనేది RTOSని సృష్టించే ప్రాజెక్ట్గా ప్రారంభమైంది. పోటీదారులు చాలా మంది ఉన్నారని వివరించాల్సిన అవసరం లేదు. కమ్యూనిటీని సృష్టించకుండా, ప్రాజెక్ట్ను తుది వినియోగదారుకు అందించడానికి, అంటే మూడవ పక్ష డెవలపర్లు ప్రాజెక్ట్ను ఉపయోగించడం ప్రారంభించడానికి మాకు తగినంత వనరులు ఉండేవి కావు.
ఓపెన్సోర్స్ ప్రాజెక్ట్లో సంఘం కీలకం. ఇది ప్రాజెక్ట్ నిర్వహణ ఖర్చులను గణనీయంగా తగ్గించడానికి, ప్రాజెక్ట్ను అభివృద్ధి చేయడానికి మరియు మద్దతు ఇవ్వడానికి మిమ్మల్ని అనుమతిస్తుంది. సంఘం లేకుండా ఓపెన్సోర్స్ ప్రాజెక్ట్ లేదని మనం చెప్పగలం.
ఓపెన్ సోర్స్ ప్రాజెక్ట్ కమ్యూనిటీని ఎలా సృష్టించాలి మరియు నిర్వహించాలి అనే దాని గురించి చాలా విషయాలు వ్రాయబడ్డాయి. ఇప్పటికే తెలిసిన వాస్తవాలను తిరిగి చెప్పకుండా ఉండటానికి, నేను Embox అనుభవంపై దృష్టి పెట్టడానికి ప్రయత్నిస్తాను. ఉదాహరణకు, సంఘాన్ని సృష్టించే ప్రక్రియ చాలా ఆసక్తికరమైన అంశం. అంటే, ఇప్పటికే ఉన్న కమ్యూనిటీని ఎలా నిర్వహించాలో చాలా మంది చెబుతారు, అయితే ఇది ఇచ్చినట్లుగా పరిగణించి, దాని సృష్టి యొక్క క్షణాలు కొన్నిసార్లు విస్మరించబడతాయి.
ఓపెన్సోర్స్ ప్రాజెక్ట్ కమ్యూనిటీని సృష్టించేటప్పుడు ప్రధాన నియమం ఏమిటంటే నియమాలు లేవు. నా ఉద్దేశ్యం ఏమిటంటే, ప్రాజెక్ట్లు చాలా భిన్నంగా ఉన్నందున, వెండి బుల్లెట్ లేనట్లే, సార్వత్రిక నియమాలు లేవు. js లాగింగ్ లైబ్రరీ మరియు కొన్ని అత్యంత ప్రత్యేకమైన డ్రైవర్ కోసం కమ్యూనిటీని సృష్టించేటప్పుడు మీరు అదే నియమాలను ఉపయోగించలేరు. అంతేకాకుండా, ప్రాజెక్ట్ అభివృద్ధి యొక్క వివిధ దశలలో (మరియు అందువలన సంఘం), నియమాలు మారుతాయి.
సిస్టమ్స్ ప్రోగ్రామింగ్ డిపార్ట్మెంట్ నుండి విద్యార్థులకు యాక్సెస్ ఉన్నందున ఎంబాక్స్ విద్యార్థి ప్రాజెక్ట్గా ప్రారంభించబడింది. నిజానికి, మేము వేరే సంఘంలోకి ప్రవేశిస్తున్నాము. ఈ కమ్యూనిటీలో పాల్గొనేవారు, విద్యార్థులు, వారి ప్రత్యేకత, సిస్టమ్ ప్రోగ్రామింగ్, కోర్స్వర్క్ మరియు డిప్లొమా రంగంలో శాస్త్రీయ పనిలో మంచి పారిశ్రామిక ఆచరణలో మేము ఆసక్తి చూపవచ్చు. అంటే, మేము సంఘాన్ని నిర్వహించే ప్రాథమిక నియమాలలో ఒకదాన్ని అనుసరించాము: సంఘం సభ్యులు తప్పనిసరిగా ఏదైనా స్వీకరించాలి మరియు ఈ ధర తప్పనిసరిగా పాల్గొనేవారి సహకారానికి అనుగుణంగా ఉండాలి.
Embox కోసం తదుపరి దశ మూడవ పక్ష వినియోగదారుల కోసం శోధన. వినియోగదారులు ఓపెన్సోర్స్ కమ్యూనిటీలో పూర్తి భాగస్వాములు అని అర్థం చేసుకోవడం చాలా ముఖ్యం. డెవలపర్ల కంటే సాధారణంగా ఎక్కువ మంది వినియోగదారులు ఉన్నారు. మరియు ఒక ప్రాజెక్ట్కు కంట్రిబ్యూటర్గా మారాలని కోరుకునే క్రమంలో, వారు మొదట దానిని ఒక విధంగా లేదా మరొక విధంగా ఉపయోగించడం ప్రారంభిస్తారు.
Embox యొక్క మొదటి వినియోగదారులు థియరిటికల్ సైబర్నెటిక్స్ విభాగం. లెగో మైండ్స్టార్మ్ కోసం ప్రత్యామ్నాయ ఫర్మ్వేర్ను రూపొందించాలని వారు సూచించారు. మరియు వారు ఇప్పటికీ స్థానిక వినియోగదారులు అయినప్పటికీ (మేము వారితో వ్యక్తిగతంగా కలుసుకోవచ్చు మరియు వారు ఏమి కోరుకుంటున్నారో చర్చించవచ్చు). కానీ అది ఇప్పటికీ చాలా మంచి అనుభవం. ఉదాహరణకు, రోబోలు సరదాగా ఉంటాయి మరియు దృష్టిని ఆకర్షిస్తాయి కాబట్టి మేము ఇతరులకు చూపించగలిగే డెమోలను అభివృద్ధి చేసాము. ఫలితంగా, మేము Embox అంటే ఏమిటి మరియు దానిని ఎలా ఉపయోగించాలి అని అడగడం ప్రారంభించిన నిజమైన మూడవ పక్ష వినియోగదారులను పొందాము.
ఈ దశలో, మేము డాక్యుమెంటేషన్ గురించి, వినియోగదారులతో కమ్యూనికేషన్ మార్గాల గురించి ఆలోచించవలసి వచ్చింది. లేదు, వాస్తవానికి, మేము ఈ ముఖ్యమైన విషయాల గురించి ముందే ఆలోచించాము, కానీ ఇది అకాల మరియు సానుకూల ప్రభావాన్ని ఇవ్వలేదు. ప్రభావం చాలా ప్రతికూలంగా ఉంది. నేను మీకు రెండు ఉదాహరణలు ఇస్తాను. మేము googlecodeని ఉపయోగించాము, దీని వికీ బహుభాషావాదానికి మద్దతు ఇస్తుంది. మేము అనేక భాషలలో పేజీలను సృష్టించాము, ఇంగ్లీష్ మరియు రష్యన్ మాత్రమే కాదు, దీనిలో మేము కమ్యూనికేట్ చేయలేము, కానీ జర్మన్ మరియు స్పానిష్ కూడా. ఫలితంగా, ఈ భాషలలో అడిగినప్పుడు ఇది చాలా హాస్యాస్పదంగా కనిపిస్తుంది, కానీ మేము సమాధానం చెప్పలేము. లేదా వారు డాక్యుమెంటేషన్ రాయడం మరియు వ్యాఖ్యానించడం గురించి నియమాలను ప్రవేశపెట్టారు, కానీ API చాలా తరచుగా మరియు గణనీయంగా మారినందున, మా డాక్యుమెంటేషన్ కాలం చెల్లిందని మరియు అది సహాయం చేసిన దానికంటే తప్పుదారి పట్టించేదిగా ఉందని తేలింది.
ఫలితంగా, మా ప్రయత్నాలన్నీ, తప్పులు కూడా, బాహ్య వినియోగదారుల రూపానికి దారితీశాయి. మరియు అతని కోసం తన స్వంత RTOS అభివృద్ధి చేయాలని కోరుకునే వాణిజ్య కస్టమర్ కూడా కనిపించాడు. మరియు మాకు అనుభవం మరియు కొంత గ్రౌండ్వర్క్ ఉన్నందున మేము దానిని అభివృద్ధి చేసాము. ఇక్కడ మీరు మంచి మరియు చెడు రెండింటి గురించి మాట్లాడాలి. నేను చెడ్డ వాటితో ప్రారంభిస్తాను. చాలా మంది డెవలపర్లు ఈ ప్రాజెక్ట్లో వాణిజ్య ప్రాతిపదికన పాల్గొన్నందున, సంఘం ఇప్పటికే చాలా అస్థిరంగా మరియు విభజించబడింది, ఇది ప్రాజెక్ట్ అభివృద్ధిని ప్రభావితం చేయదు. ఒక అదనపు అంశం ఏమిటంటే, ప్రాజెక్ట్ యొక్క దిశను ఒక వాణిజ్య కస్టమర్ ద్వారా సెట్ చేయబడింది మరియు అతని లక్ష్యం ప్రాజెక్ట్ యొక్క తదుపరి అభివృద్ధి కాదు. కనీసం ఇది ప్రధాన లక్ష్యం కాదు.
మరోవైపు, అనేక సానుకూల అంశాలు ఉన్నాయి. మేము నిజంగా మూడవ పక్ష వినియోగదారులను పొందాము. ఇది కస్టమర్ మాత్రమే కాదు, ఈ వ్యవస్థ ఉద్దేశించిన వారికి కూడా. ప్రాజెక్ట్లో పాల్గొనడానికి ప్రేరణ పెరిగింది. అన్నింటికంటే, మీరు ఆసక్తికరమైన వ్యాపారం నుండి కూడా డబ్బు సంపాదించగలిగితే, అది ఎల్లప్పుడూ మంచిది. మరియు ముఖ్యంగా, కస్టమర్ల నుండి ఒక కోరికను మేము విన్నాము, ఇది ఆ సమయంలో మాకు పిచ్చిగా అనిపించింది, కానీ ఇది ఇప్పుడు ఎంబాక్స్ యొక్క ప్రధాన ఆలోచన, అంటే, సిస్టమ్లో ఇప్పటికే అభివృద్ధి చేసిన కోడ్ను ఉపయోగించడం. ఇప్పుడు Embox యొక్క ప్రధాన ఆలోచన Linux లేకుండా Linux సాఫ్ట్వేర్ను ఉపయోగించడం. అంటే, ప్రాజెక్ట్ యొక్క మరింత అభివృద్ధికి దోహదపడే ప్రధాన సానుకూల అంశం ఏమిటంటే, ప్రాజెక్ట్ మూడవ పక్ష వినియోగదారులచే ఉపయోగించబడుతుందని గ్రహించడం మరియు ఇది వారి కొన్ని సమస్యలను పరిష్కరించాలి.
ఆ సమయంలో, ఎంబాక్స్ ఇప్పటికే విద్యార్థి ప్రాజెక్ట్ పరిధిని మించిపోయింది. విద్యార్థి నమూనా ప్రకారం ప్రాజెక్ట్ అభివృద్ధిలో ప్రధాన పరిమితి అంశం పాల్గొనేవారి ప్రేరణ. విద్యార్థులు చదువుతున్నప్పుడు పాల్గొంటారు మరియు వారు గ్రాడ్యుయేట్ అయినప్పుడు, వేరే ప్రేరణ ఉండాలి. ప్రేరణ కనిపించకపోతే, విద్యార్థి కేవలం ప్రాజెక్ట్లో పాల్గొనడం మానేస్తాడు. విద్యార్థులు మొదట శిక్షణ పొందాల్సిన అవసరం ఉందని మేము పరిగణనలోకి తీసుకుంటే, వారు గ్రాడ్యుయేట్ అయ్యే సమయానికి వారు మంచి నిపుణులు అవుతారని తేలింది, అయితే అనుభవం లేకపోవడం వల్ల ప్రాజెక్ట్కు వారి సహకారం చాలా పెద్దది కాదు.
సాధారణంగా, ఓపెన్సోర్స్ ప్రాజెక్ట్ను సృష్టించడం గురించి మాట్లాడటానికి అనుమతించే ప్రధాన అంశానికి మేము సజావుగా వెళ్తాము - దాని వినియోగదారుల సమస్యలను పరిష్కరించే ఉత్పత్తిని సృష్టించడం. నేను పైన వివరించినట్లుగా, ఓపెన్సోర్స్ ప్రాజెక్ట్ యొక్క ప్రధాన ఆస్తి దాని సంఘం. అంతేకాకుండా, సంఘం సభ్యులు ప్రధానంగా వినియోగదారులు. కానీ ఉపయోగం ఏమీ లేనప్పుడు అవి ఎక్కడ నుండి వస్తాయి? కాబట్టి, నాన్-ఓపెన్సోర్స్ ప్రాజెక్ట్ మాదిరిగానే, మీరు MVP (కనీస ఆచరణీయ ఉత్పత్తి)ని సృష్టించడంపై దృష్టి పెట్టాలి మరియు అది వినియోగదారులకు ఆసక్తి కలిగి ఉంటే, ప్రాజెక్ట్ చుట్టూ సంఘం కనిపిస్తుంది. మీరు కమ్యూనిటీ PR ద్వారా మాత్రమే కమ్యూనిటీని సృష్టించడం, ప్రపంచంలోని అన్ని భాషలలో వికీని రాయడం లేదా గిథబ్లో సరైన git వర్క్ఫ్లో చేయడంలో నిమగ్నమై ఉంటే, ప్రాజెక్ట్ యొక్క ప్రారంభ దశల్లో ఇది పట్టింపు లేదు. వాస్తవానికి, తగిన దశలలో ఇవి ముఖ్యమైనవి మాత్రమే కాదు, అవసరమైన విషయాలు కూడా.
ముగింపులో నేను సూచించాలనుకుంటున్నాను
నేను ఈ OSకి మారడం గురించి తీవ్రంగా ఆలోచిస్తున్నాను (కనీసం ప్రయత్నించండి. వారు దీన్ని చురుకుగా కొనసాగిస్తున్నారు మరియు మంచి పనులు చేస్తున్నారు).
పి.ఎస్. ఆన్
మూలం: www.habr.com