Wednesday, October 17, 2007

நிரல் பராமரிப்பு - 4

எந்த ஒரு கருவியுமே பயன்படுத்துவதில்தான் பலன் கிடைக்கும். உலகிலேயே நல்ல கருவியை வாங்கி வைத்துக் கொண்டு சரியாகத் திட்டமிட்டுப் பயன்படுத்தத் தெரியா விட்டால் சொதப்பல்தான்.

எங்கள் நிரல் பராமரிப்பு முறையில் சில தடைக்கற்கள்.
  • முதலில் சிவிஎஸ் பயன்பாட்டை எப்படி பயன்படுத்துவது, யார் யார் பயனர்கள், திட்டங்கள் எப்படி வடிவமைக்கப்பட வேண்டும் என்ற தெளிவான திட்டமிடல் இல்லாமல் இருந்தது.
    ஆரம்பித்த காலங்களில் வாடிக்கையாளர்களுக்குத் தனியாக பதிப்பு வேண்டாம் என்று முடிவு செய்திருந்தோம். ஒரு பிரதியில் குறிப்பிட்ட மாறுதல் செய்தால் எல்லா இடங்களுக்கும் அந்த மாறுதலை அனுப்பி விட வேண்டும். எந்த நேரத்திலும் எல்லா வாடிக்கையாளர்களின் பிரதிகளும் ஒரே மாதிரி இருக்க வேண்டும்.

    நடை முறையில் அது சாத்தியமில்லாமல் போய் விட்டது. ஒவ்வொரு வாடிக்கையாளரின் தேவைக்கேற்ப தனிப்பயனாக்கம் செய்யும் போது அதே மாற்றத்தை மற்றவர்களுக்கும் பொருத்திக் கொள்வது நடக்கவில்லை. என்னதான், தகுதர நிரல் பிரதியோடு எல்லாவற்றையும் ஒத்திசைத்து விட வேண்டும் என்று பேசிக் கொண்டிருந்தாலும், ஒவ்வொன்று ஒவ்வொரு திசையில் இழுத்துக் கொண்டுதான் போய்க் கொண்டிருந்தன.

    அந்தத் தவறான கொள்கை முடிவின் விளைவுதான் வாடிக்கையாளர் பிரதிகளில் ஏற்படும் மாற்றங்கள் கைவழி செய்ய வேண்டியிருந்தது.

  • இரண்டாவது காரணம் சிவிஎஸ் என்ற கருவியின் தலைவலிகள். பல ஆண்டுகளுக்கு முன்பு வடிவமைக்கப்பட்ட சிவிஎஸ்ஸைப் பயன்படுத்த நல்ல பொறுமையும், கவனமும் வேண்டும். எல்லோராலும் அதை திறமையாகப் பயன்படுத்தி விட முடியாத அளவுக்கு அதன் கட்டளைகள், அறிக்கைகள் கொஞ்சம் கடுப்பாக இருக்கும். அதனால் கருவி இருந்தும் அடிப்படையாக ஓரிரு பயன்பாடுகளை மட்டுமே பயன்படுத்திக் கொண்டிருந்தோம்.

  • மூன்றாவதாக பணி புரிபவர்கள் மாறிக் கொண்டே இருந்தது. ஒரு மென்பொருள் உருவாக்கக் குழுவின், நிறுவனத்தின் வலிமையே அதன் குழு உறுப்பினர்கள்தான். இரண்டு ஆண்டுகள் பணி புரிந்த ஒருவர் வெளியேறி விட்டால், சதையே பிய்த்துக் கொண்டு போனது போலத்தான். நிலைமை குணமாகி வழக்கமான பணிகள் தொடங்க கொஞ்ச காலம் பிடிக்கும். அப்படி பல பேர் விலகிப் போய்க் கொண்டே இருக்கும் போது எந்த விதமான அமைப்புகளையும் கட்டிக் காக்க முடியாமல் குலைந்து போகின்றன.
மூன்றாவதை முதலில் சரி செய்து கொண்டோம். விட்டுப் போவதற்கான காரணங்கள் ஒவ்வொன்றாக நீக்கி விட்டோம். அதைப் பற்றி இன்னோரு இடத்தில் பார்க்கலாம்.

இரண்டாவது காரணத்தை எதிர் கொள்வது நாம் மட்டும் அல்ல, இன்னும் பலர் சிவிஎஸ்சின் கடுப்புகளை சந்தித்திருக்கிறார்கள். அதற்காக சும்மா இருக்காமல் ஒரு மாற்றுத் திட்டத்தைத் தொடங்கி சப்வெர்ஷன் என்று உருவாக்கி விட்டார்கள். சிவிஎஸ்சின் செயல்பாடுகள் அனைத்தையும், அதன் தலைவலிகள் இல்லாமல் கொடுப்பதுதான் சப்வெர்ஷனின் நோக்கம். ஏழெட்டு ஆண்டுகளில் நல்ல வளர்ச்சி பெற்று, இன்றைக்கு சிவிஎஸ் பயன்படுத்தி வந்த பெரிய மென்பொருள் திட்டங்கள் எல்லாம் சப்வெர்ஷனுக்கு மாறி விட்டன.

அதுதான் திறவூற்று மென்பொருள் உலகின் சிறப்பு. உங்களுக்குப் பிடிக்கா விட்டால், திட்டத்தை நகல் செய்து தனி வழியில் உருவாக்கிக் கொள்ளலாம்.

ஒரு பிற்பகலில் உட்கார்ந்து சப்வெர்ஷன் குறித்துப் படித்து அதன் கட்டளைகளை பயன்படுத்திப் பார்த்தேன். சிவிஎஸ் பயன்படுத்தும் போது, 'இது இப்படி இருந்தால் தோதுவாக இருக்குமே' என்று நமக்குத் தோன்றும் இடத்தில் எல்லாம் அதை மேம்பாடு செய்திருக்கிறார்கள் சப்வெர்ஷனில். அதனால் சப்வெர்ஷனுக்கு மாறி விடலாம் என்று முடிவு செய்தோம். ஒன்றரை மாதக் காலத்தில் புதிய முறைக்கு முற்றிலுமாக மாறி விட வேண்டும்.

இதற்குத் திட்டமிடலையும் நமது தேவைகளுக்கு ஏற்றவாறு செய்து விட வேண்டும்.

சப்வெர்ஷனில் பல பிரதிகளை உருவாக்கிக் கொள்வதில் எந்த தடையும் கிடையாது. ஒரு கிளையிலிருந்து இன்னொரு கிளைக்கு மாற்றங்களை இணைப்பதும் எளிதாக செய்து கொள்ளலாம். மாற்றங்களின் விபரங்களைத் தெரிந்து கொள்வதும் எளிதாக்கப்பட்டிருக்கிறது.

சப்வெர்ஷனில் திட்டங்கள் (projects), பிரதிகள் (versions), வெளியீடுகள் (releases), கிளைகள்(branches) எல்லாமே அடைவுகள்தான் (directories). நமது நிரல் தொகுப்புகள் அனைத்துமே ஒன்றுடன் ஒன்று தொடர்புடையவை ஆதலால் எல்லாவற்றையும் ஒரே தொகுப்புக்குள் (repository) போட்டு விடலாம் என்று முடிவு.

1 comment:

வடுவூர் குமார் said...

இந்த CVS மற்றும் sub-version எல்லாம் லினக்ஸ் மென்பொருள் தறவிரக்கம் செய்யும் போது கண்ணில் படும் ஆனால் என்னவென்று தெரியாது,முயலவும் இல்லை.
இதை படித்தவுடன் தான் தெரிந்துகொள்ள முடிந்தது.(ஓரளவு)
மிக்க நன்றி.