Thursday, 7 April 2011

தமிழ் குறியீட்டு முறைகளில் எழுத்துக்களுக்கு உள்ள எண்கள்

தாங்கள் தமிழுக்கு குறியீட்டு மாற்றியோ(encoding coverter), விசைப்பலகை செயலியோ(keyboard driver) உருவாக்க எண்ணம் கொண்டிருந்தால் முதலில் ஒவ்வொரு தமிழ் எழுத்திற்கும் அந்தந்த குறியீட்டு முறையில் எந்த எண்களை(code point/ASCII value) ஒதுக்கியிருக்கிறார்கள் என்பதைத் தெரிந்து கொள்ள வேண்டும். டாம், ஒருங்குறியில்(unicode) தமிழ் எழுத்துக்களுக்கு ஒதுக்கப்பட்ட எண்களை ஒரு விரிதாள் கோப்பாக (spreadsheet)http://groups.google.com/group/freetamilcomputing குழுமத்தில் பதிவிட்டுள்ளேன். தங்களுக்குத் தேவைப்படும் மற்ற குறியீட்டு முறைமைகளுக்கு(எடு: பாமினி) தாங்களே அதனை விரிவுபடுத்திப் பயன்படுத்துங்கள். அதனைப் பதிவிறக்கி பயன்பெறவும்.



விசைப்பலகை செயலி உருவாக்குவதற்கு கீழ்காணுமாறு நிரலெழுதலாம்
if(keypressed == 'a')
print('அ');-----------------------------வழி 1

இதையே if(keypressed.value == 97) // 97 என்பது 'a'வின் ASCII மதிப்பு
print((char)\x0B85);---------------------வழி 2 


குறியீட்டு மாற்றிக்கு ஒரு துளி
string tamTxt = "îI›" // TAMல் எழுதப்பட்ட "தமிழ்" ஆங்கில எழுத்தில் இவ்வாறு தோன்றும்
string unicodeTxt;
for (i=0 to i=tamTxt.length())
{
switch(tamTxt[i].AscVal) {
case 220: // TAMல் 'அ'விற்கான எண்
unicodeTxt[i] = (char)2949 // யுனிகோடில் ‘அ'விற்கு ஒதுக்கப்பட்ட எண்
.
.
.
தாங்கள் ஒரு நிரலில் 0B85, 2949... போன்ற எண்களைப் பார்க்கும் போது அவை எந்த எழுத்தைக் குறிக்கின்றன என்பது புரியாமல் போக வாய்ப்பிருக்கின்றது. ஜாவா, ஜாவா ஸ்க்ரிப்ட் போன்ற மொழிகளில் வழி ஒன்றில் உள்ளதுபோல் ஒருங்குறி(யுனிகோட்) எழுத்துகளை நேரடியாகவே நிரலில் உள்ளிணைக்க முடியும். அனைத்து நிரலாக்க மொழிகளிலும்(எடு:விபி) இது சாத்தியமில்லை. ஒவ்வொரு நிரல் மொழியிலும் தமிழை எவ்வாறு பயன்படுத்த வேண்டுமெனத் தெரிந்திருந்தாலே போதுமானது, அழகான தமிழ் மென்பொருளை நாமாகவே உருவாக்கிடலாம்.

பொனடிக்(ஒலியியல்) முறையில் தமிழ் தட்டச்சிடும் ஜாவா மூல நிரல்

பொனடிக்(ஒலியியல்) முறையில் தட்டச்சு செய்வதற்கான ஜாவா நிரலை http://groups.google.com/group/freetamilcomputingலிருந்து பதிவிறக்கி சோதிக்கவும். தங்களிடம் JRE இருந்தால் போதுமானது. நிரலில் மாற்றம் செய்து அதனை மேம்படுத்த jdk 1.2 அல்லது அதற்கு பிந்தைய பதிப்பு வேண்டும். தங்கள் கணினியில் Latha (அ) Lohit Tamil யுனிகோட் எழுத்துரு இருக்க வேண்டும். அல்லது தங்களுக்கு விருப்பமான யுனிகோட் எழுத்துருவை நிரலில் சுட்டவும்.


நிரலை இயக்க           java TamilPad

compile செய்ய         javac encoding -utf16 TamilPad.java


நிரல்முழுதும் வெறும் if conditionனும், switch statementதான் நிறைந்திருக்கிருக்கும். நீங்கள் ஜாவா புலியாக இல்லாமல் என்னைப்போன்று ஜாவா எலியாகயிருந்தாலும் எளிமையாகக் கற்றுக் கொள்ளலாம்.

a அ aa A ஆ i இ ii I ஈ e எ ee E ஏ ai ஐ o ஒ 
oo O ஓ au ஔ Q ஃ


க் k g ... ன் n.


nj ஞ்ச் ng ங்க் ndh nth ந்த் (Relative consonants)


ka ga க gna; ங ca sa cha ச gna ஞ da ta ட Na n;a na; ண
tha dha d;a t;a ta; da; த na qna ந pa ba ப ma ம ya ய 
ra ர la ல va wa வ za zha ழ La la; l;a ள
r;a ra; Ra ற na ன


ki கி கீ kii kI கு ku கூ kuu ......


ha ஹ sha ஷ Sa c;a s;a sa; ஸ க்ஷ ksha ja ஜ sri ஸ்ரீ



ஒருங்குறியில் ஸ்ரீ என்பது தனி எழுத்தல்ல. நான்கு குறியீடுகளால் ஆனது.
 +  +  + ீ --->; ஸ்ரீ   Ligature எனப்படுகிறது (complex symbol).


என்னக் கொடும சரவணன். இதற்குத்தான் தமிழுக்கு ஒவ்வோர் எழுத்திற்கும் தனியிடம்(யுனிகோடில் TUNE, TACE16) கேட்கிறோம்.



தமிழில் ள,ற,ண,ந,த,ஸ ஆகிய வரிசையிலுள்ள எழுத்துக்களை ஒலியியல் (phonetic) முறையில் தட்டச்சு செய்யும் போது மிகுந்த சிரமத்திற்கு உள்ளாகிறோம். இதற்கு எளிய மாற்றாக TAM99விசைப்பலகை வடிவமைப்பை பரிந்துரைப்பதும் உண்டு. குறுஞ்செய்திகளில் eppadi macchi irukkaஎன்பதுபோல் ஆங்கில எழுத்திலேயே தாய்மொழியில் நலம் விசாரிக்கும் பாசாக்கார பிள்ளைகளுக்கு நிச்சயம் ஒலியியல் தட்டச்சுதான் பிடித்து போகும்.

ஓரளவிற்கு ஒலியியல் முறையிலேயே வேகமாக தட்டச்சு செய்ய ஷிப்ட் விசையை கொஞ்சம் தவிர்த்தாலே போதுமானது.  


நான் எழுதிய ஜாவா நிரலில் ';' விசையை எழுத்துக்களை மாற்றுவதற்கு பயன் படுத்தியிருக்கிறேன்.  



'ள்' தட்டச்சு செய்ய L என்று உள்ளிடுவதைவிட l; என உள்ளீடு செய்வது எளிமையாக இருக்குமெனக் கருதுகிறேன்.

இப்படி உள்ளீடு செய்து சோதிக்கவும்:
"பள்ளம்" வார்த்தையை pal;lam pall;am என உள்ளிடலாம்.


கண்ணன் kann;an kan;nan 
மஞ்சள் manjaL manjal;


நானாக நானில்லை தாயே naanAga naanillai thaayee
nAnAka nAnillai t;AyE


இந்நிலையில் iqnqnilaiyil q என்பது பழைய மதிப்பை(prevkey) அழிக்க வைத்திருக்கின்றேன்.


நினைவோ ஒரு பறவை ninaivoo oru par;avai
gangai kangai sangu nungu pangu vaangu vankam thangam thangai
kur;inji kaanjipuram banaaras; பனாரஸ் pattu kungumam


''கரத்திற்கு முன்னர் ''கரம்தான் வரும் 'ன'கரம் வராது.

எடு: உண்டு, வண்டு, கண்டு, உண்டியல், பண்டிகை, கொண்டான், கொண்டை, காண்டீபன்...

ஆகவே இதுபோன்று உள்ளீடு செய்ய uNdu, un;du என உள்ளிடுவதற்கு பதில் undu, kondai, mandu.. என உள்ளிட்டாலே போதுமானது.

அதேபோல் ''கரத்திற்கு முன் ‘'கரம்தான் வரும்.

எடு: கன்று, தின்றான், ஒன்று, பன்றி, மன்றம், தென்றல், ஊன்றுகோல், ஏனென்றால்...

indru இன்று inru இதுவும் இன்று எனச் சரியாக வரும்.


ஆகவே onRu என்பதற்கு பதில் onru என உள்ளிடுவது எவ்வளவு சுலபம் பாருங்கள்.


காற்று kaaRRu kaatru kaar;ru karru
rr அழுத்தினாலே "ற்ற்" என உள்ளீடு செய்து விடலாம்.

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

 ர்ர் ர்ரு ர்ரி ர்ரா ர்ரை... என வரவே வராது.


     மெய்ந்நிலை  சுட்டின்  எல்லா  எழுத்தும்
    தம்முன்  தாம்  வரூஉம்  ர, ழ  அலங்கடையே
                                                                               
                                                                               -(30வது பாடல்), தொல்காப்பியம்.


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

orrai என்பதை "ஒற்றை" என வரவழைப்பதில் என்ன சிக்கல்.
மாற்று marru நேற்று neerru nEtru
tr என்பதற்கு ற்ற் போட்டாலும் எளிமைதானே.
குற்றாலம் kutraalam kurraalam


நம் மொழியின் தொன்மையான இலக்கணம் அனைத்தையும் நிரலாக்கப் படுத்தினால் எப்படியிருக்கும் என எண்ணிப் பாருங்கள், விழிகள் விரியும்.


ஐந்து aindhu ஷர்மிளா sharmil;aa sharmilaa;
நாதஸ்வரம் naathaswaram சுஜாதா sujaathaa ஹரிணி harini;
tth த்த் முத்தம் muttham சொத்து sotthu
murugan ஞானப் பழம் gnaanap pazam.




        லினக்சில் executable jar கோப்பை திறக்க               
                                                                                                   
right click ---> open with java   
or
     use a custom command
            java -jar            

மொழியியல் மென்பொருள் உருவாக்கத்தில் இலகு மென்நிரல்கள்

Language computing with lightweight Scripting languages:
நிரல் மொழிகள் மூலம் எப்படிப்பட்ட மென்பொருளையும் உருவாக்க இயலும். இப்படி எல்லா செயல்பாடுகளையும் பெறுவதற்காக சிலயிடங்களில் சில சமரசங்களையும் (அளவு, வேகம், சார்பு/ dependency) செய்துகொள்ள வேண்டியுள்ளது. இவற்றில் பெரும் தலைவலியாக இருப்பது சார்பு. அது ஒரு இயக்கச்சூழலைச் சார்ந்ததாகவும் இருக்கலாம். அல்லது மென்பொருள், துணைநிரல்கள்(libraries/ frameworks), பயனர் மொழி (ஒருங்குறிக்கு/unicode ஆதரவில்லாமல் இருப்பது)என எதையோ சார்ந்து பிரச்சனைகளைக் கூட்டிக்கொண்டே போகலாம்.

சி, சி++, சி#, ஜாவா, விபி, விபி.நெட்... போன்றவை நிரல் மொழிகள் பிரிவில் வருபவை.


ஜாவா ஸ்க்ரிப்ட், பேர்ல், விபி ஸ்க்ரிப்ட் போன்றவற்றை இலகு மென்நிரல்கள் எனக் கொள்ளலாம்.

இன்னும் பி.எச்.பி, பைத்தான்... என திறமூல உலகிலிருந்து பெற்றவையும் ஏராளம்.

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

நிரல் மொழிகளில் உள்ள அதீத திறன் நிரல் உருவாக்குபவர்களை பெரிதும் கவர்கிறது. அதற்குத் துணை புரியும் வகையில் என்னற்ற நிரலாக்க கருவிகளும் (programming tools/IDE) கிடைக்கின்றன. ஆனால் இதன் அடுத்தப் பக்கத்தில்,  இதில் உருவாக்கப்படும் நிரல்கள் சாமாணியப் பயனாளரை எளிதில் சென்றடைவதில்லை. பெரியளவில் மென்பொருட்களைத் தயாரிக்கும் மென்பொருள் நிறுவங்களில் இவற்றின் தேவைக்கு என்றும் குறைவிருக்காது என்பதற்கு எந்தவொரு மாற்றுக் கருத்தும் இல்லை.

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

தேடுபொறிகள்(search engines), எழுத்திலிருந்து பேச்சோலி(text to speech), பேச்சிலிருந்து எழுத்து (speech to text), நிறுவனப் பயன்பாடுகள் (enterprise applications) போன்றக் கடினமான பணிகளுக்கு நிரல் மொழிகளில்தான் எளிவானத் தீர்வைத் தரயியலும். ஏனெனில் இலகு மென்நிரல்களில் அதற்கான வாய்ப்புகள் குறைவே. அதற்காக இலகு மென்நிரல்களின் வீச்சையும் ஒரேயடியாக ஒதுக்கிவிட முடியாது. இன்று பெரும்பாலும் இடைமுகப்பு(interface) பணிகளுக்கு மட்டுமே(அதிலும் இணையத்தில் இதன் பங்கு பெரிது) பயன்படுத்தப்பட்டு வருகின்றது.

இந்தக் கட்டுரையின் நோக்கம் அன்றாடப் பயன்பாடுகளுக்கான சிறுநிரல்களை இலகு மென்நிரல்களில் கிடைக்கச் செய்திடல் வேண்டும். எடுத்துக்காட்டிற்கு தமிழ் தட்டச்சை எடுத்துக் கொள்வோம். தமிழ் மட்டும் என்றல்ல எந்தவொரு மொழியையும் (ஆங்கிலத்திற்கு இயல்பாகவே கிடைத்து விட்டது) கணினியில் உள்ளீடு செய்வதற்கு ஒரு சிறப்பு மென்பொருள் (keyboard driver/IME-Input Method Editor) வேண்டும். இவற்றை இணையப் பக்கங்களிலிருந்து நேரடியாகவே உள்ளீடு செய்வதற்கும் வசதிகள் உள்ளன (suratha,quillpad) போன்ற இணைய தளங்கள். அதே பயன்பாடு இலகு மென்நிரலில்(ஜாவா ஸ்க்ரிப்ட் எடு: ILC Indian Language Computing தீர்வுகள்) நம் கணினியில் இருந்தால் இணைய இணைப்பு இல்லையென்றாலும், அதனை எளிமையாகப் பயன்படுத்திக் கொள்ள முடியும். மேலும் இலகு மென்நிரல்கள் குறைந்த அளவு இடத்தையே எடுத்துக் கொள்ளும். கணினியை இயக்க பயப்படுவர்கள்கூட (பெரியவர்கள், வேறு துறையைச் சார்ந்தவர்கள்...) மிக எளிமையாக பயன்படுத்திக் கொள்ளமுடியும்.

அவர்களிடம் நிறுவதற்கு .நெட் வேண்டும், ஜாவா வேண்டும், க்யூடி, இடம், இணையம்,அது-இது-தைரியம் எல்லாம் வேண்டும் என பயமுறுத்துவதற்கு பதில் சொடுக்கினால் (click & use)பயன்படுத்த ஆரம்பித்துவிடலாம் என்பதுபோல் தந்திடல் வேண்டும். இல்லையெனில் இயக்கச் சூழலிலேயே அவற்றை உட்பொதிந்து கொடுக்கப் படவேண்டும். அவ்வாறு செய்தால் மட்டும்தான் அது கணினியில் தாய்மொழியை உள்ளீடு செய்வதற்கு ஏற்ற சூழலாக அமையும்.

ஜாவா ஸ்க்ரிப்டில் செய்தால் மட்டும் அனைத்து உலாவிகளிலும் இயங்கி விடுமா என்ன? அதற்குத்தான் இருக்கவே இருக்கின்றன துணைநிரல்கள். தங்கள் மென்பொருள் உருவாக்கத்திற்கு துணைநிரலையும்(எடு: jQuery...) திறமூலத் தீர்வாக தேர்ந்தெடுப்பது அவசியம். யார் வேண்டுமானாலும் மென்பொருளில் மாற்றம் செய்யலாம் என்பது எவ்வளவு பெரிய சுதந்திரம். தொட்டதெற்கெல்லாம் சி#, விபி.நெட் ... போன்ற தனியார் தீர்வுகளின் அவசியமென்ன?

ஜாவா ஸ்க்ரிப்ட் (ECMA Script தகுதரப்படுத்தப் பட்டது/standardized) அறிந்த நண்பர்கள் கொஞ்சம் மனது வையுங்கள்.   jQuery தளத்தில் தேடிப் பார்த்தால் நம் மொழியைத் தவிர அனைத்து மொழிகளிலும் ஏராளமான கட்டுரைகளும், எடுத்துக்காட்டுகளும் உள்ளது. அத்தளத்தை ஒரு நோட்டம் விடவும்.

ஓப்பன் சோர்ஸ் - விளக்கம்: புதியவர்களுக்காக ஒரு புதிய கோணத்தில்

நாம காசு கொடுத்து வாங்கிறதால மட்டும் ஒரு சாஃப்ட்வேருக்கு, சொந்தம் கொண்டாட முடியாது. ஐய்யாயிர ரூபா இருக்கிற (மதிப்பை இல்லை, விலையைத்தான் சொல்கிறேன் cost, not its value) ஒரு மென்பொருள நூறு ரூபாய்க்கு சந்தையில வாங்கினாலோ, அல்லது நாம கேட்காமலேயே சொந்த காச போட்டு வாங்குன அண்ணாச்சி நமக்கு இலவசமா கொடுத்தாலோ நாம எப்படி அதுக்கு ஓனர் ஆகமுடியும். சரி நீங்க ரொம்ப நல்லவரா, வல்லவரா, நேர்மையானவரா முழு பணத்தையும் கட்டி வாங்குனாலும் அதிலையும் ஏகப்பட்ட சட்ட சிக்கல்கள் இருக்கு. மனசாட்சிப் படி பெரும்விலை கொடுத்து வாங்கியதையே சொந்தம் கொண்டாட முடியாதபோது, நெட்ல இலவசமாத்தானே கிடைக்குது, நாம என்ன திருடினோமா? தானா வர லட்சுமிய ஏன் வேணாம்னு சொல்லனும்னு கேட்பது நியாயமா? 


அவுங்க சொன்னத (நம்மை அடிமைப் படுத்துபவர்களை) மீறுனிங்கனா ஜெயிலுக்குக் கூட போகலாம். அதுக்குன்னு ஏம்ப்பா இப்படியெல்லாம் பயமுறுத்துறன்னு கேட்குறீங்களா?


நம்மில் எத்தனை பேர் ஒரு மென்பொருள் நிறுவும் முன்னர் லைசனஸ் உடன்படிக்கையை படிக்கிறோம்?
அதிலிருக்கும் சில ஷரத்துக்கள்:
  • உங்க சிஸ்டம் நாசமாப் போனா அதற்கு நிர்வாகம் பொறுப்பல்ல
  • இந்த சாஃப்ட்வேர காப்பி பண்ணுனா மவனே நீ காலி etc..
சிலர் மிக புத்திலாசாலித் தனமாக செல்பேசியில் ஆலோசனைக் கூறும்போது கேட்டிருக்கிறேன், "இன்ஸ்டால் பண்ணனுமா? அது ஒன்னும் பெரிய விசயம் இல்லடா மாப்பிள அத அப்பூடியே டபுள் கிளிக் பண்ணு, ரெண்டாவதா ஒரு ஸ்கிரீன் வருதா அதுல அந்தப் பக்கம் இருக்கிற பட்டனை அமுக்கு. அப்பறம் ஒண்ணுமில்லடா, நீ பாட்டுல நெக்ஸ்ட் நெக்ஸ்ட்டுன்னு கண்ண மூடிட்டு அமுக்க வேண்டியதுதான்", இதுதான் இன்றைய மென்பொருள் நிறுவுதலின் உண்மை நிலை.
ஒரு மென்பொருளை நிறுவும்போது நிதானம் வேணும். ஒவ்வொரு பக்கத்திலிருக்கும் குறிப்புகளையும் கவனமா படித்து செயல்படனும். இல்லேன்னா கொசுவத்தி சுருள அவசர அவசரமா பிச்சி, இப்படி சல்லி சல்லியா நொறுகிட்டீங்களே-டான்னு சொல்ற மாதிரி ஆயிடும்.

இந்த லைசன்ஸ் விதிமுறைகள் கடுமையாகக் கடைபிடிக்கப் பட்டதென்றால் அப்புறம், ஒருத்தரும் அந்தப் பக்கம் (proprietary softwares) தலவச்சுப் படுக்கமாட்டோம். காசு கொடுத்து வாங்கிற மென்பொருளுங்கிறது ஓட்டல்ல சாப்பிடுற மாதிரி. நல்ல ருசியா இருக்கும், புதுமையா இருக்கும், சாப்பிட்டுட்டு பணத்தையும் கொடுத்து உடம்பக் கெடுத்துக்கனும். அதுக்குன்னு ஓட்டலிலேயே சாப்பிடக் கூடாதுன்னு அர்த்தம் இல்ல. வேற வழியில்லேன்னா சாப்பிடலாம், ஒரு மாறுதலுக்காக சாப்பிடலாம். வேலை தேடுபவர்கள் உணவகங்களிலேத்தானே சாப்பிட வேண்டி உள்ளது. நம் கல்விமுறையிலே இன்னும் இது ஆழமாக வலியுறத்தப் படவில்லை. ஓப்பன் சோர்ஸின் தாக்கம் படிக்கும் மாணவர்களிடையே பரவ ஆசிரியர்கள் கையில்தான் உள்ளது. ஓப்பன் சோர்ஸ்ல குவாலிட்டி இருக்காதுன்னு சொல்றவங்களும் இருக்கிறாங்க. அவர்கள் மன்னிப்பார்களாக, அவுங்க வீட்ல சமைக்கத் தெரியலனா எல்லாரும் வீட்டல சாப்பிடுறதே வேஸ்ட்டுன்னு சொல்லிட முடியுமா!?

சரி இப்ப ஃபிரீ சாப்ட்வேர கலாய்க்க வேணாம்மா. ஃப்ரீ சாப்ட்வேர் எல்லாம் ஓப்பன் சோர்ஸ் சாப்ட்வேர் கிடையாது. ஃபிரீ சாப்ட்வேர்னா கோயில்ல தர உண்டக் கட்டி (பிரசாதம்) மாதிரி. நல்ல ருசியா இருக்கிற புளியோதரை, நாவிணிக்கும் சர்க்கரைப் பொங்கல், மிளகு சாதம்னு பல வெரைட்டி, கோயிலுக்குத் தகுந்தமாதிரி கிடைக்கும். இதேபோல் மென்பொருளின் தரமும் அதை வெளியிடும் நிறுவனத்தையோ, தனி நபரையோ பொருத்ததுதான். அதே நேரத்தில உங்களுக்கு புளியோதரைக்கு உப்போ, பொங்கலுக்கு சர்க்கரையோ பத்தலேன்னா நம்மளாகவே சேர்த்து நமக்கு பிடிச்ச மாதிரி சாப்பிட முடியுமா? முடியாது. அப்படி மீறி செஞ்சா ( Reverse engineering, cracking) எப்படி சாமி கண்ண குத்திடுமோ, நீங்கள் விதிமுறைகளை மீறி இலவச மென்பொருட்களில் மாறுதல் பண்ணுனாலும் சட்டம் தன் கடமையைச் செய்யும்.

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


 குடும்பத்துடன் அமர்ந்து, அன்புடன் பறிமாறி, மகிழ்ச்சியுடன் உண்பதால் வரும் ஆனந்தத்தைப் போன்றததுதான் திறமூல (அட ஓப்பன் சோர்ஸ் 
தாம்ப்பா) மென்பொருள் உருவாக்கம்.

அப்ப ஓப்பன் சோர்ஸ்ல காசே கிடையாதா, எல்லாமே ஓசியான்னு புத்திசாலித்தனமாகக் கேட்பதற்கு பாராட்டுக்கள். சிலர் கடைக்கு போகனும்னா கமிஷன் கேட்பாங்க. அவுங்ககிட்ட கெஞ்சிகிட்டுருக்காம நீங்களே போய் வாங்குனிங்கனா காசு மிச்சம். அதேமாதிரி ஓப்பன் சோர்ஸ் சாப்ட்வேரையும், ஒரு நிறுவனம் மூலமா வாங்கினா அவர்கள் தருகிற சேவைக்குத் தகுந்தாற்போல கட்டணம் வசூலிக்கப் படும். இல்ல நானே பாத்துக்கிறன்னா பிரச்சனை இல்லை.இதுல ஏதோ ஜி.பி.எல் GPL (GNU Public License)ன்னு இருக்காமே, அப்படீன்னா என்னாதுன்னு கேட்பவர்களுக்காக. இது பெரும்பாலான ஓப்பன் சோர்ஸ் சாப்ட்வேர்களுக்கு வழங்கப்படும் லைசன்ஸ் ஆகும். இதை வாங்க நீங்கள் காசெல்லாம் கொடுக்க வேண்டாம், ஆனால் நீங்கள் இலவசமாக பெற்றுக் கொண்டதை அடுத்தவருக்கும் எந்த நிபந்தனையின்றியும் இலவசமாகவே தரவேண்டும். 


GNUவுக்கு விரிவாக்கம் GNU is Not Unix. வடிவேலுவின் திரும்பத் திரும்ப பேசுற நீ... காமெடி போல நீங்க எத்தனை தடவ GNUவ விரிவாக்கம் பண்ணுனாலும், அது சொன்னதையேத்தான் சொல்லும். இதைத்தான் ஆங்கிலத்தில் Recursive accronym என்று வழங்கப்படுகிறது. நீங்க சும்மா இருந்தீங்கனா ஒரு எட்டு sourceforge.net பக்கம் போயிட்டு வாங்க.

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