ഈ പരിഭാഷയിൽ, 2021-10-24 മുതൽ ആദ്യ ഇംഗ്ലീഷ് താളിൽവരുത്തിയിട്ടുള്ള മാറ്റങ്ങൾ ഉണ്ടാകണമെന്നില്ല.
താങ്കൾക്കു് ആ മാറ്റങ്ങൾ നോക്കാം. ഈ ലേഖനത്തിന്റെ പരിഭാഷ പാലിയ്ക്കുന്നതിനെ കൂറിച്ചുള്ള വിവരങ്ങൾക്കു്, ദയവായി Translations README നോക്കുക.
ഗ്നു സംരംഭം
റിച്ചാർഡ് സ്റ്റാൾമാൻ എഴുതിയതു്
ഓപ്പൺ സോഴ്സസ് എന്ന പുസ്തകത്തിൽ ആദ്യമായി പ്രസിദ്ധീകരിച്ചതു്. റിച്ചാർഡ് സ്റ്റാൾമാൻ ഒരിക്കലും “ഓപ്പൺ സോഴ്സി”നെ പിന്തുണച്ചിട്ടില്ല, എന്നാൽ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രസ്ഥാനത്തിന്റെ ആശയങ്ങൾ ആ പുസ്തകത്തിൽ പൂർണമായും ഇല്ലാതാവുന്നതു് ഒഴിവാക്കാനാണു് ഈ ലേഖനം സംഭാവന ചെയ്തതു്.
നമ്മൾ ഉപയോഗിക്കുന്ന സോഫ്റ്റ്വെയർ സ്വതന്ത്രമായിരിക്കണമെന്നു് നിർബന്ധിക്കേണ്ടതു് എന്നത്തേക്കാളും പ്രാധാന്യമർഹിക്കുന്നതു് എന്തുകൊണ്ടു്.
ആദ്യ സോഫ്റ്റ്വെയർ-പങ്കിടൽ കൂട്ടായ്മ
1971-ൽ എംഐടി നിർമിത ബുദ്ധി പരീക്ഷണശാലയിൽ (എഐ ലാബ്) ഞാൻ ജോലി ചെയ്യാൻ തുടങ്ങിയപ്പോൾ, വർഷങ്ങൾക്കു മുമ്പേ നിലനിന്നിരുന്ന സോഫ്റ്റ്വെയർ-പങ്കിടൽ കൂട്ടായ്മയുടെ ഭാഗമാകുകയുണ്ടായി. സോഫ്റ്റ്വെയർ പങ്കുവെക്കുന്നതു് ഞങ്ങളുടെ ഒരു പ്രത്യേക കൂട്ടായ്മയിൽ മാത്രം ഒതുങ്ങിയിരുന്ന കാര്യമായിരുന്നില്ല; പാചകക്കുറിപ്പുകൾ പങ്കുവെക്കുന്നതു് പാചകം ചെയ്യുന്നതിനോളം പഴക്കമുള്ളതാണു് എന്നതുപോലെ തന്നെ, അതു് കംപ്യൂട്ടറിനോളം പഴക്കമുള്ളതാണു്. പക്ഷേ ഞങ്ങൾ മിക്ക ആളുകളേക്കാളും കൂടുതൽ അതു ചെയ്തിരുന്നു.
എഐ ലാബിൽ ഉപയോഗിച്ചിരുന്നത് ആ കാലഘട്ടത്തിലെ ഏറ്റവും വലിയ കമ്പ്യൂട്ടറുകളിൽ ഒന്നായ ഡിജിറ്റൽ പിഡിപി-10 നു വേണ്ടി അവിടുത്തെ ഉദ്യോഗസ്ഥരായ ഹാക്കർമാർ (1) രൂപകൽപ്പന ചെയ്തതും അസംബ്ലർ ഭാഷയിൽ എഴുതിയതുമായ ഐടിഎസ് (ഇൻകംപാറ്റിബിൾ ടൈംഷെയറിങ് സിസ്റ്റം) എന്ന ഒരു ടൈം ഷെയറിങ് ഓപ്പറേറ്റിങ് സിസ്റ്റം ആണ്. ആ കൂട്ടായ്മയിലെ ഒരു അംഗമെന്ന നിലയിലും ഒരു എഐ ലാബ് സിസ്റ്റം ഹാക്കർ ഉദ്യോഗസ്ഥൻ എന്ന നിലയിലും, എന്റെ ജോലി ഈ സിസ്റ്റം മെച്ചപ്പെടുത്തുക എന്നതായിരുന്നു.
ഞങ്ങളുടെ സോഫ്റ്റ്വെയറിനെ ഞങ്ങൾ “സ്വതന്ത്ര സോഫ്റ്റ്വെയർ” എന്നു വിളിച്ചിരുന്നില്ല, കാരണം ആ പദം അപ്പോഴും നിലവിൽ വന്നിരുന്നില്ല; എന്നാൽ ഇതു തന്നെ ആയിരുന്നു അതു്. മറ്റൊരു സർവ്വകലാശാലയിലെയൊ അല്ലെങ്കിൽ ഒരു കമ്പനിയിലെയൊ ആളുകൾക്കു് ഒരു പ്രോഗ്രാം പോർട്ടു ചെയ്തുപയോഗിക്കേണ്ടി വരുമ്പോൾ, ഞങ്ങൾ സന്തോഷപൂർവ്വം അതിനനുവദിച്ചിരുന്നു. അപരിചിതവും രസകരവുമായ ഒരു പ്രോഗ്രാം ആരെങ്കിലും ഉപയോഗിക്കുന്നതായി കണ്ടാൽ, നിങ്ങൾക്കു് എപ്പോൾ വേണമെങ്കിലും സോഴ്സ് കോഡിനായി ആവശ്യപ്പെടാമായിരുന്നു, അതിലൂടെ നിങ്ങൾക്കു് അതു വായിക്കാനും മാറ്റം വരുത്താനും അല്ലെങ്കിൽ അതിന്റെ ചില ഭാഗങ്ങൾ പുനരുപയോഗിച്ചു് ഒരു പുതിയ പ്രോഗ്രാം ഉണ്ടാക്കുവാനും സാധിക്കുമായിരുന്നു.
(1) “ഹാക്കർ” എന്ന വാക്കു് “സുരക്ഷ ഭേദകൻ” എന്ന അർത്ഥത്തിൽ ഉപയോഗിക്കുന്നതു് ബഹുജനമാധ്യമങ്ങളുടെ ഭാഗത്തുണ്ടായിട്ടുള്ള ആശയക്കുഴപ്പമാണു്. ഞങ്ങൾ ഹാക്കർമാർ ആ അർത്ഥത്തെ അംഗീകരിക്കുന്നില്ല, മാത്രമല്ല പ്രോഗ്രാം ചെയ്യാനിഷ്ടപ്പെടുന്ന, കളിയായിട്ടുള്ള സാമർത്ഥ്യത്തെ ആസ്വദിക്കുന്ന, അല്ലെങ്കിൽ ഇവ രണ്ടും കൂടിയുള്ള ഒരാൾ എന്നർത്ഥമാക്കുന്ന തരത്തിൽ ആ വാക്കുപയോഗിക്കുന്നതു് തുടരുകയും ചെയ്യുന്നു. ഹാക്കിങ്ങിനെ കുറിച്ചുള്ള എന്റെ ലേഖനം കാണുക.
കൂട്ടായ്മയുടെ തകർച്ച
1980-കളുടെ തുടക്കത്തിൽ ഡിജിറ്റൽ പിഡിപി-10 സീരീസ് നിറുത്തലാക്കിയപ്പോൾ ഈ സാഹചര്യത്തിനു് ഗുരുതരമായ മാറ്റമുണ്ടായി. 60-കളിൽ ഗംഭീരവും പ്രബലവുമായിരുന്ന ഇതിന്റെ ആർക്കിടെക്ചറിനു് 80-കളിൽ സാദ്ധ്യമായിക്കൊണ്ടിരുന്ന കൂടുതൽ വിസ്തൃതമായ അഡ്രസ്സുകളിലേക്കു് സ്വാഭാവികമായും വിപുലപ്പെടുത്താൻ കഴിഞ്ഞിരുന്നില്ല. അതായതു് ഐടിഎസ്-ൽ അടങ്ങിയിരുന്ന ഏകദേശം എല്ലാ പ്രോഗ്രാമുകളും കാലഹരണപ്പെട്ടിരുന്നു.
എഐ ലാബ് ഹാക്കർ കൂട്ടായ്മ ഇതിനകം തന്നെ തകർന്നു പോയിരുന്നു. 1981-ൽ, ഉപോത്പന്നമായി ഉണ്ടായ സിംബോളിക്സ് എന്ന കമ്പനി എഐ ലാബിൽ നിന്നുമുള്ള ഏകദേശം എല്ലാ ഹാക്കർമാരെയും ലാബിലെ ജോലി രാജിവെപ്പിച്ചു് അവരുടെ കമ്പനിയിലേക്കു ചേർത്തു, അങ്ങനെ ആളൊഴിഞ്ഞ കൂട്ടായ്മയ്ക്കു് സ്വയം പിടിച്ചുനില്ക്കാൻ പറ്റാതായി. (സ്റ്റീവ് ലെവിയുടെ ഹാക്കേർസ് എന്ന പുസ്തകം ഈ സംഭവങ്ങളെ കുറിച്ചു പറയുന്നുണ്ടു്, മാത്രമല്ല ഈ കൂട്ടായ്മയുടെ തുടക്കത്തെ കുറിച്ചു് ഒരു വ്യക്തമായ ചിത്രവും ഇതു നല്കുന്നു.) 1982-ൽ എഐ ലാബ് ഒരു പുതിയ പിഡിപി-10 വാങ്ങിയപ്പോൾ, ഇതിന്റെ അഡ്മിനിസ്ട്രേറ്റർമാർ ഐടിഎസിനു പകരം ഡിജിറ്റലിന്റെ അസ്വതന്ത്ര ടൈംഷെയറിങ് സിസ്റ്റം ഉപയോഗിക്കുവാൻ തീരുമാനിച്ചു.
വിഎഎക്സ് (VAX) അല്ലെങ്കിൽ 68020 പോലുള്ള ആ കാലഘട്ടത്തിലെ നൂതന കംപ്യൂട്ടറുകൾക്കു് അവരുടേതായ ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങൾ ഉണ്ടായിരുന്നു, എന്നാൽ അവയൊന്നും സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആയിരുന്നില്ല: എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയുന്ന ഒരു പകർപ്പു കിട്ടാൻ പോലും വെളിപ്പെടുത്തില്ലെന്ന ഒരു ധാരണപത്രം നിങ്ങൾ ഒപ്പു വെക്കേണ്ടിയിരുന്നു.
ഇതിനർത്ഥം ഒരു കംപ്യൂട്ടർ ഉപയോഗിക്കുമ്പോഴുള്ള ആദ്യ ചുവടു് നിങ്ങളുടെ അയൽക്കാരെ സഹായിക്കില്ല എന്നു പ്രതിജ്ഞ ചെയ്യുകയായിരുന്നു. സഹകരണ മനോഭാവമുള്ള ഒരു കൂട്ടായ്മ വിലക്കപ്പെട്ടു. കുത്തക സോഫ്റ്റ്വെയറുകളുടെ ഉടമസ്ഥർ ഉണ്ടാക്കിയ നിയമം ഇതായിരുന്നു, “നിങ്ങൾ നിങ്ങളുടെ അയൽക്കാരുമായി പങ്കുവെക്കുകയാണെങ്കിൽ, നിങ്ങൾ കൊള്ളയടിക്കുകയാണു്. നിങ്ങൾ എന്തെങ്കിലും മാറ്റം ആഗ്രഹിക്കുന്നെങ്കിൽ, അതിനായി ഞങ്ങളോടു യാചിക്കുക.”
കുത്തക സോഫ്റ്റ്വെയർ സാമൂഹിക സിസ്റ്റം—സോഫ്റ്റ്വെയർ പങ്കുവെക്കുവാനോ അല്ലെങ്കിൽ അതിനു മാറ്റം വരുത്തുവാനോ നിങ്ങൾക്കു് അനുവാദമില്ലെന്നു പറയുന്ന സിസ്റ്റം—സമൂഹവിരുദ്ധവും, അധാർമ്മികവും, തെറ്റായതുമാണെന്നുള്ള ആശയം ചില വായനക്കാർക്കു് ആശ്ചര്യമായി തോന്നിയേക്കാം. എന്നാൽ പൊതുജനങ്ങളെ വേർതിരിക്കുന്നതിനെ അടിസ്ഥാനമാക്കിയുള്ളതും ഉപയോക്താക്കളെ നിസ്സഹായരാക്കുകയും ചെയ്യുന്ന ഒരു സിസ്റ്റത്തെ കുറിച്ചു് മറ്റെന്തു പറയാൻ സാധിക്കും? ഈ ആശയം ആശ്ചര്യമായി തോന്നിയ വായനക്കാർ കുത്തക സോഫ്റ്റ്വെയർ സിസ്റ്റത്തെ തന്നിരിക്കുന്ന പോലെ സ്വീകരിച്ചതാവാം, അല്ലെങ്കിൽ കുത്തക സോഫ്റ്റ്വെയർ വ്യാപാരങ്ങൾ നിർദ്ദേശിച്ച രീതിയിൽ തന്നെ അതിനെ കണക്കാക്കിയിട്ടുണ്ടാകാം. ഈ പ്രശ്നത്തെ ഒരു രീതിയിൽ മാത്രമെ നോക്കിക്കാണാൻ പറ്റുകയുള്ളുവെന്നു ജനങ്ങളെ ബോദ്ധ്യപ്പെടുത്താൻ സോഫ്റ്റ്വെയർ പ്രസാധകർ വളരെ കാലമായി കഠിനാധ്വാനം ചെയ്തിട്ടുണ്ടു്.
സോഫ്റ്റ്വെയർ പ്രസാധകർ അവരുടെ “അവകാശങ്ങൾ” “അടിച്ചേല്പിക്കുന്നതിനെ” കുറിച്ചൊ അല്ലെങ്കിൽ “കൊള്ളത്തരം” തടയുന്നതിനെ കുറിച്ചൊ സംസാരിക്കുമ്പോൾ, വാസ്തവത്തിൽ അവർ പറയുന്നതു് പ്രാധാന്യം കുറഞ്ഞ കാര്യമാണു്. പൊതുജനത്തോടു് യാതൊരു വിസ്താരവുമില്ലാതെ അംഗീകരിക്കാൻ ആവശ്യപ്പെടുന്ന, ഒരു വിചിന്തനവും കൂടാതെയുള്ള അപ്രസ്താവിത ധാരണകളിലാണു് ഈ പ്രസ്താവനകളുടെ യഥാർത്ഥ സന്ദേശം. അതുകൊണ്ടു് നമുക്കു് അവയെ ഒന്നു പരിശോധിക്കാം.
സോഫ്റ്റ്വെയർ കമ്പനികൾക്കു സോഫ്റ്റ്വെയർ സ്വന്തമാക്കാനുള്ള അവകാശം സ്വാഭാവികമായും ഉണ്ടെന്നും അതുകൊണ്ടുതന്നെ അതിന്റെ എല്ലാ ഉപയോക്താക്കൾക്കും മുകളിൽ അധികാരമുണ്ടെന്നതുമാണു് ഒരു ധാരണ. (ഇതൊരു സ്വാഭാവികമായ അവകാശമായിരുന്നെങ്കിൽ എന്തു തന്നെയായാലും പൊതുജനത്തിനു് എത്രതന്നെ ഉപദ്രവമാണെങ്കിലും, നമുക്കു് എതിർക്കുവാൻ കഴിയുമായിരുന്നില്ല.) പക്ഷേ, യുഎസ് ഭരണഘടനയും നിയമ സമ്പ്രദായവും ഈ കാഴ്ചപ്പാടിനെ തള്ളിക്കളയുന്നു; പകർപ്പവകാശം ഒരു സ്വാഭാവിക അവകാശമല്ല, എന്നാൽ അതു് പകർപ്പിനുള്ള ഉപയോക്താക്കളുടെ സ്വാഭാവികമായ അവകാശത്തെ പരിമിതപ്പെടുത്തുന്ന സർക്കാർ ചുമത്തിയ കൃത്രിമമായ ഒരു കുത്തകയാണു്.
മറ്റൊരു അപ്രസ്താവിത ധാരണ സോഫ്റ്റ്വെയറിനെ കുറിച്ചുള്ള ഒരേഒരു പ്രധാന കാര്യം ഇതു് എന്തു ജോലി ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു എന്നതാണു്—അതായതു് നമ്മൾ കംപ്യൂട്ടർ ഉപയോക്താക്കൾ നമുക്കു് എന്തുതരം സമൂഹമാണു് അനുവദനീയമായിട്ടുള്ളതെന്നതിൽ ശ്രദ്ധിക്കുവാൻ പാടില്ല.
മൂന്നാമത്തെ ധാരണ, പ്രോഗ്രാമിന്റെ ഉപയോക്താക്കളുടെ മുകളിലുള്ള അധികാരം നമ്മൾ ഒരു കമ്പനിയ്ക്കു നല്കിയില്ലെങ്കിൽ ഉപയോഗപ്രദമായ ഒരു സോഫ്റ്റ്വെയറും നമുക്കുണ്ടാവില്ല (അല്ലെങ്കിൽ ഏതെങ്കിലും ഒരു പ്രത്യേക ജോലി ചെയ്യാൻ കഴിയുന്ന ഒരു പ്രോഗ്രാം ഒരിക്കലും ഉണ്ടാവില്ല). ചങ്ങലകളിടാതെ തന്നെ ധാരാളം ഉപയോഗപ്രദമായ സോഫ്റ്റ്വെയർ നമുക്കു് ഉണ്ടാക്കാൻ കഴിയുമെന്നു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ മൂവ്മെന്റ് തെളിയിക്കുന്നതിനു മുൻപു്, ഈ ധാരണ ന്യായമായി തോന്നിയിട്ടുണ്ടാകാൻ സാധ്യതയുണ്ടു്.
ഈ ധാരണകൾ അംഗീകരിക്കാൻ നിങ്ങൾ വിസമ്മതിക്കുകയും ഈ പ്രശ്നങ്ങളെ ഉപയോക്താക്കൾക്കു് പ്രഥമസ്ഥാനം കൊടുത്തുകൊണ്ടു് സാമാന്യബുദ്ധിയിലുള്ള ധാർമ്മികബോധത്തിന്റെ അടിസ്ഥാനത്തിൽ കണക്കിലെടുക്കുകയും ചെയ്യുകയാണെങ്കിൽ, നമ്മൾ വളരെ വ്യത്യസ്തമായ നിഗമനങ്ങളിലാണു് എത്തിച്ചേരുക. തങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ചു് പ്രോഗ്രാമുകളെ പരിഷ്കരിക്കുവാനും സോഫ്റ്റ്വെയർ പങ്കുവെക്കുവാനും കംപ്യൂട്ടർ ഉപയോക്താക്കൾ നിർബന്ധമായും സ്വതന്ത്രരായിരിക്കണം, കാരണം മറ്റുള്ളവരെ സഹായിക്കുക എന്നതാണു് സമൂഹത്തിന്റെ ആധാരം.
ഈ നിഗമനത്തിനു പിന്നിലെ വാദങ്ങൾക്കുള്ള വിപുലമായ ഒരു പ്രസ്താവനയ്ക്കു് ഇവിടെ ഇടമില്ലാത്തതിനാൽ, വായനക്കാരോടു് http://www.gnu.org/philosophy/why-free.html, http://www.gnu.org/philosophy/free-software-even-more-important.html എന്നീ വെബ് താളുകൾ സന്ദർശിക്കുവാനാണു് എന്റെ നിർദ്ദേശം.
തീർത്തും ധാർമ്മികമായ ഒരു തിരഞ്ഞെടുപ്പു്
എന്റെ കൂട്ടായ്മ ഇല്ലാതായതോടു കൂടി മുമ്പത്തെ പോലെ തുടരുക എന്നതു് അസാധ്യമായി തീർന്നു. പകരം, തികച്ചും ധാർമ്മികമായ ഒരു തിരഞ്ഞെടുപ്പിനെ എനിക്കു് അഭിമുഖീകരിക്കേണ്ടി വന്നു.
വെളിപ്പെടുത്തില്ലെന്ന ധാരണപത്രം ഒപ്പു വെക്കുകയും സഹപ്രവർത്തകരായ ഹാക്കർമാരെ സഹായിക്കില്ല എന്നു പ്രതിജ്ഞ ചെയ്യുകയും ചെയ്തു്, കുത്തക സോഫ്റ്റ്വെയറിന്റെ ലോകത്തിലേക്കു ചേരുകയായിരുന്നു എളുപ്പമുള്ളൊരു വഴി. മിക്കവാറും ഞാനും സോഫ്റ്റ്വെയർ ഡവലപ്പു ചെയ്യുകയും വെളിപ്പെടുത്തില്ലെന്ന ധാരണപത്രങ്ങൾക്കു കീഴിൽ അവ പ്രസിദ്ധീകരിക്കുകയും, അങ്ങനെ കൂട്ടുകാരെ ചതിക്കാനായി മറ്റുള്ള ജനങ്ങളുടെ മുകളിലുള്ള സമ്മർദ്ദം കൂട്ടുകയും ചെയ്യുമായിരുന്നു.
ഇതു വഴി എനിക്കു് പണമുണ്ടാക്കാൻ സാധിക്കുമായിരുന്നു, ഒരു പക്ഷേ ഞാൻ കോഡ് എഴുതി രസിച്ചെന്നുമിരിക്കാം. എന്നാൽ എന്റെ ഔദ്യോഗികജീവിതത്തിന്റെ അവസാനം ജനങ്ങളെ വേർതിരിക്കാനായുള്ള മതിലുകൾ നിർമ്മിച്ചിരുന്ന നാളുകളിലേക്കു ഞാൻ തിരിഞ്ഞുനോക്കും, പിന്നെ ലോകത്തെ ഒരു ചീത്ത സ്ഥലമാക്കി മാറ്റാൻ എന്റെ ജീവിതം ചെലവഴിച്ചതായി എനിക്കു തോന്നും.
അതിനകം തന്നെ വെളിപ്പെടുത്തില്ലെന്ന ധാരണപത്രത്തിന്റെ സ്വീകർത്താവെന്ന നിലയിലുള്ള അനുഭവം എനിക്കുണ്ടായിട്ടുണ്ടു്. എനിക്കും എംഐടി എഐ ലാബിനും ഞങ്ങളുടെ പ്രിന്ററിനെ നിയന്ത്രിക്കുന്നതിനുള്ള പ്രോഗ്രാമിന്റെ സോഴ്സ് കോഡ് ഒരാൾ നിരസിച്ചപ്പോഴായിരുന്നു അതു്. (ഈ പ്രോഗ്രാമിൽ ചില സവിശേഷതകളുടെ കുറവുണ്ടായിരുന്നതുകൊണ്ടു് ആ പ്രിന്റർ ഉപയോഗിക്കുന്നതു് വളരെയധികം മുഷിപ്പിക്കുന്നതാക്കിതീർത്തു.) അതുകൊണ്ടുതന്നെ വെളിപ്പെടുത്തില്ലെന്ന ധാരണപത്രം നിഷ്കളങ്കമായിരുന്നുവെന്നു് എനിക്കു് എന്നോടുതന്നെ പറയുവാൻ കഴിഞ്ഞിരുന്നില്ല. അയാൾ ഞങ്ങളുമായി പങ്കുവെക്കാൻ നിരസിച്ചതു് എന്നെ വല്ലാതെ ദേഷ്യം പിടിപ്പിച്ചു; തിരിഞ്ഞുനിന്നു് എല്ലാവരോടും ഇതുതന്നെ ചെയ്യാൻ എനിക്കു കഴിയുമായിരുന്നില്ല.
വ്യക്തവും പക്ഷേ അസുഖകരവുമായ മറ്റൊരു വഴി, കംപ്യൂട്ടർ മേഖല തന്നെ വിടുക എന്നതായിരുന്നു. ഇതുവഴി എന്റെ കഴിവുകൾ ഒരിക്കലും ദുരുപയോഗപ്പെടുമായിരുന്നില്ല, പക്ഷേ അവ പാഴായിപ്പോകുമായിരുന്നു. കംപ്യൂട്ടർ ഉപയോക്താക്കളെ ഭിന്നിപ്പിക്കുകയും പരിമിതികൾ സൃഷ്ടിക്കുകയും ചെയ്തുവെന്ന കുറ്റബോധം എനിക്കുണ്ടാകുമായിരുന്നില്ല, എന്നിരുന്നാലും ഇതു സംഭവിക്കുക തന്നെ ചെയ്യുമായിരുന്നു.
അതുകൊണ്ടു് ഒരു പ്രോഗ്രാമറിനു് നല്ല കാര്യം എന്തെങ്കിലും ചെയ്യാൻ സാധിക്കുന്ന ഒരു വഴിക്കുവേണ്ടി ഞാൻ തിരഞ്ഞു. ഒരിക്കൽ കൂടി ഒരു കൂട്ടായ്മ ഉണ്ടാക്കുവാൻ സാധിക്കുന്ന തരത്തിൽ ഉള്ള ഒരു പ്രോഗ്രമൊ അല്ലെങ്കിൽ എനിക്കു് എഴുതാൻ കഴിയുന്ന പ്രോഗ്രാമുകളൊ ഉണ്ടോ എന്നു് ഞാൻ എന്നോടുതന്നെ ചോദിച്ചു?
ഉത്തരം വ്യക്തമായിരുന്നു: ആദ്യം വേണ്ടിയിരുന്നതു് ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം ആയിരുന്നു. അതാണു് ഒരു കംപ്യൂട്ടർ ഉപയോഗിക്കാനായിട്ടുള്ള നിർണ്ണായകമായ സോഫ്റ്റ്വെയർ. ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം ഉപയോഗിച്ചു് നിങ്ങൾക്കു് ഒരുപാടു് കാര്യങ്ങൾ ചെയ്യാൻ കഴിയും; അതുപയോഗിക്കാതെ, നിങ്ങൾക്കു് കംപ്യൂട്ടർ പ്രവർത്തിപ്പിക്കാനെ കഴിയില്ല. ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിലൂടെ, സഹകരണമനോഭാവത്തോടെയുള്ള ഹാക്കർമാരുടെ ഒരു കൂട്ടായ്മ വീണ്ടും ഞങ്ങൾക്കുണ്ടാക്കാൻ കഴിയുമായിരുന്നു—മാത്രമല്ല ആരെ വേണമെങ്കിലും കൂട്ടായ്മയിലേക്കു ക്ഷണിക്കുവാനും. കൂടാതെ ഒരാളുടെ സുഹൃത്തുക്കളെ നഷ്ടപ്പെടുത്താനുള്ള ആസൂത്രണങ്ങളൊന്നും നടത്താതെ തന്നെ ആർക്കുവേണമെങ്കിലും കംപ്യൂട്ടർ ഉപയോഗിക്കാൻ കഴിയും.
ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം ഡവലപ്പർ എന്നരീതിയിൽ, ഈ ജോലിക്കു് ഉചിതമായ വൈദഗ്ദ്ധ്യം എനിക്കുണ്ടായിരുന്നു. അതുകൊണ്ടു് വിജയം ഉറപ്പിക്കാൻ കഴിയുമായിരുന്നില്ലെങ്കിലും, ഞാൻ ഈ ജോലി ചെയ്യുവാനായി തെരഞ്ഞെടുക്കപ്പെട്ടതാണെന്നു് ഞാൻ തിരിച്ചറിഞ്ഞു. പോർട്ടബിൾ ആയരീതിയിൽ യുണിക്സിനു യോജിക്കുന്ന തരത്തിൽ ആ സിസ്റ്റം ഉണ്ടാക്കുവാൻ ഞാൻ തീരുമാനിച്ചു, ഇതിലൂടെ യുണിക്സ് ഉപയോക്താക്കൾക്കു് എളുപ്പത്തിൽ ഇതിലേക്കു മാറാൻ കഴിയും. ഗ്നു എന്ന പേരു് തെരഞ്ഞെടുക്കപ്പെട്ടതു്, ഒരു ഹാക്കർ പാരമ്പര്യം പിന്തുടർന്നാണു്, ഒരു ആവർത്തിക്കുന്ന ചുരുക്കെഴുത്തായി “GNU's Not Unix.” ഇതു് ഒരക്ഷരമെന്ന രീതിയിൽ (syllable) കനമുള്ള g-യോടു കൂടിയാണു് ഉച്ചരിക്കുന്നതു്.
മറ്റു പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാൻ കഷ്ടിച്ചാവശ്യമായ വെറും ഒരു കെർണൽ എന്നല്ല ഓപ്പറേറ്റിങ് സിസ്റ്റം എന്നതിനർത്ഥം. 1970-കളിൽ, ഓപ്പറേറ്റിങ് സിസ്റ്റം എന്ന പേരിനു യോഗ്യതയുള്ളവയെല്ലാം കമ്മാന്റ് പ്രൊസസ്സറുകളും അസ്സെംബ്ലറുകളും കമ്പൈലറുകളും ഇന്റർപ്രെറ്ററുകളും ഡിബഗ്ഗറുകളും ടെക്സ്റ്റ് എഡിറ്ററുകളും മെയിലറുകളും അതിൽ കൂടുതലും അടങ്ങിയവയായിരുന്നു. ഐടിഎസിൽ അവയുണ്ടായിരുന്നു, മൾട്ടിക്സിൽ അവയുണ്ടായിരുന്നു, വിഎംഎസിൽ അവയുണ്ടായിരുന്നു, യുണിക്സിലും അവയുണ്ടായിരുന്നു. ഗ്നു ഓപ്പറേറ്റിങ് സിസ്റ്റവും അവ ഉൾപ്പെടുത്തും.
പിന്നീടു്, ഹില്ലേലിന്റേതു്(1) എന്നു പറയപ്പെടുന്ന ഈ വാക്കുകൾ ഞാൻ കേൾക്കുകയുണ്ടായി:
If I am not for myself, who will be for me?
If I am only for myself, what am I?
If not now, when? 1
ഗ്നു സംരംഭം ആരംഭിക്കാനുള്ള തീരുമാനം ഇതിനു തുല്യമായ ഒരു ആദർശത്തിന്റെ അടിസ്ഥാനത്തിലായിരുന്നു.
(1) ഒരു നിരീശ്വരവാദി ആയതുകൊണ്ടുതന്നെ, മതനേതാക്കന്മാരെ ഞാൻ പിന്തുടരാറില്ല, എന്നാൽ ചിലപ്പോഴൊക്കെ അവരിൽ ഒരാൾ പറഞ്ഞിട്ടുള്ള എന്തെങ്കിലും കാര്യത്തെ ഞാൻ ആരാധിക്കുന്നതായി കാണുന്നു.
സ്വാതന്ത്ര്യം എന്നർത്ഥത്തിലുള്ള ഫ്രീ
“ഫ്രീ സോഫ്റ്റ്വെയർ” എന്ന പദം ചിലപ്പോഴൊക്കെ തെറ്റിദ്ധരിക്കപ്പെടാറുണ്ടു്—ഇതിനു വിലയുമായി യാതൊരു ബന്ധവുമില്ല. ഇതു് സ്വാതന്ത്ര്യത്തെ സംബന്ധിക്കുന്നതാണു്. അതായതു്, ഫ്രീ സോഫ്റ്റ്വെയർ നിർവചനം ഇതാണു്.
ഒരു പ്രോഗ്രാം, നിങ്ങൾക്കു്, അതായതു് ഒരു ഉപയോക്താവിനു്, സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആണെങ്കിൽ:
- ഏതാവശ്യത്തിനും നിങ്ങളുടെ ഇഷ്ടപ്രകാരം പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കാനുള്ള സ്വാതന്ത്ര്യം നിങ്ങൾക്കുണ്ടു്.
- നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ചു് പ്രോഗ്രാമിനു മാറ്റം വരുത്താനുള്ള സ്വാതന്ത്ര്യം നിങ്ങൾക്കുണ്ടു്. (ഈ സ്വാതന്ത്ര്യത്തിന്റെ ഫലപ്രദമായ ഉപയോഗത്തിനു്, നിങ്ങൾക്കു നിർബന്ധമായും സോഴ്സ് കോഡ് ലഭ്യമായിരിക്കണം, കാരണം സോഴ്സ് കോഡില്ലാതെ ഒരു പ്രോഗ്രാമിനു മാറ്റം വരുത്തുക എന്നതു ദുഷ്കരമാണു്.)
- പകർപ്പുകൾ സൌജന്യമായൊ അല്ലെങ്കിൽ ഒരു വില ഈടാക്കിയൊ പുനർവിതരണം ചെയ്യാനുള്ള സ്വാതന്ത്ര്യം നിങ്ങൾക്കുണ്ടു്.
- നിങ്ങളുടെ പരിഷ്കരിച്ച പതിപ്പുകളുടെ പകർപ്പുകൾ വിതരണം ചെയ്യാനുള്ള സ്വാതന്ത്ര്യം നിങ്ങൾക്കുണ്ടു്, ഇതിലൂടെ നിങ്ങളുടെ മെച്ചപ്പെടുത്തലുകൾ ഉപയോഗപ്പെടുത്താനുള്ള അവസരം ഒരു സമൂഹത്തിനു മുഴുവൻ നല്കാൻ കഴിയും.
“ഫ്രീ” എന്നതു് വിലയെ അല്ല, സ്വാതന്ത്ര്യത്തെ കുറിക്കുന്നതുകൊണ്ടുതന്നെ, പകർപ്പുകളുടെ വില്പനയും സ്വതന്ത്ര സോഫ്റ്റ്വെയറും തമ്മിൽ പരസ്പര വൈരുദ്ധ്യം ഒന്നും തന്നെയില്ല. വാസ്തവത്തിൽ, പകർപ്പുകൾ വില്ക്കുവാനുള്ള സ്വാതന്ത്ര്യം നിർണ്ണായകമാണു്: സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ശേഖരങ്ങൾ അടങ്ങിയ സിഡി-റോമുകളുടെ വില്പന ഈ കൂട്ടായ്മയെ സംബന്ധിച്ചിടത്തോളം പ്രധാനപ്പെട്ടതാണു്, മാത്രമല്ല അവയുടെ വില്പനയിലൂടെ സ്വരൂപിക്കുന്ന തുക സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്മെന്റിനു് പ്രധാനവുമാണു്. അതുകൊണ്ടു്, ഈ ശേഖരത്തിൽ ഉൾപ്പെടുത്താൻ ആളുകൾക്കു് സ്വാതന്ത്ര്യം നല്കാത്ത ഒരു പ്രോഗ്രാം സ്വതന്ത്ര സോഫ്റ്റ്വെയർ അല്ല.
“ഫ്രീ” എന്ന വാക്കിന്റെ വ്യക്തതയില്ലായ്മ കാരണം, കുറേ നാളുകളായി പകരം വെക്കാവുന്ന പദങ്ങൾക്കു വേണ്ടി ആളുകൾ തിരയുന്നു, പക്ഷേ ആരും തന്നെ മെച്ചപ്പെട്ട ഒരെണ്ണം കണ്ടെത്തിയിട്ടില്ല. ഇംഗ്ലീഷ് ഭാഷയ്ക്കു് മറ്റേതു ഭാഷയേക്കാളും കൂടുതൽ വാക്കുകളും സൂക്ഷ്മഭേദങ്ങളുമുണ്ടു്, പക്ഷേ ലളിതവും വ്യക്തവുമായ, “സ്വാതന്ത്ര്യം” എന്നർത്ഥമുള്ള ഒരു വാക്കിന്റെ അഭാവം ഇതിനുണ്ടു്—“unfettered” (വിലങ്ങുമാറ്റിയ) എന്ന വാക്കാണു് ഏറ്റവും അടുത്തായി വരുന്നതു്. “liberated” (സ്വതന്ത്രമാക്കിയ), “freedom” (സ്വാതന്ത്ര്യം), “open” (തുറന്ന) എന്നീ പകരം പദങ്ങൾക്കു് ഒന്നുകിൽ തെറ്റായ അർത്ഥമോ അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും ന്യൂനതയോ ഉണ്ടു്.
ഗ്നു സോഫ്റ്റ്വെയറും ഗ്നു സിസ്റ്റവും
ഒരു സമ്പൂർണ സിസ്റ്റം ഡവലപ്പു ചെയ്യുക എന്നതു് വളരെ വലിയ സംരംഭമാണു്. അതു് എത്തിപ്പിടിക്കാൻ കഴിയുന്ന തരത്തിലാക്കാനായി, നിലവിലുള്ള പരമാവധി സ്വതന്ത്ര സോഫ്റ്റ്വെയറുകൾ ഉപയോഗപ്പെടുത്താനും യോജിച്ച രീതിയിൽ മാറ്റം വരുത്തുവാനും ഞാൻ തീരുമാനിച്ചു. ഉദാഹരണത്തിനു്, തുടക്കത്തിലേ തന്നെ ടെക് (TeX) മുഖ്യ ടെക്സ്റ്റ് ഫോർമാറ്റർ ആയി ഉപയോഗിക്കാൻ ഞാൻ തീരുമാനിച്ചു; കുറച്ചു വർഷങ്ങൾക്കു ശേഷം, മറ്റൊരു വിൻഡോ സിസ്റ്റം നിർമ്മിക്കുന്നതിനു പകരം ഗ്നുവിനു വേണ്ടി എക്സ് വിൻഡോ സിസ്റ്റം ഉപയോഗിക്കാൻ ഞാൻ തീരുമാനിച്ചു.
ഈ തീരുമാനങ്ങൾ കൊണ്ടും അതുപോലുള്ള മറ്റുള്ളവ കൊണ്ടും, ഗ്നു സിസ്റ്റം എന്നു പറയുന്നതു് എല്ലാ ഗ്നു സോഫ്റ്റ്വെയറുകളുടെയും ശേഖരം എന്നതിനു തുല്യമല്ല. ഗ്നു സിസ്റ്റത്തിൽ ഗ്നു സോഫ്റ്റ്വെയർ അല്ലാത്ത പ്രോഗ്രാമുകളും അടങ്ങിയിട്ടുണ്ടു്, സ്വന്തം ആവശ്യങ്ങൾക്കു വേണ്ടി മറ്റുള്ള ആളുകളും സംരംഭങ്ങളും ഡവലപ്പു ചെയ്തിട്ടുള്ള പ്രോഗ്രാമുകളാണു് അവ, എന്നാൽ അവയെല്ലാം സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആയതുകൊണ്ടു് നമുക്കു് ഉപയോഗിക്കാൻ പറ്റുന്നവയാണു്.
ഈ സംരംഭം ആരംഭിക്കുന്നു
1984 ജനുവരിയിൽ ഞാൻ എംഐടിയിലെ ജോലി ഉപേക്ഷിച്ചു് ഗ്നു സോഫ്റ്റ്വെയർ എഴുതാൻ തുടങ്ങി. എംഐടി വിടുക എന്നതു് അനിവാര്യമായിരുന്നു കാരണം അതിലൂടെ ഗ്നു സ്വതന്ത്ര സോഫ്റ്റ്വെയറായി വിതരണം ചെയ്യുന്നതിൽ ഇടപെടാൻ എംഐടിയ്ക്കു് സാധിക്കില്ല. ഞാൻ ഉദ്യോഗസ്ഥനായി തുടർന്നിരുന്നെങ്കിൽ, ഈ പരിശ്രമത്തെ സ്വന്തമാക്കാനുള്ള അവകാശവാദം ഉന്നയിക്കാൻ എംഐടിയ്ക്കു സാധിക്കുമായിരുന്നു, മാത്രമല്ല അവരുടേതായ വിതരണ നിബന്ധനകൾ ചുമത്താൻ കഴിയുമായിരുന്നു, അല്ലെങ്കിൽ ഈ യത്നത്തെ കുത്തക സോഫ്റ്റ്വെയർ പാക്കേജായി പോലും മാറ്റിയേക്കാമായിരുന്നു. സോഫ്റ്റ്വെയർ പങ്കിടുന്ന ഒരു പുതിയ കൂട്ടായ്മ നിർമ്മിക്കുക എന്നുള്ള ലക്ഷ്യം ഉപയോഗശൂന്യമാകുന്നതു കാണാൻ മാത്രമായി വലിയ തോതിൽ ജോലി ചെയ്യുവാനായുള്ള യാതൊരു ഉദ്ദേശ്യവും എനിക്കുണ്ടായിരുന്നില്ല.
എന്നിരുന്നാലും, അപ്പോൾ എംഐടി എഐ ലാബിന്റെ തലവനായിരുന്ന പ്രൊഫസർ വിൻസ്റ്റൺ, ലാബിലെ സൌകര്യങ്ങൾ തുടർന്നും ഉപയോഗിക്കുവാൻ അനുകമ്പയോടുകൂടി എന്നെ ക്ഷണിച്ചു.
ആദ്യ ചുവടുകൾ
ഗ്നു സംരംഭം തുടങ്ങുന്നതിനു കുറച്ചു മുമ്പായി, “ഫ്രീ യൂണിവേഴ്സിറ്റി” കമ്പൈലർ കിറ്റിനെ കുറിച്ചു ഞാൻ കേട്ടു, വിയുസികെ (VUCK) എന്നും അതറിയപ്പെട്ടിരുന്നു. (“ഫ്രീ” എന്ന ഡച്ച് വാക്കു് v ഉപയോഗിച്ചാണു് എഴുതുന്നതു്.) ഈ കമ്പൈലർ C, പാസ്കൽ തുടങ്ങിയ ഒന്നിലധികം ഭാഷകൾ കൈകാര്യം ചെയ്യാനും ഒന്നിലധികം ടാർഗറ്റ് മെഷീനുകൾ പിന്തുണയ്ക്കാനും രൂപകല്പന ചെയ്തതാണു്. ഇതിന്റെ ലേഖകനോടു് ഗ്നുവിനുവേണ്ടി ഇതുപയോഗിയ്ക്കാൻ കഴിയുമോ എന്നു ചോദിച്ചുകൊണ്ടു് ഞാനൊരു എഴുത്തെഴുതി.
സർവ്വകലാശാല ഫ്രീ ആയിരുന്നു പക്ഷേ കമ്പൈലർ അങ്ങനെ അല്ല എന്നു് പ്രസ്താവിച്ചുകൊണ്ടു് പരിഹാസപൂർവ്വമായ മറുപടിയാണു ലഭിച്ചതു്. അതുകൊണ്ടു് ഗ്നു സംരംഭത്തിനു വേണ്ടിയുള്ള എന്റെ ആദ്യത്തെ പ്രോഗ്രാം ഒരു ബഹുഭാഷ, മൾട്ടിപ്ലാറ്റ്ഫോം കമ്പൈലർ ആയിരിക്കുമെന്നു ഞാൻ തീരുമാനിച്ചു.
കമ്പൈലർ മുഴുവനായും സ്വന്തമായി എഴുതുന്നതു് ഒഴിവാക്കാമെന്ന പ്രതീക്ഷയോടെ, ലോറൻസ് ലിവർമോർ ലാബിൽ ഡവലപ്പു ചെയ്ത മൾട്ടിപ്ലാറ്റ്ഫോം കമ്പൈലർ ആയ പാസ്റ്റൽ കമ്പൈലറിന്റെ സോഴ്സ് കോഡ് ഞാൻ കരസ്ഥമാക്കി. ഇതു് ഒരു സിസ്റ്റം-പ്രോഗ്രാമിങ് ഭാഷയായി രൂപകല്പന ചെയ്ത പാസ്കലിന്റെ വിപുലീകരിച്ച പതിപ്പിൽ എഴുതിയതും അതിനെ പിന്തുണയ്ക്കുന്നതുമായിരുന്നു. ഒരു C ഫ്രണ്ട് എന്റ് അതിനോടു കൂട്ടിച്ചേർത്തു് ഞാനതു് മോട്ടറോള 68000 കംപ്യൂട്ടറിലേക്കു പോർട്ടു ചെയ്യാൻ ആരംഭിച്ചു. പക്ഷേ ആ കമ്പൈലറിനു് മെഗാബൈറ്റുകളോളം സ്റ്റാക് സ്പേസ് വേണമെന്നും ലഭ്യമായ 68000 യുണിക്സ് സിസ്റ്റം 64k മാത്രമേ അനുവദിച്ചിരുന്നുള്ളുവെന്നും കണ്ടെത്തിയപ്പോൾ എനിക്കതിനെ ഉപേക്ഷിക്കേണ്ടതായി വന്നു.
പാസ്റ്റൽ കമ്പൈലർ എങ്ങനെയാണു് പ്രവർത്തിപ്പിക്കുന്നതെന്നു് എനിക്കു മനസ്സിലായി: മുഴുവൻ ഇൻപുട്ട് ഫയലിനെയും അപഗ്രഥിച്ചു് ഒരു സിന്റാക്സ് ട്രീ ആക്കുന്നു, ഈ സിന്റാക്സ് ട്രീയെ മുഴുവനായും “ഇൻസ്ട്രക്ഷനു”-കളുടെ ഒരു ശൃംഖലയാക്കി മാറ്റുന്നു, എന്നിട്ടു് ഒരു മെമ്മറി സ്പെയ്സിനെയും ഒരിക്കലും വെറുതെ ഇടാതെ മുഴുവൻ ഔട്ട്പുട്ട് ഫയലും ഉത്പാദിപ്പിക്കുന്നു. അപ്പോഴാണു് ഒരു പുതിയ കമ്പൈലർ തുടക്കം തൊട്ടു് എഴുതേണ്ടിവരുമെന്ന നിഗമനത്തിൽ ഞാൻ എത്തിച്ചേർന്നതു്. ആ പുതിയ കമ്പൈലർ GCC എന്നാണു് അറിയപ്പെടുന്നതു്; പാസ്റ്റൽ കമ്പൈലറിൽ നിന്നുള്ള ഒന്നും അതിൽ ഉപയോഗിച്ചിട്ടില്ല, പക്ഷേ ഞാൻ മുൻപ് എഴുതിയ C ഫ്രണ്ട് എന്റ് യോജിച്ചരീതിയിൽ ഇതിനോടു ചേർക്കാൻ എനിക്കു കഴിഞ്ഞു. എന്നാൽ ഇതു കുറച്ചു വർഷങ്ങൾക്കു ശേഷമായിരുന്നു; ആദ്യം, ഗ്നു ഇമാക്സിനു വേണ്ടിയാണു് ഞാൻ പ്രവർത്തിച്ചതു്.
ഗ്നു ഇമാക്സ്
ഞാൻ ഗ്നു ഇമാക്സിന്റെ പണി ആരംഭിച്ചതു് 1984 സെപ്റ്റംബറിലാണു്, പിന്നീടു് 1985-ന്റെ തുടക്കത്തിൽ ഇതു് ഉപയോഗ്യയോഗ്യമായി തുടങ്ങിയിരുന്നു. യുണിക്സ് സിസ്റ്റങ്ങൾ ഉപയോഗിച്ചു് എഡിറ്റു ചെയ്യാൻ തുടങ്ങുവാൻ ഇതു് എന്നെ പ്രാപ്തനാക്കി; വിഐ (vi) അല്ലെങ്കിൽ ഇഡി (ed) ഉപയോഗിക്കുവാൻ പഠിക്കുന്നതിൽ ഒരു താത്പര്യവുമില്ലാതിരുന്നതിനാൽ, ഞാൻ എന്റെ എഡിറ്റിങ്ങുകൾ എല്ലാം മറ്റു തരത്തിലുള്ള മെഷീനുകളിലാണു് അതുവരെ ചെയ്തിരുന്നതു്.
ഈ അവസരത്തിൽ, ഗ്നു ഇമാക്സ് ഉപയോഗിക്കാനായുള്ള ആഗ്രഹം ആളുകൾ പ്രകടിപ്പിച്ചു തുടങ്ങി, ഇതു് എങ്ങനെ അതു വിതരണം ചെയ്യാമെന്നുള്ള ചോദ്യമുയർത്തി. ഞാൻ ഉപയോഗിച്ചിരുന്ന എംഐടി കംപ്യൂട്ടറിലെ അജ്ഞാത എഫ്ടിപി (ftp) സെർവറിലേക്കു് ഞാനതു നിക്ഷേപിച്ചു. (അങ്ങനെ, ഈ കംപ്യൂട്ടർ, prep.ai.mit.edu, ഗ്നുവിന്റെ മുഖ്യ എഫ്ടിപി വിതരണ ഇടമായി; ഏതാനും വർഷങ്ങൾക്കു ശേഷം ഇതു പിൻവലിക്കപ്പെട്ടപ്പോൾ, ഞങ്ങൾ ഈ പേരു് ഞങ്ങളുടെ പുതിയ എഫ്ടിപി സെർവറിലേക്കു മാറ്റി.) പക്ഷേ ആ സമയത്തു്, താത്പര്യം പ്രകടിപ്പിച്ച പലരും ഇന്റർനെറ്റിൽ ഉണ്ടായിരുന്നില്ല അതുകൊണ്ടു് അവർക്കു് എഫ്ടിപി വഴി ഒരു പകർപ്പു ലഭ്യമാക്കുവാൻ സാധിച്ചിരുന്നില്ല. ഈ സന്ദർഭത്തിൽ ഉയർന്ന ഒരു ചോദ്യം ഞാനവരോടു് എന്തു പറയും എന്നതായിരുന്നു.
“ഇന്റർനെറ്റ് സൌകര്യമുള്ള, നിങ്ങൾക്കു വേണ്ടി ഒരു പകർപ്പു ഉണ്ടാക്കിത്തരാൻ കഴിയുന്ന ഒരു സുഹൃത്തിനെ കണ്ടെത്തൂ” എന്നെനിക്കു പറയുവാൻ കഴിയുമായിരുന്നു. അല്ലെങ്കിൽ യഥാർത്ഥ പിഡിപി-10 ഇമാക്സിനു ചെയ്തതു തന്നെ ഇവിടെയും ചെയ്യാൻ എനിക്കു കഴിയുമായിരുന്നു: “ഒരു ടേപ്പും SASE (സെൽഫ് അഡ്രെസ്ഡ് സ്റ്റാംപ്ഡ് എൻവലപ്പ്)-യും എനിക്കയച്ചു തരിക, എന്നിട്ടു് ഇമാക്സോടു കൂടി ഞാനതു തിരിച്ചയക്കും” എന്നു പറയുക. എന്നാൽ എനിക്കു ജോലിയൊന്നും ഉണ്ടായിരുന്നില്ല, മാത്രമല്ല സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഉപയോഗിച്ചു് പണമുണ്ടാക്കാനുള്ള മാർഗം ഞാൻ തിരയുകയുമായിരുന്നു. അതുകൊണ്ടു്, $150 ഫീസായി തന്നാൽ ആവശ്യമുള്ള ആർക്കും ടേപ്പ് അയച്ചുതരുമെന്നു് ഞാൻ പ്രഖ്യാപിച്ചു. ഇതിലൂടെ, ഞാനൊരു സ്വതന്ത്ര സോഫ്റ്റ്വെയർ വിതരണ വ്യാപാരം ആരംഭിച്ചു, ഇന്നു് സമ്പൂർണ ഗ്നു/ലിനക്സ് സിസ്റ്റം ഡിസ്ട്രിബ്യൂഷനുകൾ വിതരണം ചെയ്യുന്ന കമ്പനികളുടെ മുൻഗാമി.
എല്ലാ ഉപയോക്താക്കൾക്കും ഒരു പ്രോഗ്രാം സ്വതന്ത്രമാണോ?
ലേഖകന്റെ പക്കൽ നിന്നും പോകുമ്പോൾ ഒരു പ്രോഗ്രാം സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആണെങ്കിൽ തന്നെയും അതിന്റെ ഒരു പകർപ്പുള്ള എല്ലാവർക്കും അതു സ്വതന്ത്ര സോഫ്റ്റ്വെയറായിരിക്കുമെന്നു് ഇതിനർത്ഥമില്ല. ഉദാഹരണത്തിനു്, പൊതു സഞ്ചയത്തിലുള്ള സോഫ്റ്റ്വെയർ (പകർപ്പവകാശം ചുമത്തിയിട്ടില്ലാത്ത സോഫ്റ്റ്വെയർ) സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആണു്; എന്നാൽ ആർക്കുവേണമെങ്കിലും അതിനു മാറ്റം വരുത്തി ഒരു കുത്തക പതിപ്പാക്കി മാറ്റാവുന്നതാണു്. അതുപോലെ, പകർപ്പവകാശം ചുമത്തിയിട്ടുള്ള പക്ഷേ ലളിതവും അനുവദനീയവുമായ സമ്മതപത്രങ്ങൾക്കടിയിൽ വിതരണം ചെയ്തിട്ടുള്ള പല സ്വതന്ത്ര പ്രോഗ്രാമുകളും പരിഷ്കരിച്ചു് കുത്തക പതിപ്പുകളാക്കാൻ അനുവദിക്കുന്നു.
ഈ പ്രശ്നത്തിന്റെ ശ്രദ്ധേയമായ ഒരു ഉദാഹരണം X വിൻഡോ സിസ്റ്റം ആണു്. എംഐടിയിൽ ഡവലപ്പു ചെയ്തു്, ഒരു അനുവദനീയ സമ്മതപത്രത്തോടു കൂടി സ്വതന്ത്ര സോഫ്റ്റ്വെയറായി പ്രകാശനം ചെയ്ത ഇതിനെ വളരെ പെട്ടെന്നു തന്നെ പല കംപ്യൂട്ടർ കമ്പനികളും സ്വീകരിച്ചുപയോഗിച്ചു. അവർ അവരുടെ കുത്തക യുണിക്സ് സിസ്റ്റത്തിൽ, ബൈനറി രൂപത്തിൽ മാത്രം, വെളിപ്പെടുത്തില്ലെന്ന ധാരണപത്രത്തിനു കീഴിൽ, X ചേർത്തു. അതായതു്, X-ന്റെ ഈ പകർപ്പുകൾ യുണിക്സിനേക്കാൾ സ്വതന്ത്രമായ സോഫ്റ്റ്വെയറല്ലായിരുന്നു.
X വിൻഡോ സിസ്റ്റത്തിന്റെ ഡവലപ്പർമാർ ഇതിനെ ഒരു പ്രശ്നമായി പരിഗണിച്ചില്ല—അവരിതു പ്രതീക്ഷിക്കുകയും ഇതു സംഭവിക്കണമെന്നു് ഉദ്ദേശിക്കുകയും ചെയ്തു. അവരുടെ ലക്ഷ്യം സ്വാതന്ത്ര്യമായിരുന്നില്ല, മറിച്ചു് “കുറെ ഉപയോക്താക്കളുണ്ടാവുക” എന്നു നിർവ്വചിച്ചിട്ടുള്ള “വിജയം” മാത്രം. ഈ ഉപയോക്താക്കൾക്കു സ്വാതന്ത്ര്യം ഉണ്ടായിരുന്നുവോ എന്നതു് അവർ ശ്രദ്ധിച്ചതേയില്ല, പകരം ഉപയോക്താക്കൾ ധാരാളം ഉണ്ടായിരിക്കണമെന്നു മാത്രം.
ഇതു് വിരോധാഭാസപരമായ ഒരു സാഹചര്യത്തിലേക്കു നയിച്ചു, സ്വാതന്ത്ര്യത്തിന്റെ അളവു കണക്കാക്കുന്നതിനുള്ള രണ്ടു വ്യത്യസ്ത വഴികൾ, “ഈ പ്രോഗ്രാം സ്വതന്ത്രമാണോ?” എന്ന ചോദ്യത്തിനു് വ്യത്യസ്ത ഉത്തരങ്ങൾ നല്കി. എംഐടി പ്രകാശനത്തിന്റെ വിതരണ നിബന്ധനകൾ നല്കുന്ന സ്വാതന്ത്ര്യത്തിന്റെ അടിസ്ഥാനത്തിൽ നിങ്ങൾ തീർപ്പുകല്പിക്കുകയാണെങ്കിൽ, X സ്വതന്ത്ര സോഫ്റ്റ്വെയറായിരുന്നുവെന്നു നിങ്ങൾ പറഞ്ഞേക്കാം. എന്നാൽ ഒരു ശരാശരി X ഉപയോക്താവിന്റെ സ്വാതന്ത്ര്യമാണു് നിങ്ങൾ അളക്കുന്നതെങ്കിൽ, അതു് ഒരു കുത്തക സോഫ്റ്റ്വെയറായിരുന്നുവെന്നു പറയേണ്ടിവരും. മിക്ക X ഉപയോക്താക്കളും യുണിക്സ് സിസ്റ്റങ്ങളോടൊപ്പം വന്നിരുന്ന കുത്തക പതിപ്പുകളാണു് പ്രവർത്തിപ്പിച്ചിരുന്നതു്, സ്വതന്ത്ര പതിപ്പല്ല.
പകർപ്പുപേക്ഷയും ഗ്നു ജിപിഎല്ലും
ഗ്നുവിന്റെ ലക്ഷ്യം ഉപയോക്താക്കൾക്കു സ്വാതന്ത്ര്യം നല്കുക എന്നതായിരുന്നു, അല്ലാതെ പ്രശസ്തി മാത്രമല്ല. അതുകൊണ്ടു് ഗ്നു സോഫ്റ്റ്വെയറിനെ കുത്തക സോഫ്റ്റ്വെയറാക്കുന്നതിൽ നിന്നും തടയുവാനായി വിതരണ നിബന്ധനകൾ ഉപയോഗിക്കേണ്ടതു് ആവശ്യമായി വന്നു. “പകർപ്പുപേക്ഷ”(1) എന്നാണു് ഈ രീതിയെ ഞങ്ങൾ വിളിച്ചിരുന്നതു്.
പകർപ്പുപേക്ഷ പകർപ്പവകാശ നിയമം ഉപയോഗിക്കുന്നു, പക്ഷേ ഇതിനെ മറികടന്നു് ഇതിന്റെ സാധാരണ ഉദ്ദേശ്യങ്ങൾക്കു വിപരീതമായി പ്രയോജനപ്പെടുത്തുന്നു: ഒരു പ്രോഗ്രാം നിയന്ത്രിക്കുന്നതിനുള്ള ഉപാധിക്കു പകരം ഇതു് പ്രോഗ്രാമിനു സ്വതന്ത്രമായി സൂക്ഷിക്കുന്നതിനുള്ള ഉപാധിയായി മാറി.
പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കാനും, പകർത്താനും, പരിഷ്കരിക്കുവാനും, പരിഷ്കരിച്ച പതിപ്പുകൾ വിതരണം ചെയ്യുവാനും ഉള്ള അനുവാദം എല്ലാവർക്കും നല്കുകയാണു് പകർപ്പുപേക്ഷയുടെ കേന്ദ്ര ആശയം—അവരവരുടേതായ നിയന്ത്രണങ്ങൾ ചേർക്കാനുള്ള അനുവാദമല്ല. അങ്ങനെ, “സ്വതന്ത്ര സോഫ്റ്റ്വെയറി”നെ നിർവ്വചിക്കുന്ന നിർണ്ണായകമായ സ്വാതന്ത്ര്യങ്ങൾ ഒരു പകർപ്പു് കൈവശമുള്ള എല്ലാവർക്കും ഉറപ്പുവരുത്തുന്നു; അവ അന്യാധീനപ്പെടുത്താൻ സാധിക്കാത്ത അവകാശങ്ങളായി മാറുന്നു.
ഫലപ്രദമായ പകർപ്പുപേക്ഷയ്ക്കു്, പരിഷ്കരിച്ച പതിപ്പുകളും നിർബന്ധമായും സ്വതന്ത്രമായിരിക്കണം. ഇതു് നമ്മുടേതിൽ അടിസ്ഥാനമാക്കിയുള്ള പ്രവൃത്തികളെ പകർപ്പുകൾ പ്രസിദ്ധീകരിക്കപ്പെട്ടിട്ടുണ്ടെങ്കിൽ നമ്മുടെ സമൂഹത്തിനു ലഭ്യമാക്കുന്നു എന്നുറപ്പുവരുത്തുന്നു. പ്രോഗ്രാമറായി ജോലി ചെയ്യുന്ന പ്രോഗാമർമാർ ഗ്നു സോഫ്റ്റ്വെയർ മെച്ചപ്പെടുത്താനായി സന്നദ്ധസേവനം ചെയ്യുമ്പോൾ, പകർപ്പുപേക്ഷയാണു് അവരുടെ മുതലാളിമാരെ “നിങ്ങൾക്കു് ഈ മാറ്റങ്ങൾ പങ്കുവെക്കാൻ കഴിയില്ല, കാരണം ഈ പ്രോഗ്രാമിന്റെ കുത്തക പതിപ്പുണ്ടാക്കുവാനായി ഞങ്ങൾ ഇവ ഉപയോഗിക്കുവാൻ പോകുകയാണു്” എന്നു പറയുന്നതിൽ നിന്നും വിലക്കുന്നതു്.
പ്രോഗ്രാമിന്റെ എല്ലാ ഉപയോക്താക്കൾക്കും സ്വാതന്ത്ര്യം ഉറപ്പുവരുത്തണമെങ്കിൽ മാറ്റങ്ങൾ സ്വതന്ത്രമായിരിക്കണമെന്ന ആവശ്യകത അത്യന്താപേക്ഷിതമാണു്. X വിൻഡോ സിസ്റ്റത്തിനെ സ്വകാര്യവത്കരിച്ച കമ്പനികൾ അവരുടെ സിസ്റ്റങ്ങളിലേക്കും ഹാർഡ്വെയറിലേക്കും പോർട്ടു ചെയ്യാനായി സാധാരണയായി ചില മാറ്റങ്ങൾ വരുത്തിയിട്ടുണ്ടു്. ഈ മാറ്റങ്ങൾ X-ന്റെ വ്യാപ്തിയെ വെച്ചു താരതമ്യം ചെയ്യുമ്പോൾ വളരെ ചെറുതാണു്, എന്നാൽ നിസ്സാരമല്ല. മാറ്റങ്ങൾ വരുത്തിയെന്നുള്ളതാണു് ഉപയോക്താക്കളുടെ സ്വാതന്ത്ര്യം നിരസിക്കാനുള്ള ഒഴികഴിവെങ്കിൽ, ആർക്കുവേണമെങ്കിലും എളുപ്പത്തിൽ ആ ഒഴികഴിവിൽ കാര്യലാഭം നേടാമായിരുന്നു.
ഒരു സ്വതന്ത്ര പ്രോഗ്രാമും അസ്വതന്ത്ര കോഡും സംയോജിപ്പിക്കുന്നതു് ഇതുപോലൊരു പ്രശ്നമാണു്. അങ്ങനൊരു സംയോജനം തീർച്ചയായും അസ്വതന്ത്രമായിരിക്കും; ഏതൊക്കെ സ്വാതന്ത്ര്യങ്ങളാണൊ ആ അസ്വതന്ത്രമായ ഭാഗത്തിനില്ലാത്തതു് അതു് മുഴുവൻ പ്രോഗ്രാമിന്റെയും ന്യൂനതയായിരിക്കും. ഇത്തരം സംയോജനങ്ങൾ അനുവദിക്കുന്നതു് ഒരു കപ്പൽ മുങ്ങിപ്പോകാൻ മാത്രം വലിപ്പമുള്ള ഒരു കുഴിയുണ്ടാക്കും. അതിനാൽ, പകർപ്പുപേക്ഷയ്ക്കുവേണ്ടിയുള്ള നിർണ്ണായകമായ ഒരു ആവശ്യകത ഈ കുഴി നികത്തലാണു്: പകർപ്പുപേക്ഷ ചെയ്യപ്പെട്ട ഒരു പ്രോഗ്രാമിനോടു് എന്തെങ്കിലും കൂട്ടിച്ചേർക്കുകയോ അല്ലെങ്കിൽ അതിനോടു ലയിപ്പിക്കുകയോ ചെയ്യുമ്പോൾ, നിർബന്ധമായും ആ വലിയ സംയോജിപ്പിച്ചതിനു ശേഷമുള്ള പതിപ്പും സ്വതന്ത്രവും പകർപ്പുപേക്ഷയോടു കൂടിയതുമായിരിക്കണം.
ഒട്ടുമിക്ക ഗ്നു സോഫ്റ്റ്വെയറിനുവേണ്ടിയും ഞങ്ങൾ ഉപയോഗിക്കുന്ന പകർപ്പുപേക്ഷയുടെ പ്രത്യേക പ്രായോഗിക രൂപമാണു് ഗ്നു ജനറൽ പബ്ലിക് അനുമതിപത്രം, അല്ലെങ്കിൽ ഗ്നു ജിപിഎൽ എന്നു ചുരുക്കത്തിൽ. ചില പ്രത്യേക സന്ദർഭത്തിൽ ഉപയോഗിക്കപ്പെട്ടിട്ടുള്ള മറ്റു തരത്തിലുള്ള പകർപ്പുപേക്ഷയും ഞങ്ങളുടെ പക്കലുണ്ടു്. ഗ്നു സഹായ രേഖകളും പകർപ്പുപേക്ഷ ചെയ്യപ്പെട്ടതാണു്, എന്നാൽ ഇതു കൂടുതൽ ലളിതമായ തരത്തിലുള്ള ഒരു പകർപ്പുപേക്ഷയാണു് ഉപയോഗിക്കുന്നതു്, കാരണം ഗ്നു ജിപിഎല്ലിന്റെ സങ്കീർണ്ണത സഹായരേഖകൾക്കു് ആവശ്യമില്ല.(2)
(1) 1984-ലൊ 1985-ലൊ, ഡോൺ ഹൊപ്കിൻസ് (വളരെ ഭാവനാത്മകതയോടുകൂടിയ ഒരു ചങ്ങാതി) എനിക്കൊരു കത്തയച്ചു. കവറിനു മുകളിൽ രസകരമായ പല വാക്യങ്ങളും അയാൾ എഴുതിയിട്ടുണ്ടായിരുന്നു, അതിലൊന്നാണിതു്: “Copyleft—all rights reversed. “copyleft” എന്ന വാക്കു് ആ സമയത്തു ഞാൻ വികസിപ്പിച്ചു കൊണ്ടിരുന്ന ഒരു വിതരണ ആശയത്തിനു പേരിടാൻ ഞാൻ ഉപയോഗിച്ചു.
(2) ഡോക്യുമെന്റേഷനു വേണ്ടി ഗ്നു സ്വതന്ത്ര ഡോക്യുമെന്റേഷൻ അനുമതിപത്രം ആണു് ഞങ്ങൾ ഇപ്പോൾ ഉപയോഗിക്കുന്നതു്.
സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രസ്ഥാനം
ഇമാക്സിലുള്ള താത്പര്യം വളർന്നുകൊണ്ടിരിക്കുകയും, മറ്റാളുകളും ഗ്നു സംരംഭത്തിൽ പങ്കുചേരുകയും ചെയ്തപ്പോൾ, വീണ്ടും ഫണ്ടിനു വേണ്ടി അന്വേഷിക്കാനുള്ള സമയമായെന്നു് ഞങ്ങൾ തീരുമാനിച്ചു. അതുകൊണ്ടു് 1985-ൽ ഞങ്ങൾ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രസ്ഥാനം (Free Software Foundation - FSF), സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്മെന്റിനു വേണ്ടിയുള്ള ഒരു നികുതി രഹിത ചാരിറ്റി, നിർമ്മിച്ചു. ഇമാക്സ് ടേപ്പ് വിതരണ വ്യാപാരവും എഫ്എസ്എഫ് ഏറ്റെടുത്തു; പിന്നീടു് മറ്റു സ്വതന്ത്ര സോഫ്റ്റ്വെയറും (ഗ്നുവും ഗ്നു അല്ലാത്തതും) ഈ ടേപ്പിൽ ചേർത്തു് ഇതു വിപുലീകരിച്ചു, മാത്രമല്ല സ്വതന്ത്ര സഹായരേഖകളുടെയും വില്പന നടത്തി.
എഫ്എസ്എഫിന്റെ വരുമാനത്തിന്റെ ഭൂരിഭാഗവും സ്വതന്ത്ര സോഫ്റ്റ്വെയറിന്റെ പകർപ്പുകളുടെ വില്പനയിൽ നിന്നും മറ്റു ബന്ധപ്പെട്ട സേവനങ്ങളിൽ നിന്നും (സോഴ്സ് കോഡുകളടങ്ങിയ CD-ROM കൾ, ബൈനറികളോടു കൂടിയ CD-ROM കൾ, നന്നായി പ്രിന്റു ചെയ്ത സഹായരേഖകൾ, എല്ലാം പുനർവിതരണം ചെയ്യാനും പരിഷ്കരിക്കാനുമുള്ള സ്വാതന്ത്ര്യത്തോടുകൂടി) ഡിലക്സ് വിതരണങ്ങളിൽ (ഉപഭോക്താവിന്റെ ഇഷ്ടത്തിനനുസരിച്ചുള്ള പ്ലാറ്റ്ഫോമിനു വേണ്ടി ഞങ്ങൾ ബിൽട്ട് ചെയ്ത സോഫ്റ്റ്വെയറുകളുടെ സമ്പൂർണ ശേഖരം അടങ്ങിയ വിതരണങ്ങൾ) നിന്നുമായിരുന്നു. ഇന്നും എഫ്എസ്എഫ് സഹായരേഖകളും മറ്റു് ഉപകരണങ്ങളും വില്ക്കുന്നുണ്ടു്, എന്നാൽ വലിയ ഭാഗം ഫണ്ടും അംഗങ്ങളുടെ സംഭാവനകളിൽ നിന്നുമാണു് ലഭിക്കുന്നതു്. നിങ്ങൾക്കു് fsf.org എന്നിടത്തു് എഫ്എസ്എഫിൽ ചേരാവുന്നതാണു്.
സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രസ്ഥാനത്തിന്റെ ജീവനക്കാർ ഒരുപാടു് ഗ്നു സോഫ്റ്റ്വെയർ പാക്കേജുകൾ എഴുതിയിട്ടും പരിപാലിച്ചിട്ടുമുണ്ടു്. C ലൈബ്രറിയും ഷെല്ലും ആണു് ശ്രദ്ധേയമായ രണ്ടെണ്ണം. ഗ്നു/ലിനക്സ് സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന എല്ലാ പ്രോഗ്രാമുകളും ലിനക്സുമായി ആശയവിനിമയം നടത്താൻ ഗ്നു C ലൈബ്രറിയാണു് ഉപയോഗിക്കുന്നതു്. ഇതു ഡവലപ്പു ചെയ്തതു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രസ്ഥാനത്തിന്റെ സ്റ്റാഫിലെ ഒരംഗമായ റോളണ്ട് മഗ്രാത് ആണു്. മിക്ക ഗ്നു/ലിനക്സ് സിസ്റ്റത്തിലും ഉപയോഗിക്കുന്ന ഷെൽ BASH ആണു്, ബൂർൺ എഗെൻ ഷെൽ(1), എഫ്എസ്എഫ് ജീവനക്കാരനായ ബ്രയാൻ ഫോക്സ് ആണു് ഇതു ഡവലപ്പു ചെയ്തതു്.
ഈ പ്രോഗ്രാമുകൾക്കൊക്കെ ഞങ്ങൾ ധനസഹായം നല്കുവാൻ കാരണം ഗ്നു സംരംഭം വെറും ഉപകരണങ്ങൾക്കു വേണ്ടിയൊ അല്ലെങ്കിൽ ഒരു ഡവലപ്മെന്റ് ചുറ്റുപാടിനു വേണ്ടിയൊ മാത്രമായിരുന്നില്ല എന്നതുകൊണ്ടാണു്. ഞങ്ങളുടെ ലക്ഷ്യം ഒരു സമ്പൂർണ ഓപ്പറേറ്റിങ് സിസ്റ്റമായിരുന്നു, ഈ പ്രോഗ്രാമുകൾ അതിനാവശ്യവുമായിരുന്നു.
(1) “ബൂർൺ എഗെൻ ഷെൽ (Bourne Again Shell)” എന്നതു് യുണിക്സിൽ സാധാരണയായി ഉണ്ടായിരുന്ന ഷെൽ ആയ “ബൂർൺ ഷെൽ” എന്ന പേരിലുള്ള ഒരു കളിയാണു്.
സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പിന്തുണ
സ്വതന്ത്ര സോഫ്റ്റ്വെയർ തത്ത്വശാസ്ത്രം ഒരു പ്രത്യേക തരത്തിലുള്ള വ്യാപകമായ വ്യാപാര സമ്പ്രദായത്തെ നിരസിക്കുന്നു, എന്നാൽ ഇതു് വ്യാപാരത്തിനു് എതിരല്ല. വ്യാപാരം ഉപയോക്താക്കളുടെ സ്വാതന്ത്ര്യത്തെ ബഹുമാനിക്കുമ്പോൾ ഞങ്ങൾ അവർക്കു് വിജയം നേരുന്നു.
ഇമാക്സിന്റെ പകർപ്പുകൾ വില്ക്കുന്നതു് ഒരു തരത്തിലുള്ള സ്വതന്ത്ര സോഫ്റ്റ്വെയർ വ്യാപാരത്തെ പ്രകടമാക്കുന്നു. ആ വ്യാപാരം എഫ്എസ്എഫ് ഏറ്റെടുത്തപ്പോൾ, എനിക്കു് മറ്റൊരു ജീവനമാർഗം ഉണ്ടാക്കേണ്ടതായി വന്നു. ഞാൻ ഡവലപ്പു ചെയ്തിട്ടുണ്ടായിരുന്ന സ്വതന്ത്ര സോഫ്റ്റ്വെയറുമായി ബന്ധപ്പെട്ട സേവനങ്ങൾ വില്ക്കുന്നിടത്തു് ഞാനതു കണ്ടെത്തി. ഗ്നു ഇമാക്സ് എങ്ങനെ പ്രോഗ്രാം ചെയ്യാം ജിസിസി എങ്ങനെ ഇഷ്ടാനുസരണം മാറ്റാം എന്നീ വിഷയങ്ങൾ പഠിപ്പിക്കുക, സോഫ്റ്റ്വെയർ ഡവലപ്മെന്റ്, കൂടുതലും ജിസിസി പുതിയ പ്ലാറ്റ്ഫോമുകൾക്കുവേണ്ടി പോർട്ടു ചെയ്യൽ, എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു.
ഇന്നു്, പല കോർപ്പറേഷനുകളും ഈ പറഞ്ഞ ഓരോ തരത്തിലുള്ള സ്വതന്ത്ര സോഫ്റ്റ്വെയർ വ്യാപാരവും ചെയ്യുന്നു. ചിലർ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ശേഖരം CD-ROM ൽ ആക്കി വിതരണം ചെയ്യുന്നു; മറ്റുള്ളവർ ഉപയോക്താക്കളുടെ ചോദ്യങ്ങൾക്കു് ഉത്തരം കൊടുക്കുക, ബഗ്ഗുകൾ പരിഹരിക്കുക, പുതിയ സവിശേഷതകൾ ചേർക്കുക തുടങ്ങിയ സപ്പോർട്ടുകൾ വില്ക്കുന്നു. കൂടാതെ പുതിയ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഉത്പന്നങ്ങൾ സമരംഭിക്കുന്നതിന്റെ അടിസ്ഥാനത്തിലുള്ള സ്വതന്ത്ര സോഫ്റ്റ്വെയർ കമ്പനികൾ വരെ നമ്മൾ കാണാൻ തുടങ്ങിയിരിക്കുന്നു.
ശ്രദ്ധിക്കുക, “ഓപ്പൺ സോഴ്സ്” എന്ന പദവുമായി സ്വയം ബന്ധിപ്പിച്ചിട്ടുള്ള പല കമ്പനികളും യാഥാർത്ഥ്യത്തിൽ അവരുടെ വ്യാപാരം സ്വതന്ത്ര സോഫ്റ്റ്വെയറോടു കൂടി പ്രവർത്തിക്കുന്ന അസ്വതന്ത്ര സോഫ്റ്റ്വെയറിനെ അടിസ്ഥാനമാക്കിയാണു്. ഇവ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ കമ്പനികളല്ല, അവർ അവരുടെ ഉത്പന്നങ്ങളിലൂടെ ഉപയോക്താക്കളെ സ്വാതന്ത്ര്യത്തിൽ നിന്നും അകലാൻ പ്രേരിപ്പിക്കുന്ന കുത്തക സോഫ്റ്റ്വെയർ കമ്പനികളാണു്. അവർ ഈ പ്രോഗ്രാമുകളെ “മൂല്യ വർദ്ധിത പാക്കേജുകൾ” എന്നാണു് വിളിക്കുന്നതു്, നമ്മൾ സ്വീകരിക്കണമെന്നു് അവർ ആഗ്രഹിക്കുന്ന മൂല്യങ്ങളെയാണു് ഇതു കാണിക്കുന്നതു്: സ്വാതന്ത്ര്യത്തിനു മുകളിൽ സൌകര്യം. നമ്മൾ സ്വാതന്ത്ര്യത്തിനാണു് കൂടുതൽ മൂല്യം കല്പിക്കുന്നതെങ്കിൽ, നമ്മൾ അവയെ “സ്വാതന്ത്ര്യ വ്യവകലന” പാക്കേജുകൾ എന്നു വിളിക്കണം.
സാങ്കേതിക ലക്ഷ്യങ്ങൾ
ഗ്നുവിന്റെ മുഖ്യ ലക്ഷ്യം സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആവുക എന്നതാണു്. യുണിക്സിനു മുകളിൽ യാതൊരു സാങ്കേതിക നേട്ടവും ഗ്നുവിനു് ഉണ്ടായിരുന്നില്ലെങ്കിലും, ഉപയോക്താക്കളെ സഹകരിക്കാൻ അനുവദിച്ചുകൊണ്ടുള്ള സാമൂഹിക നേട്ടം അതിനുണ്ടാകും, മാത്രമല്ല ഉപയോക്താക്കളുടെ സ്വാതന്ത്ര്യത്തെ ബഹുമാനിച്ചുകൊണ്ടുള്ള ധാർമ്മിക നേട്ടവും.
എന്നാൽ നല്ല പ്രയോഗത്തിനായുള്ള അറിയപ്പെടുന്ന സ്റ്റാൻഡേർഡുകൾ നടപ്പിലാക്കുന്നതു് സ്വാഭാവികമായി സംഭവിച്ചതായിരുന്നു—ഉദാഹരണത്തിനു്, അനിയന്ത്രതമായ നിശ്ചിത വലിപ്പ പരിധികൾ ഒഴിവാക്കാനായി ഡാറ്റ സ്ട്രക്ചറുകളെ ഡയനാമിക് ആയി വിനിയോഗിച്ചു, കൂടാതെ അർത്ഥവത്തായ ഇടങ്ങളിലെല്ലാം സാധ്യമായ എല്ലാ 8-ബിറ്റ് കോഡുകളും കൈകാര്യം ചെയ്തു.
ഇതു കൂടാതെ, 16-ബിറ്റ് മെഷീനുകൾ പിന്തുണയ്ക്കില്ലെന്നു തീരുമാനിച്ചുകൊണ്ടു് ചെറിയ മെമ്മറി വലിപ്പത്തിലുള്ള യുണിക്സിന്റെ ശ്രദ്ധ ഞങ്ങൾ നിരസിച്ചു (ഗ്നു സിസ്റ്റം പൂർണമാകുമ്പോഴേക്കും മാനദണ്ഡം 32-ബിറ്റ് ആകുമെന്നു വ്യക്തമായിരുന്നു), മാത്രമല്ല ഒരു മെഗാബൈറ്റിൽ കൂടുതലല്ലെങ്കിൽ മെമ്മറിയുടെ ഉപയോഗം കുറയ്ക്കാനുള്ള ഒരു പ്രയത്നവും ചെയ്യില്ലെന്നും ഞങ്ങൾ തീരുമാനിച്ചു. വളരെ വലിയ ഫയലുകൾ കൈകാര്യം ചെയ്യുന്നതു് നിർണ്ണായകമല്ലാത്ത പ്രോഗ്രാമുകളിൽ, ഒരു ഇൻപുട്ട് ഫയൽ മുഴുവനായും കോറിലേക്കു് റീഡു ചെയ്യാനും എന്നിട്ടു് I/O-നെ കുറിച്ചു് ആശങ്കപ്പെടാതെ അതിന്റെ ഉള്ളടക്കത്തെ സ്കാൻ ചെയ്യാനും ഞങ്ങൾ പ്രോഗ്രാമർമാരെ പ്രോത്സാഹിപ്പിച്ചു.
ഈ തീരുമാനങ്ങൾ പല ഗ്നു പ്രോഗ്രാമുകളെയും യുണിക്സിൽ ഇതേ കാര്യത്തിനുപയോഗിക്കുന്ന പ്രോഗ്രാമുകളെ വിശ്വാസ്യതയിലും വേഗതയിലും മറികടക്കാൻ യോഗ്യമാക്കി.
സംഭാവന ചെയ്ത കംപ്യൂട്ടറുകൾ
ഗ്നു സംരംഭത്തിനുള്ള മതിപ്പു വളർന്നു, ആളുകൾ യുണിക്സ് ഉപയോഗിച്ചു പ്രവർത്തിക്കുന്ന മെഷീനുകൾ സംഭാവനയായി നല്കി തുടങ്ങി. ഇതു വളരെ ഉപയോഗപ്രദമായിരുന്നു, കാരണം ഗ്നുവിന്റെ ഘടകങ്ങൾ ഡവലപ്പു ചെയ്യാനുള്ള എളുപ്പ മാർഗം ഇതു യുണിക്സ് സിസ്റ്റത്തിൽ ചെയ്യുകയും ആ സിസ്റ്റത്തിലെ ഘടകങ്ങൾ ഓരോന്നായി മാറ്റി വെക്കുകയുമായിരുന്നു. പക്ഷേ അവ ധാർമ്മികമായ ഒരു പ്രശ്നമുയർത്തി: യുണിക്സിന്റെ ഒരു പകർപ്പു് ഞങ്ങളുടെ പക്കലുണ്ടായിരിക്കുന്നതു് തന്നെ ശരിയാണൊ.
യുണിക്സ് ഒരു കുത്തക സോഫ്റ്റ്വെയർ ആയിരുന്നു (മാത്രമല്ല ആണു്), ഗ്നു സംരംഭത്തിന്റെ തത്ത്വശാസ്ത്രം കുത്തക സോഫ്റ്റ്വെയർ നമ്മൾ ഒരിക്കലും ഉപയോഗിക്കരുതു് എന്നു പറയുന്നു. എന്നാൽ, സ്വയം പ്രതിരോധിക്കുന്നതിൽ അക്രമം ന്യായീകരിക്കപ്പെടാവുന്നതാണു് എന്ന അതേ വാദം പ്രയോഗിച്ചു്, മറ്റുള്ളവരെ കുത്തക പാക്കേജ് ഉപയോഗിക്കുന്നത് നിർത്തുവാൻ സഹായിക്കുന്ന നിർണ്ണായകമായ ഒരു സ്വതന്ത്ര ബദൽ ഡവലപ്പു ചെയ്യുന്നതിനു് ഒരു കുത്തക പാക്കേജ് ഉപയോഗിക്കുന്നതു ന്യായമാണെന്ന നിഗമനത്തിൽ ഞാനെത്തി.
എന്നാൽ, ഇതൊരു ന്യായീകരിക്കാൻ കഴിയുന്ന തിന്മയാണെങ്കിൽ പോലും, ഇതു തിന്മ തന്നെയായിരുന്നു. ഇന്നു് യുണിക്സിന്റെ ഒരു പകർപ്പും ഞങ്ങളുടെ പക്കലില്ല, കാരണം ഞങ്ങൾ സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളെ അവയ്ക്കു പകരം വെച്ചു. ഒരു മെഷീനിലെ ഓപ്പറേറ്റിങ് സിസ്റ്റം ഒരു സ്വതന്ത്ര സിസ്റ്റം ഉപയോഗിച്ചു പകരം വെക്കാൻ ഞങ്ങൾക്കു കഴിഞ്ഞില്ലെങ്കിൽ, ഞങ്ങൾ ആ മെഷീനിനെ തന്നെ മാറ്റി.
ഗ്നു ടാസ്ക് പട്ടിക
ഗ്നു സംരംഭം മുന്നോട്ടു പോകുന്തോറും, കണ്ടെത്തപ്പെട്ട അല്ലെങ്കിൽ ഡവലപ്പു ചെയ്യപ്പെട്ട സിസ്റ്റം കമ്പോണന്റുകളുടെ എണ്ണം കൂടിക്കൊണ്ടിരുന്നു, വഴിയെ അവശേഷിക്കുന്ന അന്തരങ്ങളുടെ ഒരു പട്ടിക ഉണ്ടാക്കുന്നതു് ഉപയോഗപ്രദമായി മാറി. വിട്ടുപോയ ഭാഗങ്ങൾ എഴുതി ചേർക്കുന്നതിനായുള്ള പുതിയ ഡവലപ്പർമാരെ തിരഞ്ഞെടുക്കുന്നതിനു് ഞങ്ങൾ ഇതുപയോഗിച്ചു. ഈ പട്ടിക ഗ്നു ടാസ്ക് പട്ടിക എന്നറിയപ്പെടാൻ തുടങ്ങി. വിട്ടുപോയ യുണിക്സ് ഘടകങ്ങൾ കൂടാതെ, ഒരു യഥാർത്ഥ സമ്പൂർണ സിസ്റ്റത്തിനുണ്ടായിരിക്കണമെന്നു ഞങ്ങൾ ചിന്തിച്ചിരുന്ന ധാരാളം മറ്റു് ഉപയോഗപ്രദമായ സോഫ്റ്റ്വെയറുകളും ഡോക്യുമെന്റേഷൻ സംരംഭങ്ങളും ഞങ്ങൾ പട്ടികപ്പെടുത്തി.
ഇന്നു് (1), ഒരു യുണിക്സ് ഘടകങ്ങളും ഗ്നു ടാസ്ക് പട്ടികയിൽ ബാക്കിയില്ല—ചില അനാവശ്യമായവ ഒഴിച്ചുള്ള പ്രവൃത്തികളെല്ലാം പൂർത്തിയാക്കി. എന്നാൽ ഈ പട്ടിക മുഴുവൻ ചിലർ “ആപ്ലിക്കേഷനുകൾ” എന്നു വിളിച്ചേക്കാവുന്ന സംരംഭങ്ങളാണു്. ഒരു ചെറിയ വിഭാഗം ഉപയോക്താക്കളെ മാത്രം പ്രീതിപ്പെടുത്തുന്നതല്ലാത്ത ഏതു പ്രോഗ്രാമും ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിലേക്കു ചേർക്കുന്നതിനു് ഉപയോഗപ്രദമായ കാര്യമാണു്.
കളികൾ പോലും ഈ ടാസ്ക് പട്ടികയിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ടു്—തുടക്കം മുതൽ തന്നെ ഇവയുണ്ടായിരുന്നു. യുണിക്സ് കളികൾ ഉൾപ്പെടുത്തിയിരുന്നു, അതുകൊണ്ടു് സ്വാഭാവികമായും ഗ്നുവും അതുചെയ്യണം. എന്നാൽ അനുയോജ്യത കളികൾക്കൊരു പ്രശ്നമായിരുന്നില്ല, അതുകൊണ്ടു് യുണിക്സിൽ ഉണ്ടായിരുന്ന കളികളുടെ പട്ടിക ഞങ്ങൾ പിന്തുടർന്നില്ല. പകരം, ഉപയോക്താക്കൾക്കു് ഇഷ്ടപ്പെടാൻ സാധ്യതയുള്ള വ്യത്യസ്ത തരം കളികളുടെ ഒരു സ്പെക്ട്രം തന്നെ ഞങ്ങൾ പട്ടികപ്പെടുത്തി.
(1) 1998-ൽ ആണു് അതു് എഴുതിയതു്. 2009 ആയപ്പോഴേക്കും വലിയ ഒരു ടാസ്ക് പട്ടിക പരിപാലിക്കുന്നതു് ഞങ്ങൾ നിർത്തി. ഞങ്ങൾക്കു് എല്ലാം ട്രാക്കു ചെയ്യാൻ പോലും പറ്റാത്തത്ര വേഗതയിൽ കമ്മ്യൂണിറ്റി സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പു ചെയ്യുന്നു. പകരം, വളരെ പ്രാധാന്യമുള്ള സംരംഭങ്ങളുടെ (High Priority Projects) ഒരു പട്ടിക ഞങ്ങൾക്കുണ്ടു്, ആളുകളെ എഴുതാനായി പ്രോത്സാഹിപ്പിക്കാൻ ഞങ്ങൾ ആത്മാർത്ഥമായി ആഗ്രഹിക്കുന്ന സംരംഭങ്ങളുടെ ചെറിയ പട്ടിക.
ഗ്നു ലൈബ്രറി ജിപിഎൽ
ഗ്നു ലൈബ്രറി ജനറൽ പബ്ലിക് ലൈസൻസ്(1) എന്നു വിളിക്കുന്ന ഒരു പ്രത്യേക തരം പകർപ്പുപേക്ഷയാണു് ഗ്നു C ലൈബ്രറി ഉപയോഗിക്കുന്നതു്. ഇതു് കുത്തക സോഫ്റ്റ്വെയറിനെ ഈ ലൈബ്രറിയുമായി ബന്ധിപ്പിക്കാനുള്ള അനുമതി നല്കുന്നു. എന്തുകൊണ്ടാണു് ഈ ഒഴികഴിവു്?
ഇതു് ആദർശത്തെ സംബന്ധിക്കുന്ന ഒരു കാര്യമല്ല; നമ്മുടെ കോഡ് ഉൾപ്പെടുത്താൻ കുത്തക സോഫ്റ്റ്വെയറുകൾ യോഗ്യമായിരിക്കണമെന്നു് ഒരു ആദർശവുമില്ല. (നമ്മളുമായി പങ്കുവെക്കാൻ തയ്യാറാവില്ലെന്നു പ്രവചിച്ചിട്ടുള്ള ഒരു സംരംഭത്തിൽ എന്തിനാണു് കോൺട്രിബ്യൂട്ടു ചെയ്യുന്നതു്?) ഈ C ലൈബ്രറിയ്ക്കു് അല്ലെങ്കിൽ ഏതെങ്കിലും ലൈബ്രറിയ്ക്കു് എൽജിപിഎൽ ഉപയോഗിക്കുന്നതു് നയത്തെ സംബന്ധിച്ച കാര്യമാണു്.
ജനറിക് ആയിട്ടുള്ള ജോലിയാണു് C ലൈബ്രറി ചെയ്യുന്നതു്; എല്ലാ കുത്തക സിസ്റ്റവും അല്ലെങ്കിൽ കമ്പൈലറും C ലൈബ്രറിയോടു കൂടിയാണു് വരുന്നതു്. അതായതു്, ഞങ്ങളുടെ C ലൈബ്രറി സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനു മാത്രം ലഭ്യമാക്കുന്നതു് സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനു് ഒരു നേട്ടവും ഉണ്ടാക്കില്ല—ഇതു ഞങ്ങളുടെ ലൈബ്രറിയുടെ ഉപയോഗം നിരുത്സാഹപ്പെടുത്തിയേക്കാമായിരുന്നു.
ഒരു സിസ്റ്റം ഇതിൽ നിന്നും വ്യത്യസ്തമാണു്: ഗ്നു സിസ്റ്റത്തിൽ (ഇതിൽ ഗ്നു/ലിനക്സും ഉൾപ്പെടുന്നു), ഗ്നു C ലൈബ്രറി മാത്രമാണു് ഒരേ ഒരു C ലൈബ്രറി. അതുകൊണ്ടു് ഗ്നു C ലൈബ്രറിയുടെ വിതരണ നിബന്ധനകളാണു് ഒരു കുത്തക പ്രോഗ്രാം ഗ്നു സിസ്റ്റത്തിനു വേണ്ടി കമ്പൈൽ ചെയ്യാൻ സാധിക്കുമൊ എന്നു തീരുമാനിക്കുന്നതു്. കുത്തക ആപ്ലിക്കേഷനുകൾ ഗ്നു സിസ്റ്റത്തിൽ അനുവദിക്കേണ്ട യാതൊരു ധാർമ്മിക കാരണവുമില്ല, എന്നാൽ നയപരമായി ചിന്തിക്കുമ്പോൾ അവയെ അനുവദിക്കാതിരിക്കുന്നതു് സ്വതന്ത്ര ആപ്ലിക്കേഷനുകളുടെ ഡവലപ്മെന്റ് പ്രോത്സാഹിപ്പിക്കുന്നതിനേക്കാൾ ഗ്നു സിസ്റ്റത്തിന്റെ ഉപയോഗത്തെ നിരുത്സാഹപ്പെടുത്തിയേക്കാം. ഇതുകൊണ്ടാണു് ജിപിഎൽ ലൈബ്രറി ഉപയോഗിക്കുന്നതു് C ലൈബ്രറിയെ സംബന്ധിച്ചിടത്തോളം ഒരു നല്ല നയമാകുന്നതു്.
മറ്റു ലൈബ്രറികളുടെ കാര്യത്തിൽ, നയപരമായ ഈ തീരുമാനത്തെ ഓരോ സന്ദർഭത്തിന്റെയും അടിസ്ഥാനത്തിൽ പരിഗണിക്കേണ്ടതുണ്ടു്. ഒരു ലൈബ്രറി പ്രത്യേക തരത്തിലുള്ള പ്രോഗ്രാമുകൾ എഴുതുന്നതിൽ സഹായിക്കാൻ സാധിക്കുന്ന തരത്തിലുള്ള ഒരു സവിശേഷ ജോലി ചെയ്യുന്നുവെങ്കിൽ, സ്വതന്ത്ര പ്രോഗ്രാമുകൾക്കു മാത്രമായി അതിനെ പരിമിതപ്പെടുത്തി അതു് ജിപിഎല്ലിനു കീഴിൽ പ്രസിദ്ധീകരിക്കുന്നതു്, കുത്തക സോഫ്റ്റ്വെയറിനെതിരെ ഒരു നേട്ടം കൈവരിക്കാൻ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പർമാരെ സഹായിക്കുന്നതിനുള്ള ഒരു മാർഗമാണു്.
ഗ്നു റീഡ്ലൈൻ, ബാഷ്(BASH)-ൽ കമ്മാന്റ് ലൈൻ എഡിറ്റിങ് സാധ്യമാക്കാനായി ഡവലപ്പു ചെയ്യപ്പെട്ട ഒരു ലൈബ്രറി കണക്കിലെടുക്കുക. റീഡ് ലൈൻ സാധാരണ ഗ്നു ജിപിഎല്ലിനു കീഴിൽ ആണു്, അല്ലാതെ ലൈബ്രറി ജിപിഎല്ലിനു കീഴിൽ അല്ല. ഇതു് റീഡ് ലൈൻ ഉപയോഗത്തിന്റെ എണ്ണം കുറച്ചേക്കാം, പക്ഷേ അതു് നമുക്കൊരു നഷ്ടമല്ല. അതേസമയം, ഏതെങ്കിലും ഒരു ഉപയോഗപ്രദമായ ആപ്ലിക്കേഷൻ റീഡ് ലൈൻ ഉപയോഗിക്കാൻ സാധിക്കും എന്നതുകൊണ്ടു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആയി നിർമ്മിക്കപ്പെട്ടാൽ, അതു് ഈ കൂട്ടായ്മയ്കക്കു് ഒരു യഥാർത്ഥ നേട്ടവുമാണു്.
കുത്തക സോഫ്റ്റ്വെയർ ഡവലപ്പർമാർക്കു് പണം കൊണ്ടുള്ള നേട്ടങ്ങളുണ്ടു്; സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പർമാർ പരസ്പരം നേട്ടങ്ങളുണ്ടാക്കി കൊടുക്കേണ്ടതുണ്ടു്. ജിപിഎല്ലിനു കീഴിലുള്ള, കുത്തക സോഫ്റ്റ്വെയറിൽ സമാന്തരങ്ങൾ ലഭ്യമല്ലാത്ത, പുതിയ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ നിർമ്മിക്കാൻ ഉപയോഗിക്കാവുന്ന ഉപയോഗയോഗ്യമായ മൊഡ്യൂളുകൾ പ്രദാനം ചെയ്യുന്ന, മുന്നോട്ടുള്ള സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്മെന്റിനു് മികച്ച നേട്ടങ്ങൾ നേടിത്തരുന്ന, ലൈബ്രറികളുടെ വലിയ ഒരു ശേഖരം തന്നെ ഒരു നാൾ ഞങ്ങൾക്കുണ്ടാകുമെന്നു ഞാൻ പ്രതീക്ഷിക്കുന്നു.
(1) ഇപ്പോൾ ഈ അനുമതിപത്രത്തെ ഗ്നു ലെസ്സർ ജനറൽ പബ്ലിക് ലൈസൻസ് എന്നാണു വിളിക്കുന്നതു്, എല്ലാ ലൈബ്രറികളും ഇതുപയോഗിക്കണമെന്നുള്ള ആശയം ഒഴിവാക്കാനാണിതു്. കൂടുതൽ വിവരങ്ങൾക്കു് എന്തുകൊണ്ടു് നിങ്ങളുടെ അടുത്ത ലൈബ്രറിയ്ക്കു് ലെസ്സർ ജിപിഎൽ ഉപയോഗിക്കാൻ പാടില്ല എന്ന ലേഖനം കാണുക.
ഒരു ചൊറിച്ചിലിൽ മാന്തുക?
“ഒരു സോഫ്റ്റ്വെയറിലുള്ള എല്ലാ നല്ല പ്രവൃത്തികളും തുടങ്ങുന്നതു് ഒരു ഡവലപ്പർ സ്വന്തം ചൊറിച്ചിലിൽ മാന്തിക്കൊണ്ടാണു്” എന്നു് എറിക് റേമണ്ട് പറയുന്നു. ചിലപ്പോഴൊക്കെ അങ്ങനെ സംഭവിച്ചേക്കാം, പക്ഷേ പല പ്രധാന ഗ്നു സോഫ്റ്റ്വെയർ ഭാഗങ്ങളും ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റം ഉണ്ടാകുവാനാണു് ഡവലപ്പു ചെയ്യപ്പെട്ടതു്. അവ ഒരു വീക്ഷണത്തിൽ നിന്നും ദീർഘകാലത്തേക്കുള്ള പദ്ധതികളിൽ നിന്നുമാണു് വരുന്നതു് അല്ലാതെ പെട്ടെന്നുണ്ടാകുന്ന ഉൾപ്രേരണയിൽ നിന്നല്ല.
ഉദാഹരണത്തിനു്, ഗ്നു C ലൈബ്രറി ഞങ്ങൾ ഡവലപ്പു ചെയ്തതിനു കാരണം യുണിക്സ് പോലുള്ള ഒരു സിസ്റ്റത്തിനു് C ലൈബ്രറി ആവശ്യമുണ്ടു്, BASH-നു കാരണം സിസ്റ്റത്തിനു് ഷെൽ ആവശ്യമുണ്ടു്, ഗ്നു റ്റാർ (GNU tar)-നു കാരണം യുണിക്സ് പോലുള്ള സിസ്റ്റത്തിനു് ഒരു റ്റാർ പ്രോഗ്രാം ആവശ്യമുണ്ടു് എന്നതുമാണു്. എന്റെ സ്വന്തം പ്രോഗ്രാമുകൾക്കും ഇതു ശരിയാണു്—ഗ്നു C കമ്പൈലർ, ഗ്നു ഇമാക്സ്, ജിഡിബി (GDB), ഗ്നു മേയ്ക് (GNU Make) എന്നിവ.
നമ്മുടെ സ്വാതന്ത്ര്യത്തിനു നേരെയുള്ള ഭീഷണികളെ തൃപ്തികരമായി നേരിടാനാണു് ചില ഗ്നു പ്രോഗ്രാമുകൾ ഡവലപ്പു ചെയ്തതു്. അങ്ങനെയാണു്, LZW (ലമ്പൽ- സിവ്-വെൽഷ്) പേറ്റന്റുകൾ കാരണം ഈ കൂട്ടായ്മയ്ക്കു നഷ്ടമാകാമായിരുന്ന കമ്പ്രസ് പ്രോഗ്രാമിനു പകരം വെക്കാനായി, ജിസിപ് (gzip) ഞങ്ങൾ ഡവലപ്പു ചെയ്തതു്. ലെസ്ടീഫ് (LessTif) ഡവലപ്പു ചെയ്യാനായി ഞങ്ങൾ ആളുകളെ കണ്ടുപിടിച്ചു, ചില കുത്തക ലൈബ്രറികൾ ഉണ്ടാക്കിയ പ്രശ്നങ്ങൾ അഭിസംബോധന ചെയ്യുവാനായി ഈ അടുത്തിടെ GNOME2 (ഗ്നോം)-ഉം ഹാർമണി (Harmony)-യും തുടങ്ങി (താഴെ കാണുക). വിഖ്യാതമായ അസ്വതന്ത്ര എൻക്രിപ്ഷൻ സോഫ്റ്റ്വെയറിനു പകരം വെക്കാനായി ഞങ്ങൾ ഗ്നു പ്രൈവസി ഗാർഡ് (GNU Privacy Guard) ഡവലപ്പു ചെയ്യുന്നു, കാരണം ഒരിക്കലും സ്വകാര്യതയ്ക്കും സ്വാതന്ത്ര്യത്തിനും ഇടയിൽ ഏതെങ്കിലും ഒന്നു് തെരഞ്ഞെടുക്കേണ്ട അവസ്ഥ ഉപയോക്താക്കൾക്കു് ഉണ്ടാകരുതു്.
ഈ പ്രോഗ്രാമുകൾ എഴുതുന്ന ആൾക്കാർ തീർച്ചയായും ഇതിൽ താത്പര്യം ഉണ്ടായിട്ടാണു് പ്രവർത്തിക്കുന്നതു്, പല സവിശേഷതകളും ഇവയോടു ചേർക്കപ്പെട്ടതു് ധാരാളം ആളുകളുടെ താത്പര്യങ്ങൾക്കും സ്വന്തം ആവശ്യങ്ങൾക്കും വേണ്ടിയാണു്. എന്നാൽ അതുകാരണമല്ല പ്രോഗ്രാമുകൾ നിലനില്ക്കുന്നതു്.
അപ്രതീക്ഷിതമായ പുരോഗതികൾ
ഗ്നു സംരംഭത്തിന്റെ തുടക്കത്തിൽ ഞാൻ വിചാരിച്ചിരുന്നതു് മുഴുവൻ ഗ്നു സിസ്റ്റവും ഞങ്ങൾ ഡവലപ്പു ചെയ്തു് ഇതു് മുഴുവനായും പ്രസീദ്ധികരിക്കും എന്നായിരുന്നു. എന്നാൽ ഇതല്ല സംഭവിച്ചതു്.
ഗ്നു സിസ്റ്റത്തിന്റെ ഓരോ ഘടകങ്ങളും യുണിക്സ് സിസ്റ്റത്തിനു മുകളിൽ നിർമ്മിക്കപ്പെട്ടതായതുകൊണ്ടു്, ഒരു സമ്പൂർണ ഗ്നു സിസ്റ്റം നിലവിൽ വരുന്നതിനു വളരെ മുൻപു തന്നെ ഓരൊ ഘടകങ്ങളും യുണിക്സ് സിസ്റ്റത്തിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിഞ്ഞിരുന്നു. ഇതിൽ ചില പ്രോഗ്രാമുകൾ പ്രസിദ്ധമായി തീർന്നു, മാത്രമല്ല ഉപയോക്താക്കൾ അവയെ വിപുലീകരിക്കാനും പോർട്ടു ചെയ്യാനും തുടങ്ങി—യുണിക്സിന്റെ ഇൻകമ്പാറ്റിബിളായ ധാരാളം പതിപ്പുകളിലേക്കു്, ചിലപ്പോഴൊക്കെ മറ്റു സിസ്റ്റങ്ങളിലേക്കും.
ഈ പ്രക്രിയ പ്രോഗ്രാമുകളെ കൂടുതൽ കരുത്തുള്ളതാക്കി, മാത്രമല്ല ഇതു് ഗ്നു സംരംഭത്തിലേക്കു് ഫണ്ടുകളും കോൺട്രിബ്യൂട്ടർമാരെയും ആകർഷിച്ചു. പക്ഷേ ഇതു് ചെറിയ തോതിൽ പ്രവർത്തിക്കുന്ന ഒരു സിസ്റ്റം എന്നുള്ള രീതിയിലുള്ള പൂർത്തീകരണം പോലും കുറേ വർഷത്തേക്കു നീട്ടിയിരുന്നിരിക്കാം, കാരണം ഈ പോർട്ടു ചെയ്തവയെ പരിപാലിക്കുവാനും നിലവിലുള്ള ഘടകങ്ങൾക്കു് കൂടുതൽ സവിശേഷതകൾ കൂട്ടിച്ചേർക്കാനും ആയിരുന്നു ഗ്നു ഡവലപ്പർമാർ സമയം ചെലവഴിച്ചതു്, മറിച്ചു് വിട്ടുപോയ ഘടകങ്ങൾ ഒന്നിനുപുറകെ ഒന്നായി എഴുതിച്ചേർക്കാനായിരുന്നില്ല.
ഗ്നു ഹർഡ്
1990 ആയപ്പോഴേക്കും ഗ്നു സിസ്റ്റം ഏകദേശം പൂർത്തിയായി; വിട്ടുപോയ ഒരേഒരു സുപ്രധാന ഘടകം കെർണൽ ആയിരുന്നു. മാക്ക് (Mach)-നു മുകളിൽ പ്രവർത്തിക്കുന്ന സെർവർ പ്രൊസെസ്സുകളുടെ ഒരു ശേഖരം എന്ന രീതിയിലാണു് ഞങ്ങളുടെ കെർണലിനെ സാക്ഷാത്കരിക്കാൻ തീരുമാനിച്ചിരുന്നതു്. കാർനഗി മെലൺ സർവ്വകലാശാലയിലും യൂറ്റാ സർവ്വകലാശാലയിലുമായി വികസിപ്പിച്ച ഒരു മൈക്രോകെർണൽ ആണു് മാക്ക്; മാക്കിനു മുകളിൽ പ്രവർത്തിക്കുന്ന ഒരു കൂട്ടം സെർവറുകളുടെ ശേഖരമാണു് ഗ്നു ഹർഡ് (അതായതു് ഗ്നുകളുടെ ഒരു കൂട്ടം- a herd of GNUs), കൂടാതെ ഇതു് യുണിക്സ് കെർണലിന്റെ വിവിധ ജോലികളും ചെയ്യുന്നു. വാഗ്ദാനം ചെയ്തതുപോലെ മാക്ക് സ്വതന്ത്ര സോഫ്റ്റ്വെയറായി പ്രസിദ്ധീകരിക്കാൻ ഞങ്ങൾ കാത്തിരുന്നതു കാരണം ഇതു ഡവലപ്പു ചെയ്തു തുടങ്ങാൻ വൈകി.
ഈ ഡിസൈൻ തിരഞ്ഞെടുക്കാനുള്ള ഒരു കാരണം ഈ ജോലിയുടെ ഏറ്റവും കാഠിന്യമുള്ള ഭാഗം എന്നുതോന്നിയതിനെ ഒഴിവാക്കുകയായിരുന്നു: ഒരു സോഴ്സ് ലവൽ ഡിബഗ്ഗർ ഇല്ലാതെ ഒരു കെർണൽ പ്രോഗ്രാം ഡിബഗ്ഗു ചെയ്യുന്നതു്. മാക്കിൽ ഈ ഭാഗം അപ്പോഴേക്കും ചെയ്തു കഴിഞ്ഞിരുന്നു, കൂടാതെ ഹർഡ് സെർവറുകൾ ഉപയോക്തൃ പ്രോഗ്രാമുകൾ എന്ന രീതിയിൽ ജിഡിബി ഉപയോഗിച്ചു് ഡിബഗ് ചെയ്യാമെന്നും ഞങ്ങൾ പ്രതീക്ഷിച്ചു. പക്ഷേ അതു സാധ്യമാക്കാൻ വളരെയധികം സമയമെടുത്തു, ഇതിനുപുറമെ പരസ്പരം സന്ദേശങ്ങളയച്ചിരുന്ന മൾട്ടിത്രെഡഡ് സെർവറുകൾ ഡിബഗ്ഗു ചെയ്യുന്നതും വളരെ വിഷമമുള്ളതായി മാറി. ഇതു കാരണം ഹർഡിനെ പൂർണമായി പ്രവർത്തിക്കുന്ന ഒന്നാക്കുന്നതു് വർഷങ്ങളായി നീണ്ടുപോയി.
അലിക്സ്
തുടക്കത്തിൽ ഗ്നു കെർണലിന്റെ പേരു് ഹർഡ് എന്നാവേണ്ടതായിരുന്നില്ല. ഇതിന്റെ ആദ്യ പേരു് അലിക്സ്—ആ സമയത്തു് എന്റെ കാമുകിയായിരുന്ന സ്ത്രീയുടെ പേരിൽ നിന്നും. ഒരു യുണിക്സ് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർ ആയിരുന്ന അവൾ, യുണിക്സ് സിസ്റ്റം പതിപ്പുകളുടെ സാധാരണയായുള്ള നാമകരണ ക്രമത്തിനു് അവളുടെ പേരു് എങ്ങനെ യോജിക്കുമെന്നു് ചൂണ്ടിക്കാട്ടി; തമാശ രൂപത്തിൽ, അവൾ അവളുടെ സുഹൃത്തുക്കളോടു പറഞ്ഞു, “ആരെങ്കിലും ഒരു കെർണലിനു് എന്റെ പേരിടണം.” ഞാൻ ഒന്നും പറഞ്ഞില്ല, പക്ഷേ അലിക്സ് എന്നു ഒരു കെർണലിനു പേരിട്ടു് അവളെ ആശ്ചര്യപ്പെടുത്താൻ തീരുമാനിച്ചു.
അതു് ആ രീതിയിൽ നടന്നില്ല. മൈക്കിൾ (ഇപ്പോൾ തോമസ്) ബുഷ്നെൽ, കെർണലിന്റെ പ്രധാന ഡവലപ്പർ, ഹർഡ് എന്ന പേരാണു് ഇഷ്ടപ്പെട്ടതു്, എന്നിട്ടു് കെർണലിന്റെ ഒരു ഭാഗത്തെ അലിക്സ് എന്നു പേരിട്ടു—സിസ്റ്റം കോളുകളെ ട്രാപ്പു ചെയ്തു് ഹർഡ് സെർവറുകളിലേക്കു് സന്ദേശങ്ങളയച്ചു് അവ കൈകാര്യം ചെയ്യുന്ന ഭാഗം.
പിന്നീടു്, അലിക്സും ഞാനും വേർപിരിഞ്ഞു, കൂടാതെ അവൾ പേരു മാറ്റുകയും ചെയ്തു; ഇതുമായി ബന്ധമൊന്നുമില്ലാതെ, ഹർഡ് ഡിസൈനിൽ മാറ്റമുണ്ടായി, സെർവറുകളിലേക്കു നേരിട്ടു് സന്ദേശങ്ങളയക്കാൻ C ലൈബ്രറി ഉപയോഗിച്ചു, ഇതു് അലിക്സ് എന്ന ഘടകത്തെ ഡിസൈനിൽ നിന്നും അപ്രത്യക്ഷമാക്കി.
എന്നാൽ ഇതൊക്കെ സംഭവിക്കുന്നതിനു മുൻപു്, അവളുടെ ഒരു സുഹൃത്തു് ഹർഡ് സോഴ്സ് കോഡ് വായിക്കാനിടയായി, എന്നിട്ടു് അതു് അവളോടു സൂചിപ്പിച്ചു. അതിലൂടെ അവൾക്കു് അവളുടെ പേരിൽ ഒരു കെർണൽ കാണാൻ അവസരം ലഭിക്കുകയും ചെയ്തു.
ലിനക്സും ഗ്നു/ലിനക്സും
ഗ്നു ഹർഡ് പ്രൊഡക്ഷൻ ഉപയോഗങ്ങൾക്കു് അനുയോജ്യമല്ല, ഇനി എപ്പോഴെങ്കിലും അങ്ങനെ ആകുമോയെന്നും ഞങ്ങൾക്കറിയില്ല. കാര്യക്ഷമതയെ അടിസ്ഥാനമാക്കിയുള്ള ഡിസൈനിനു് അതിന്റെ ഡിസൈനിന്റെ വഴക്കത്തിൽ നിന്നും നേരിട്ടുണ്ടാകുന്ന പ്രശ്നങ്ങളുണ്ടു്, മാത്രമല്ല ഇതിനു പരിഹാരങ്ങളുണ്ടോയെന്നതു് വ്യക്തമല്ല.
ഭാഗ്യവശാൽ, മറ്റൊരു കെർണൽ ലഭ്യമാകുന്നു. 1991-ൽ ലിനസ് ടോർവാൾഡ്സ് ഡവലപ്പു ചെയ്ത ലിനക്സ് എന്നു വിളിക്കുന്ന, യുണിക്സിനു് അനുയോജ്യമായ കെർണൽ. ആദ്യം അതൊരു കുത്തക പ്രോഗ്രാം ആയിരുന്നു, പക്ഷേ 1992-ൽ അയാൾ ഇതിനെ സ്വതന്ത്ര സോഫ്റ്റ്വെയറാക്കി; ലിനക്സിനെ ശരിക്കും പൂർത്തിയാകാത്ത ഗ്നു സിസ്റ്റവുമായി സംയോജിപ്പിച്ചപ്പോൾ ഒരു സമ്പൂർണ സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റം ഉണ്ടായി. (അവയെ സംയോജിപ്പിക്കുക എന്നതു് തീർച്ചയായും ഗണ്യമായ ഒരു ജോലി തന്നെയായിരുന്നു.) ലിനക്സ് കാരണമാണു് ഗ്നു സിസ്റ്റത്തിന്റെ ഒരു പതിപ്പു് ഇന്നു കാണുന്ന രീതിയിൽ പ്രവർത്തിപ്പിക്കാൻ സാധിക്കുന്നതു്.
ഈ സിസ്റ്റത്തിന്റെ പതിപ്പിനെ ഗ്നു/ലിനക്സ് എന്നാണു് ഞങ്ങൾ വിളിക്കുന്നതു്, ഗ്നു സിസ്റ്റം കെർണലായ ലിനക്സോടു കൂടിയെന്നുള്ള സംയോജനത്തിന്റെ ഘടന സ്പഷ്ടമാക്കാനാണിങ്ങനെ ചെയ്തതു്. ദയവായി ഈ സിസ്റ്റത്തിനെ ഒന്നായി “ലിനക്സ്” എന്നു വിളിക്കുന്ന ശീലത്തിലേക്കു വീണു പോകരുതു്, കാരണം ഞങ്ങളുടെ പ്രവൃത്തി മറ്റൊരാളുടെ മേൽ ചുമത്തുന്നുവെന്നാണിതിനർത്ഥം. ദയവായി ഞങ്ങൾക്കു് തുല്യമായ പരാമർശം നല്കുക.
നമ്മുടെ ഭാവിയിലെ വെല്ലുവിളികൾ
സ്വതന്ത്ര സോഫ്റ്റ്വെയറിന്റെ വിശാലമായ ഒരു സ്പെക്ട്രം ഡവലപ്പു ചെയ്യാനുള്ള ഞങ്ങളുടെ കഴിവു് ഞങ്ങൾ തെളിയിച്ചിട്ടുണ്ടു്. ഞങ്ങൾ അജയ്യരാണെന്നോ തടയാനാവാത്തവരാണെന്നോ അതു് അർത്ഥമാക്കുന്നില്ല. നിരവധി വെല്ലുവിളികൾ സ്വതന്ത്ര സോഫ്റ്റ്വെയറിന്റെ ഭാവി അനിശ്ചിതത്വത്തിലാക്കുന്നു; അവയെ അഭിമുഖീകരിക്കാൻ ദൃഢചിത്തതയോടു കൂടിയ പ്രയത്നവും സഹിഷ്ണുതയും ആവശ്യമായി വരും, ചിലപ്പോൾ വർഷങ്ങളോളം നീണ്ടു നില്ക്കുന്ന തരത്തിൽ. ആളുകൾ അവരുടെ സ്വാതന്ത്ര്യത്തിനു വിലകല്പിക്കുകയും അതിനെ എടുത്തുമാറ്റാൻ ആരെയും അനുവദിക്കാതിരിക്കുകയും ചെയ്യുന്ന തരത്തിലുള്ള ദൃഢനിശ്ചയം തന്നെ അതിനു് ആവശ്യമായി വരും.
തുടർന്നുള്ള നാലു വിഭാഗങ്ങൾ ഈ വെല്ലുവിളികളെ കുറിച്ചു സംസാരിക്കുന്നു.
നിഗൂഢ ഹാർഡ്വെയർ
ഹാർഡ്വെയർ സ്പെസിഫിക്കേഷനുകൾ രഹസ്യമാക്കി സൂക്ഷിക്കുന്ന രീതി ഹാർഡ്വെയർ നിർമ്മാതാക്കൾക്കിടയിൽ കൂടിവരുന്നു. ഇതു് പുതിയ ഹാർഡ്വെയറുകളിൽ ലിനക്സും XFree86-ഉം പിന്തുണയ്ക്കുന്നതിനുള്ള സ്വതന്ത്ര ഡ്രൈവറുകൾ എഴുതുന്നതു് പ്രയാസമുള്ളതാക്കുന്നു. ഇന്നു നമുക്കു് സമ്പൂർണ സ്വതന്ത്ര സിസ്റ്റങ്ങളുണ്ടു്, എന്നാൽ നാളത്തെ കംപ്യൂട്ടറുകളെ പിന്തുണയ്ക്കാൻ നമുക്കു കഴിഞ്ഞില്ലെങ്കിൽ നാളെ അവ നമുക്കു നഷ്ടമാകും.
ഈ പ്രശ്നത്തെ ചെറുക്കുന്നതിനു് രണ്ടു മാർഗങ്ങളുണ്ടു്. ഹാർഡ്വെയറിനെ എങ്ങനെ പിന്തുണയ്ക്കാമെന്നു മനസ്സിലാക്കാനായി പ്രോഗ്രാമർമാർക്കു് റിവേഴ്സ് എഞ്ചിനീയറിങ് ചെയ്യാൻ സാധിക്കും. ബാക്കിയുള്ളവർക്കു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പിന്തുണയ്ക്കുന്ന ഹാർഡ്വെയർ തിരഞ്ഞെടുക്കാൻ കഴിയും; നമ്മുടെ എണ്ണം കൂടുമ്പോൾ, സ്പെസിഫിക്കേഷനുകൾ രഹസ്യമാക്കിവെക്കുന്നതു് സ്വയം പരാജയപ്പെടുത്തുന്ന നയമായി മാറും.
റിവേഴ്സ് എഞ്ചിനീയറിങ് ഒരു വലിയ ജോലിയാണു്; ഇതേറ്റെടുക്കാൻ മാത്രം നിശ്ചയ ദാർഢ്യമുള്ള പ്രോഗ്രാമർമാർ നമുക്കുണ്ടാകുമോ? ഉണ്ടാകും—സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആദർശത്തെ സംബന്ധിക്കുന്നതാണെന്നും അസ്വതന്ത്ര ഡ്രൈവറുകൾ അസഹനീയമാണെന്നുമുള്ള ശക്തമായ വികാരം നമ്മൾ കെട്ടിപ്പടുക്കുകയാണെങ്കിൽ. കൂടാതെ സ്വതന്ത്ര ഡ്രൈവറുകൾ ഉപയോഗിക്കാനായി, നമ്മളിൽ വലിയ വിഭാഗം ആൾക്കാർ കൂടുതൽ പണം അല്ലെങ്കിൽ കുറച്ചധികം സമയം ചെലവഴിക്കുമോ? ചെലവഴിക്കും, സ്വാതന്ത്ര്യത്തിനുള്ള നിശ്ചയ ദാർഢ്യം വ്യാപകമാണെങ്കിൽ.
(2008 കുറിപ്പ്: ഈ പ്രശ്നം BIOS-ലും ഉണ്ടു്. ഒരു സ്വതന്ത്ര BIOS ആണു്, ലിബൃബൂട്ട്(LibreBoot) (കോർബൂട്ട്(coreboot)-ന്റെ ഒരു വിതരണം); അസ്വതന്ത്ര “ബ്ലോബുകൾ” ഒന്നും കൂടാതെ മെഷീനുകളെ പിന്തുണയ്ക്കാനായി ലിബൃബൂട്ടിനു് അവയുടെ സ്പെക്കുകൾ ലഭിക്കുന്നതിലാണു് ഇവിടെ പ്രശ്നം.)
അസ്വതന്ത്ര ലൈബ്രറികൾ
ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന അസ്വതന്ത്ര ലൈബ്രറിയ്ക്കു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പർമാർക്കുള്ള ചതിക്കുഴിയാവാൻ കഴിയും. ഇതിലുള്ള പ്രലോഭനം ലൈബ്രറികളുടെ ആകർഷകമായ സവിശേഷതകളാണു്; നിങ്ങൾ ഈ ലൈബ്രറി ഉപയോഗിച്ചാൽ ആ ചതിക്കുഴിയിൽ നിങ്ങൾ വീഴും, കാരണം നിങ്ങളുടെ പ്രോഗ്രാമിനു് ഉപയോഗപ്രദമായ രീതിയിൽ ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിന്റെ ഭാഗമാകാൻ കഴിയില്ല. (കൃത്യമായി പറഞ്ഞാൽ, ഞങ്ങൾക്കു് നിങ്ങളുടെ പ്രോഗ്രാം ഉൾക്കൊള്ളിക്കാൻ കഴിയും, പക്ഷേ ലൈബ്രറികളുടെ അഭാവം കാരണം ഇതു് പ്രവർത്തിക്കണം എന്നില്ല.) അതിലും മോശം, കുത്തക ലൈബ്രറി ഉപയോഗിക്കുന്ന ഒരു പ്രോഗ്രാം പ്രശസ്തമായാൽ, മുമ്പു വിചാരിച്ചിട്ടില്ലാതിരുന്ന പ്രോഗ്രാമർമാരെ ഈ ചതിക്കുഴിയിലേക്കു പ്രലോഭിപ്പിക്കാൻ ഇതിനു കഴിയും.
ഈ പ്രശ്നത്തിന്റെ ആദ്യ ഉദാഹരണം 80-കളിലെ മോട്ടിഫ് ടൂൾകിറ്റ് ആയിരുന്നു. ആ സമയത്തു് സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റം ഒന്നുംതന്നെ ഇല്ലായിരുന്നുവെങ്കിൽ പോലും, മോട്ടിഫ് പിന്നീടു് പ്രശ്നമാകുമെന്നു് വ്യക്തമായിരുന്നു. ഗ്നു സംരംഭം രണ്ടു രീതിയിലാണു് പ്രതികരിച്ചതു്: സ്വതന്ത്ര സോഫ്റ്റ്വെയർ സംരംഭങ്ങളോടു് ഫ്രീ X ടൂൾകിറ്റിനെയും മോട്ടിഫിനെയും പിന്തുണക്കാൻ ആവശ്യപ്പെട്ടും, മോട്ടിഫിനു് ഒരു സ്വതന്ത്ര പകരം സംവിധാനം എഴുതാൻ ആരെയെങ്കിലും ആവശ്യപ്പെട്ടും. ഈ ജോലിക്കു് വർഷങ്ങളെടുത്തു; ഹങ്ഗ്രി പ്രോഗ്രാമർമാർ ഡവലപ്പു ചെയ്ത ലെസ്സ്ട്ടിഫ്, 1997-ൽ മാത്രമേ ഇതു് മിക്ക മോട്ടിഫ് ആപ്ലിക്കേഷനുകളെയും പിന്തുണയ്ക്കാൻ മാത്രം കരുത്തുള്ളതായുള്ളു.
1996-നും 1998-നും ഇടയിൽ, ക്യൂട്ട് (Qt) എന്നു പേരുള്ള, മറ്റൊരു അസ്വതന്ത്ര GUI (ഗ്രാഫിക്കൽ യൂസർ ഇന്റർഫേസ്) ടൂൾകിറ്റ് ലൈബ്രറി, ഗണ്യമായ ഒരു സ്വതന്ത്ര സോഫ്റ്റ്വെയറിൽ ഉപയോഗിച്ചിരുന്നു, കെഡിഇ (KDE - കെ ഡസ്ക്ടോപ്പ് എൻവയോൺമെന്റ്) എന്ന ഡെസ്ക്ടോപ്പിൽ.
സ്വതന്ത്ര ഗ്നു/ലിനക്സ് സിസ്റ്റങ്ങൾക്കു് കെഡിഇ ഉപയോഗിക്കാൻ കഴിഞ്ഞില്ല, കാരണം ഞങ്ങൾക്കു് ആ ലൈബ്രറി ഉപയോഗിക്കാൻ കഴിയുമായിരുന്നില്ല. എന്നിരുന്നാലും, സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനോടു ചേർന്നു നില്ക്കുന്നതിൽ കർക്കശക്കാരല്ലായിരുന്ന ഗ്നു/ലിനക്സ് സിസ്റ്റങ്ങളുടെ വാണിജ്യത്തിലേർപ്പെട്ടിരുന്ന ചില വിതരണക്കാർ അവരുടെ സിസ്റ്റങ്ങളിൽ കെഡിഇ ചേർത്തു—ഇതു് കൂടുതൽ കാര്യക്ഷമതയും പക്ഷേ കുറവു സ്വാതന്ത്ര്യവുമുള്ള ഒരു സിസ്റ്റം ഉണ്ടാക്കി. ഈ കെഡിഇ ഗ്രൂപ്പ് കൂടുതൽ പ്രോഗ്രാമർമാരെ ക്യൂട്ട് ഉപയോഗിക്കാൻ പ്രോത്സാഹിപ്പിച്ചു, ലക്ഷക്കണക്കിനു് “ലിനക്സ് ഉപയോക്താക്കൾ” ഇതിൽ എന്തെങ്കിലും പ്രശ്നമുള്ളതായി അറഞ്ഞിരുന്നില്ല. ഈ സാഹചര്യം ദയനീയമായി തോന്നിത്തുടങ്ങി.
രണ്ടു തരത്തിലാണു് സ്വതന്ത്ര സോഫ്റ്റ്വെയർ കൂട്ടായ്മ ഈ പ്രശ്നത്തോടു പ്രതികരിച്ചതു്: ഗ്നോമും ഹാർമണിയും
ഗ്നോം, ഗ്നുവിന്റെ ഡെസ്ക്ടോപ്പ് സംരംഭമാണു്. 1997-ൽ മിഗേൽ ദെ ഇക്കാസ ആരംഭിച്ച, റെഡ് ഹാറ്റ് സോഫ്റ്റ്വെയറിന്റെ പിന്തുണയോടു കൂടി ഡവലപ്പു ചെയ്ത, ഗ്നോം സ്വതന്ത്ര സോഫ്റ്റ്വെയർ മാത്രം ഉപയോഗിച്ചുകൊണ്ടു് സമാനമായ ഡെസ്ക്ടോപ്പ് സൌകര്യങ്ങൾ നല്കുന്നു. C++ മാത്രമല്ലാതെ വ്യത്യസ്തമായ ധാരാളം ഭാഷകൾ പിന്തുണയ്ക്കുന്നു എന്നു തുടങ്ങിയുള്ള സാങ്കേതിക നേട്ടവും ഇതിനുണ്ടായിരുന്നു. എന്നാൽ ഇതിന്റെ പ്രധാന ഉദ്ദേശ്യം സ്വാതന്ത്ര്യമായിരുന്നു: ഒരു അസ്വതന്ത്ര സോഫ്റ്റ്വെയറും ഉപയോഗിക്കേണ്ട ആവശ്യമില്ലായിരുന്നു.
ക്യൂട്ട് ഇല്ലാതെ കെഡിഇ സോഫ്റ്റ്വെയർ പ്രവർത്തിപ്പിക്കാൻ സാധിക്കുന്ന തരത്തിൽ രൂപകല്പന ചെയ്ത ഒരു കമ്പാറ്റിബിൾ റീപ്ലേസ്മെന്റ് ലൈബ്രറിയാണു് ഹാർമണി.
1998 നവംബറിൽ, ക്യൂട്ട് ഡവലപ്പർമാർ അനുമതിപത്രത്തിൽ ഒരു മാറ്റം പ്രഖ്യാപിച്ചു, അതു് പ്രായോഗികമാകുമ്പോൾ, അതു് ക്യൂട്ടിനെ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ആക്കേണ്ടതാണു്. ഉറപ്പുവരുത്താൻ യാതൊരു മാർഗവുമില്ല, എന്നാലും ഇതു് ഭാഗികമായി ക്യൂട്ട് അസ്വതന്ത്രമായിരുന്നപ്പോൾ ഉണ്ടാക്കിയ പ്രശ്നങ്ങളോടുള്ള കൂട്ടായ്മയിൽ നിന്നുണ്ടായ ഉറച്ച പ്രതികരണത്തിൽ നിന്നാണെന്നാണു് ഞാൻ വിചാരിക്കുന്നതു്. (പുതിയ അനുമതിപത്രം അസൌകര്യപ്രദവും ന്യായരഹിതവുമാണു്, അതുകൊണ്ടു് ക്യൂട്ടിന്റെ ഉപയോഗം ഒഴിവാക്കുന്നതാണു് അഭികാമ്യം.)
[പിന്നീടുള്ള കുറിപ്പു്: 2000 സെപ്റ്റംബറിൽ, ഗ്നു ജിപിഎല്ലിനു കീഴിൽ ക്യൂട്ട് പുനഃപ്രസിദ്ധീകരിച്ചു, അതു് ഈ പ്രശ്നം പരിഹരിച്ചു.]
ഇനിയൊരു അസ്വതന്ത്ര ലൈബ്രറി പ്രലോഭിപ്പിച്ചാൽ നമ്മൾ എങ്ങനെ പ്രതികരിക്കും? ഈ സമൂഹത്തിലെ എല്ലാവരും ചതിക്കുഴിയിൽ പെടാതെ മാറിനില്ക്കേണ്ടതിന്റെ ആവശ്യകത മനസ്സിലാക്കുമൊ? അല്ലെങ്കിൽ നമ്മളിൽ പലരും സൌകര്യത്തിനു വേണ്ടി സ്വാതന്ത്ര്യത്തെ ഉപേക്ഷിക്കുമൊ, എന്നിട്ടു് ഇതിലും വലിയൊരു പ്രശ്നം ഉണ്ടാക്കുമൊ? നമ്മുടെ ഭാവി നമ്മുടെ തത്ത്വശാസ്ത്രത്തെ ആശ്രയിച്ചിരിക്കുന്നു.
സോഫ്റ്റ്വെയർ പേറ്റന്റുകൾ
ഇരുപതു വർഷത്തോളം കാലം സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനു കൈയ്യെത്താവുന്നതിനുമപ്പുറത്തേക്കു് അൽഗൊരിതങ്ങളെയും ഫീച്ചറുകളെയും വെക്കുവാൻ സാധിക്കുന്ന സോഫ്റ്റ്വെയർ പേറ്റന്റുകളിൽ നിന്നാണു് ഞങ്ങൾ അഭിമുഖീകരിക്കുന്ന ഏറ്റവും രൂക്ഷമായ ഭീഷണി ഉണ്ടാവുന്നതു്. LZW കമ്പ്രഷൻ അൽഗൊരിതം പേറ്റന്റുകൾക്കായുള്ള അപേക്ഷ 1983-ലാണുണ്ടായതു്, കൃത്യമായി കമ്പ്രസ് ചെയ്തിട്ടുള്ള GIF-കൾ ഉത്പാദിപ്പിക്കാനുള്ള സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പ്രകാശനം ചെയ്യാൻ ഞങ്ങൾക്കു് ഇപ്പോഴും സാധിക്കുന്നില്ല. [2009-ൽ അവയുടെ കാലാവധി കഴിഞ്ഞു.] 1998-ൽ, കമ്പ്രസു ചെയ്ത MP3 ഓഡിയോ നിർമ്മിക്കുവാനായുള്ള ഒരു സ്വതന്ത്ര പ്രോഗ്രാം ഒരു പേറ്റന്റ് ലംഘനത്തിന്റെ ഭീഷണി കാരണം ഡിസ്ട്രിബ്യൂഷനിൽ നിന്നും നീക്കം ചെയ്യപ്പെട്ടു. [2017-ൽ, ഈ പേറ്റന്റുകളുടെ കാലാവധി കഴിഞ്ഞു. എത്രകാലമാണു് ഞങ്ങൾ കാത്തിരിക്കേണ്ടിവന്നതെന്നു നോക്കൂ.]
പേറ്റന്റുകളെ ചെറുക്കുന്നതിനു മാർഗങ്ങളുണ്ടു്: ഒരു പേറ്റന്റ് അസാധുവാണെന്നുള്ളതിനു് തെളിവുകൾ തിരയാൻ കഴിയും, കൂടാതെ അതേ കാര്യം ചെയ്യാനായുള്ള മറ്റു വഴികൾ അന്വേഷിക്കാനും കഴിയും. പക്ഷേ മേല്പറഞ്ഞ ഓരോ രീതികളും ചിലപ്പോൾ മാത്രമെ നടക്കുകയുള്ളു; രണ്ടും പരാജയപ്പെടുമ്പോൾ, ഉപയോക്താക്കൾ ആഗ്രഹിക്കുന്ന ചില സവിശേഷതകൾ നല്കാൻ കഴിയില്ലെന്ന അവസ്ഥയിലേക്കു് എത്തിപ്പെടുവാൻ എല്ലാ സ്വതന്ത്ര സോഫ്റ്റ്വെയറുകളും നിർബന്ധിതമായേക്കാം. കുറേ കാലം കാത്തിരുന്നാൽ പേറ്റന്റുകളുടെ കാലാവധി കഴിയും, പക്ഷേ അതുവരെ നമ്മൾ എന്തു ചെയ്യും?
ഞങ്ങളിൽ സ്വാതന്ത്ര്യത്തിന്റെ പേരിൽ സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനെ വിലകല്പിക്കുന്നവർ എന്തായാലും സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനൊപ്പം നില്ക്കും. പേറ്റന്റു ചെയ്യപ്പെട്ട സവിശേഷത ഇല്ലാതെ കാര്യം നടത്താൻ ഞങ്ങൾക്കു കഴിയും. പക്ഷേ സാങ്കേതികമായി ഉയർന്ന നിലയിൽ ആണെന്നുള്ള പ്രതീക്ഷയിൽ സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനെ വിലവെക്കുന്നവർ ഒരു പേറ്റന്റ് അതിനെ തടയുമ്പോൾ ഇതിനെ ഒരു പരാജയമെന്നു വിളിക്കാൻ സാധ്യതയുണ്ടു്. അതായതു്, “ബസാർ” മാതൃകയിലുള്ള ഡവലപ്മെന്റിന്റെ പ്രായോഗിക ഫലപ്രാപ്തിയെ കുറിച്ചും, ചില സ്വതന്ത്ര സോഫ്റ്റ്വെയറുകളുടെ വിശ്വാസ്യതയെ കുറിച്ചും പ്രവർത്തനശക്തിയെ കുറിച്ചും ഒക്കെ സംസാരിക്കുന്നതു് ഉപയോഗപ്രദം തന്നെ, എന്നാൽ നമ്മൾ അവിടെ നിർത്താൻ പാടില്ല. സ്വാതന്ത്ര്യത്തെ കുറിച്ചും ആദർശത്തെ കുറിച്ചും നിർബന്ധമായും സംസാരിക്കണം.
സ്വതന്ത്ര ഡോക്യുമെന്റേഷൻ
ഞങ്ങളുടെ സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളിലുള്ള ഏറ്റവും വലിയ ന്യൂനത സോഫ്റ്റ്വെയറിലല്ല—ഞങ്ങളുടെ സിസ്റ്റങ്ങളിൽ ഉൾപ്പെടുത്താൻ കഴിയുന്ന നല്ല സ്വതന്ത്ര സഹായരേഖകളുടെ കുറവാണു്. ഡോക്യുമെന്റേഷൻ ഏതു സോഫ്റ്റ്വെയർ പാക്കേജിന്റെയും അത്യന്താപേക്ഷിത ഘടകമാണു്; ഒരു പ്രധാനപ്പെട്ട സ്വതന്ത്ര സോഫ്റ്റ്വെയർ പാക്കേജ് നല്ല ഒരു സ്വതന്ത്ര സഹായരേഖയ്ക്കൊപ്പം വന്നില്ലെങ്കിൽ, ഇതൊരു വലിയ വിടവാണു്. അത്തരം വിടവുകൾ ഇന്നു ഞങ്ങൾക്കു ധാരാളമുണ്ടു്.
ഫ്രീ ഡോക്യുമെന്റേഷൻ, ഫ്രീ സോഫ്റ്റ്വെയർ പോലെതന്നെ, സ്വാതന്ത്ര്യത്തെ കുറിച്ചുള്ള കാര്യമാണു്, വിലയെ കുറിച്ചല്ല. സ്വതന്ത്ര സഹായരേഖകൾക്കുള്ള മാനദണ്ഡം സ്വതന്ത്ര സോഫ്റ്റ്വെയറിന്റേതിനോടു് ഏറെക്കുറെ സാമ്യമുള്ളതാണു്: എല്ലാ ഉപയോക്താക്കൾക്കും ചില സ്വാതന്ത്ര്യങ്ങൾ നല്കുന്നതിനെ കുറിച്ചുള്ളതാണിതു്. പുനർവിതരണം (വാണിജ്യപരമായ വില്പന ഉൾപ്പെടെ) നിർബന്ധമായും അനുവദിച്ചിരിക്കണം, ഓൺലൈനിലും കടലാസിലും, അതിലൂടെ പ്രോഗ്രാമിന്റെ എല്ലാ പകർപ്പുകൾക്കൊപ്പവും സഹായരേഖ ചേർക്കാൻ കഴിയും.
മാറ്റങ്ങൾ വരുത്താനുള്ള അനുമതിയും നിർണ്ണായകമാണു്. എല്ലാ തരത്തിലുള്ള ലേഖനങ്ങളും പുസ്തകങ്ങളും പരിഷ്കരിക്കാനുള്ള അനുമതി ആളുകൾക്കു് ഉണ്ടായിരിക്കേണ്ടതു് അത്യന്താപേക്ഷിതമാണു് എന്നതു് ഒരു പൊതു നിയമം എന്നരീതിയിൽ ഞാൻ വിശ്വസിക്കുന്നില്ല. ഉദാഹരണത്തിനു്, നമ്മുടെ പ്രവൃത്തികളും കാഴ്ചപ്പാടുകളും വിവരിക്കുന്ന ഇതുപോലെയുള്ള ലേഖനങ്ങളിൽ മാറ്റം വരുത്താനുള്ള അനുമതി നല്കാനുള്ള ചുമതല നിങ്ങൾക്കോ എനിക്കോ ഉണ്ടെന്നു ഞാൻ വിചാരിക്കുന്നില്ല.
എന്നാൽ സ്വതന്ത്ര സോഫ്റ്റ്വെയറിനു വേണ്ടിയുള്ള ഡോക്യുമെന്റേഷൻ പരിഷ്കരിക്കാനുള്ള സ്വാതന്ത്ര്യം നിർണ്ണായകമാകുന്നതെന്തുകൊണ്ടു് എന്നതിനു് ഒരു പ്രത്യേക കാരണമുണ്ടു്. സോഫ്റ്റ്വെയർ പരിഷ്കരിക്കാനുള്ള അവകാശം ആളുകൾ ഉപയോഗിക്കുമ്പോൾ, അതിനുള്ള സവിശേഷതകൾ കൂട്ടുകയോ അതിനു മാറ്റം വരുത്തുകയോ ചെയ്യുന്നു, ആത്മാർത്ഥതയോടെ ആ ജോലി ചെയ്യുന്നവരാണെങ്കിൽ അവർ സഹായരേഖയിലും മാറ്റം വരുത്തും—അതിലൂടെ ആ പരിഷ്കരിച്ച പ്രോഗ്രാമിനൊപ്പം കൃത്യവും ഉപയോഗപ്രദവുമായ ഡോക്യുമെന്റേഷൻ ലഭ്യമാക്കുവാൻ അവർക്കു കഴിയുന്നു. പ്രോഗ്രാമർമാരെ ജോലിയോടു ആത്മാർത്ഥത പുലർത്താനും ജോലി പൂർത്തിയാക്കാനും അനുവദിക്കാത്ത ഒരു അസ്വതന്ത്ര സഹായരേഖ നമ്മുടെ കൂട്ടായ്മയുടെ ആവശ്യങ്ങൾ നിറവേറ്റുന്നില്ല.
എങ്ങനെ മാറ്റങ്ങൾ വരുത്തണമെന്നുള്ളതിനുള്ള ചില തരത്തിലുള്ള പരിമിതികൾ പ്രശ്നങ്ങളൊന്നും ഉണ്ടാക്കില്ല. ഉദാഹരണത്തിനു്, യഥാർത്ഥ ലേഖകന്റെ പകർപ്പവകാശ നോട്ടീസ് സംരക്ഷിക്കണമെന്നുള്ള ആവശ്യകത, വിതരണ നിബന്ധനകൾ, അല്ലെങ്കിൽ ലേഖകരുടെ പട്ടിക ഇവയ്ക്കൊന്നും കുഴപ്പമില്ല. മാത്രമല്ല പരിഷ്കരിച്ച പതിപ്പുകളിൽ അവ പരിഷ്കരിച്ചതാണെന്നുള്ള നോട്ടീസ് ഉൾപ്പെടുത്തണമെന്നു് ആവശ്യപ്പെടുന്നതും ഒരു പ്രശ്നമല്ല, സാങ്കേതികമല്ലാത്ത ഒരു വിഷയം കൈകാര്യം ചെയ്യുന്ന ഒരു വിഭാഗം മുഴുവനായും മാറ്റം വരുത്തുവാനോ ഒഴിവാക്കുവാനോ പറ്റില്ലെന്നുള്ളതുപോലും പ്രശ്നമല്ല. ഈ തരത്തിലുള്ള നിയന്ത്രണങ്ങൾ ഒരു പ്രശ്നമല്ലാത്തതിനു കാരണം അവ ആത്മാർത്ഥതയുള്ള പ്രോഗ്രാമറെ പരിഷ്കരിച്ച പ്രോഗ്രാമിനു യോജിച്ച തരത്തിൽ സഹായരേഖയിൽ മാറ്റം വരുത്തുന്നതിൽ നിന്നും തടയുന്നില്ല എന്നതുതന്നെ. മറ്റൊരു തരത്തിൽ പറഞ്ഞാൽ, സഹായരേഖ സമ്പൂർണമായും ഉപയോഗിക്കുന്നതിൽ നിന്നും സ്വതന്ത്ര സോഫ്റ്റ്വെയർ കൂട്ടായ്മയെ അവ തടയുന്നില്ല.
എന്തിരുന്നാലും, സഹായരേഖയിലെ സാങ്കേതികമായ എല്ലാ ഉള്ളടക്കങ്ങളെയും പരിഷ്കരിക്കുവാൻ നിർബന്ധമായും സാധിക്കണം, എന്നിട്ടു് പരിണതഫലത്തെ എല്ലാ പതിവു മീഡിയയും ചാനലുകളും വഴി വിതരണം ചെയ്യുവാനും കഴിയണം; അല്ലെങ്കിൽപിന്നെ, നിയന്ത്രണങ്ങൾ കൂട്ടായ്മയ്ക്കൊരു തടസ്സമാകുന്നു, സഹായരേഖ സ്വതന്ത്രമാകുന്നില്ല, മാത്രമല്ല നമുക്കു് മറ്റൊരു സഹായരേഖ ആവശ്യമായും വരും.
സ്വതന്ത്ര സഹായരേഖകളുടെ ഒരു മുഴുവൻ സ്പെക്ട്രം തന്നെ ഉത്പാദിപ്പിക്കാനുള്ള അവബോധവും ദൃഢനിശ്ചയവും സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പർമാർക്കു് ഉണ്ടാവുമോ? ഒന്നുകൂടി ആവർത്തിക്കുന്നു, നമ്മുടെ ഭാവി തത്ത്വശാസ്ത്രത്തോടു ആശ്രയിച്ചിരിക്കുന്നു.
നമ്മൾ നിർബന്ധമായും സ്വാതന്ത്ര്യത്തെ കുറിച്ചു സംസാരിക്കണം
ഇന്നത്തെ കണക്കനുസരിച്ചു് ഡബിയൻ ഗ്നു/ലിനക്സ്, റെഡ് ഹാറ്റ് “ലിനക്സ്” എന്നീ ഗ്നു/ലിനക്സ് സിസ്റ്റങ്ങൾക്കു് ഒരു കോടിയോളം ഉപയോക്താക്കളുണ്ടു്. പ്രായോഗികമായ കാരണങ്ങൾകൊണ്ടു് മാത്രം ഉപയോക്താക്കളുടെ വലിയ കൂട്ടം തന്നെ വരുന്ന രീതിയിലുള്ള പ്രായോഗികമായ നേട്ടങ്ങൾ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പു ചെയ്തിട്ടുണ്ടു്.
ഇതിന്റെ നല്ല പരിണിതഫലങ്ങൾ വ്യക്തമാണു്: സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഡവലപ്പു ചെയ്യുന്നതിൽ കൂടുതൽ താത്പര്യം, സ്വതന്ത്ര സോഫ്റ്റ്വെയർ വ്യാപാരത്തിനു കൂടുതൽ ഉപഭോക്താക്കൾ, കൂടാതെ കുത്തക സോഫ്റ്റ്വെയറുകൾക്കു പകരം വാണിജ്യപരമായ സ്വതന്ത്ര സോഫ്റ്റ്വെയർ ഉത്പന്നങ്ങൾ ഡവലപ്പു ചെയ്യാനായി കമ്പനികളെ പ്രോത്സാഹിപ്പിക്കാൻ കൂടുതൽ കഴിവു്.
പക്ഷേ സോഫ്റ്റ്വെയറിലുള്ള താത്പര്യം അതു് അടിസ്ഥാനമാക്കിയിട്ടുള്ള തത്ത്വശാസ്ത്രത്തെകുറിച്ചുള്ള അവബോധത്തേക്കാൾ പെട്ടെന്നു് വളർന്നുകൊണ്ടിരിക്കുന്നു, മാത്രമല്ല ഇതു പ്രശ്നങ്ങളിലേക്കു നയിക്കുന്നു. മുകളിൽ പറഞ്ഞിരിക്കുന്ന വെല്ലുവിളികളെയും ഭീഷണികളെയും നേരിടാനുള്ള നമ്മുടെ കഴിവു് സ്വാതന്ത്ര്യത്തിനുവേണ്ടി ഉറച്ചുനില്ക്കാനുള്ള ഇച്ഛാശക്തിയെ ആശ്രയിച്ചിരിക്കുന്നു. നമ്മുടെ കൂട്ടായ്മയ്ക്കു് ഈ ഇച്ഛാശക്തിയുണ്ടെന്നു് ഉറപ്പുവരുത്താൻ, പുതിയ ഉപയോക്താക്കൾ കൂട്ടായ്മയിലേക്കു വരുമ്പോൾ തന്നെ നമ്മൾ ഈ ആശയം അവരിലേക്കു വ്യാപിപ്പിക്കണം.
പക്ഷേ ഇതിൽ നമ്മൾ പരാജയപ്പെടുന്നു: നമ്മുടെ കൂട്ടായ്മയുടെ പൌരധർമ്മശാസ്ത്രത്തെ കുറിച്ചു് പുതിയ ഉപയോക്താക്കളെ പഠിപ്പിക്കാനുള്ള പ്രയത്നം അവരെ നമ്മുടെ കൂട്ടായ്മയിലേക്കു് ആകർഷിക്കാനുള്ള പ്രയത്നത്തിനും എത്രയോ പുറകിലാണു്. നമ്മൾ ഈ രണ്ടു കാര്യങ്ങളും ചെയ്യേണ്ടതുണ്ടു്, മാത്രമല്ല ഈ രണ്ടു പ്രയത്നങ്ങളും നമ്മൾ സന്തുലനാവസ്ഥയിൽ കാത്തുസൂക്ഷിക്കുകയും വേണം.
“ഓപ്പൺ സോഴ്സ്”
1998-ൽ പുതിയ ഉപയോക്താക്കളെ സ്വാതന്ത്ര്യത്തെ കുറിച്ചു പഠിപ്പിക്കുന്നതു കൂടുതൽ ദുഷ്കരമായി മാറി, കൂട്ടായ്മയിലെ ഒരു വിഭാഗം “സ്വതന്ത്ര സോഫ്റ്റ്വെയർ” എന്ന പദം ഉപയോഗിക്കുന്നതു നിർത്തി പകരം “ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്വെയർ” എന്നുപയോഗിച്ചു തുടങ്ങി.
ഈ പദത്തിൽ താത്പര്യം കാണിച്ച ചിലരുടെ ലക്ഷ്യം “ഫ്രീ” എന്നതു് “ഗ്രാറ്റിസ് (സൌജന്യം)” എന്നതിനു പകരമായി തെറ്റിദ്ധരിക്കുന്നതിനെ ഒഴിവാക്കലായിരുന്നു—യുക്തിപരമായ ഒരു ലക്ഷ്യം. എന്നിരുന്നാലും, മറ്റുള്ളവരുടെ ലക്ഷ്യം, സ്വതന്ത്ര സോഫ്റ്റ്വെയർ മൂവ്മെന്റിന്റെയും ഗ്നു സംരംഭത്തിന്റെയും പ്രചോദനമായിട്ടുള്ള ആദർശത്തിന്റെ ആത്മാവിനെതന്നെ മാറ്റിനിർത്തുക എന്നതായിരുന്നു, എന്നിട്ടു് എക്സിക്യൂട്ടീവുകളെയും വ്യാപാര ഉപയോക്താക്കളെയും പ്രീതിപ്പെടുത്തുക, ഇതിൽ പലരുടെയും പ്രത്യയശാസ്ത്രം ലാഭത്തെ സ്വാതന്ത്ര്യത്തിനു മുകളിലും കൂട്ടായ്മയ്ക്കു മുകളിലും ആദർശത്തിനു മുകളിലുമായി പ്രതിഷ്ഠിക്കുക എന്നതായിരുന്നു. അതായതു്, “ഓപ്പൺ സോഴ്സ്”-ന്റെ വാഗ്പാടവശാസ്ത്രം നല്ല ഗുണമേന്മയുള്ളതും കരുത്തുള്ളതുമായ സോഫ്റ്റ്വെയർ ഉണ്ടാക്കാനുള്ള സാധ്യതയിൽ ശ്രദ്ധകേന്ദ്രീകരിക്കുന്നു, എന്നാൽ സ്വാതന്ത്ര്യം, കൂട്ടായ്മ, ആദർശം തുടങ്ങിയ ആശയങ്ങളെ ഒഴിവാക്കുന്നു.
“ലിനക്സ്” മാഗസിനുകൾ ഇതിനു വ്യക്തമായ ഒരു ഉദാഹരണമാണു്—അവ ഗ്നു/ലിനക്സിനോടു കൂടി പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന കുത്തക സോഫ്റ്റ്വെയറുകളുടെ പരസ്യങ്ങൾകൊണ്ടു് നിറയ്ക്കുന്നു. അടുത്ത മോട്ടിഫോ ക്യൂട്ടോ പ്രത്യക്ഷപ്പെടുമ്പോൾ, ഈ മാഗസിനുകൾ പ്രോഗ്രാമർമാരോടു് ഇവയിൽ നിന്നും മാറിനില്ക്കാനുള്ള താക്കീതു നല്കുമോ അതോ അവയ്ക്കുവേണ്ടി പരസ്യങ്ങൾ ചെയ്യുമോ?
വ്യാപാരത്തിന്റെ പിന്തുണയ്ക്കു് പല മാർഗങ്ങളിലൂടെയും കൂട്ടായ്മയിലേക്കു സംഭാവന ചെയ്യാൻ കഴിയും; മറ്റെല്ലാം തുല്യനീതിയോടെയാണെങ്കിൽ ഇതു് ഉപയോഗപ്രദവുമാണു്. പക്ഷേ അവരുടെ പിന്തുണ നേടിയെടുക്കാനായി സ്വാതന്ത്ര്യത്തെ കുറിച്ചും ആദർശത്തെ കുറിച്ചുമൊക്കെ സംസാരിക്കുന്നതു കുറയ്ക്കുന്നു എന്നുള്ളതു് ദാരുണമാണു്; ഇതു് മുമ്പു പറഞ്ഞ, കൂടുതൽ ആളുകളിലേക്കു് എത്തിച്ചേരുക, പൌരധർമ്മശാസ്ത്ര വിദ്യാഭ്യാസം എന്നിവ തമ്മിലുള്ള അസന്തുലിതാവസ്ഥയെ വീണ്ടും വഷളാക്കുന്നു.
“സ്വതന്ത്ര സോഫ്റ്റ്വെയറും” “ഓപ്പൺ സോഴ്സും” ഏറെക്കുറേ ഒരേ വിഭാഗത്തിൽ പെടുന്ന സോഫ്റ്റ്വെയറിനെയാണു് ചിത്രീകരിക്കുന്നതു്, പക്ഷേ സോഫ്റ്റ്വെയറിനെ കുറിച്ചും മൂല്യങ്ങളെ കുറിച്ചും വ്യത്യസ്ത കാര്യങ്ങളാണു പറയുന്നതു്. ഗ്നു സംരംഭം “സ്വതന്ത്ര സോഫ്റ്റ്വെയർ” എന്ന പദം തുടർന്നും ഉപയോഗിക്കുന്നു, വെറും സാങ്കേതിക വിദ്യ മാത്രമല്ല സ്വാതന്ത്ര്യമെന്ന ആശയവും പ്രധാനമാണെന്നു് സൂചിപ്പിക്കാനാണിതു്.
ശ്രമിച്ചു നോക്കൂ!
യോദയുടെ സൂക്തം (“‘ശ്രമം’ എന്ന ഒന്നില്ല” 3) കൊള്ളാം, എന്നാൽ അതു് എന്റെ കാര്യത്തിൽ നടക്കില്ല. എനിക്കീ ജോലി ചെയ്യാൻ കഴിയുമോ എന്ന ഉത്കണ്ഠയോടെയാണു് ഞാൻ എന്റെ മിക്ക ജോലിയും ചെയ്തിട്ടുള്ളതു്, കൂടാതെ ഞാൻ ചെയ്താൽ തന്നെ അതു വേണ്ട ലക്ഷ്യത്തിലെത്താൻ മതിയാവും വിധമാകുമോ എന്നുറപ്പില്ലായ്മയും. പക്ഷേ എന്തായാലും ഞാൻ ശ്രമിച്ചു നോക്കി, കാരണം ശത്രുവിനും ഞാൻ കെട്ടിപ്പടുത്ത നഗരത്തിനും ഇടയിൽ മറ്റാരും ഉണ്ടായിരുന്നില്ല, ഞാൻ മാത്രം. എന്നെ തന്നെ ആശ്ചര്യപ്പെടുത്തുന്ന തരത്തിൽ ചിലപ്പോഴൊക്കെ ഞാൻ വിജയിച്ചിട്ടുമുണ്ടു്.
ചിലപ്പോഴൊക്കെ ഞാൻ പരാജയപ്പെട്ടു; എന്റെ ചില നഗരങ്ങൾ തകർന്നുപോയിട്ടുണ്ടു്. പിന്നെ ഭീഷണിക്കിരയായ മറ്റൊരു നഗരം ഞാൻ കണ്ടു, എന്നിട്ടു് മറ്റൊരു യുദ്ധത്തിനു തയ്യാറായി. സമയം കടന്നുപോയപ്പോൾ, ഭീഷണികൾക്കു വേണ്ടി തിരയുവാനും എന്നിട്ടു് മറ്റു ഹാക്കർമാരെ എന്നോടൊപ്പം ചേരാനായി വിളിച്ചുകൊണ്ടു് അവർക്കും എന്റെ നഗരത്തിനുമിടയിൽ സ്വയം നില്ക്കുവാനും ഞാൻ പഠിച്ചു.
ഈയിടെയായി, സാധാരണയായി ഞാൻ ഒറ്റയ്ക്കല്ല. ഹാക്കർമാരുടെ ഒരു സൈന്യം തന്നെ നിശ്ചയദാർഢ്യത്തോടെ പ്രവർത്തിക്കുന്നതു കാണുമ്പോൾ ആശ്വാസവും സന്തോഷവും ഉളവാകുന്നു, ഈ നഗരം അതിജീവിച്ചേക്കാമെന്നും ഞാൻ തിരിച്ചറിയുന്നു—തത്കാലം. പക്ഷേ ഓരോ വർഷം കൂടുന്തോറും അപകടങ്ങൾ വലുതാണു്, മാത്രമല്ല ഇപ്പോൾ മൈക്രോസോഫ്റ്റ് വ്യക്തമായി നമ്മുടെ കൂട്ടായ്മയെ ഉന്നം വെക്കുന്നു. സ്വാതന്ത്ര്യത്തിന്റെ ഭാവി നമുക്കു നിസ്സാരവത്കരിക്കാൻ കഴിയില്ല. അതിനെ നിസ്സാരമായി കാണരുതു്! നിങ്ങളുടെ സ്വാതന്ത്ര്യം സംരക്ഷിക്കണമെങ്കിൽ, നിങ്ങൾ അതിനെ പരിപാലിക്കാനായി തയ്യാറായിരിക്കണം.
പരിഭാഷകയുടെ കുറിപ്പു്
- കവിതയുടെ തർജ്ജിമ:
ഞാൻ എനിക്കുവേണ്ടി അല്ലെങ്കിൽ പിന്നെ, എനിക്കുവേണ്ടി ആരുണ്ടാകും?
ഞാൻ എനിക്കുവേണ്ടി മാത്രമാണെങ്കിൽ പിന്നെ, ഞാൻ എന്താണു്?
ഇപ്പോൾ അല്ലെങ്കിൽ പിന്നെ എപ്പോൾ?↑ - ഗ്നു നെറ്റ്വർക്ക് ഒബ്ജക്റ്റ് മോഡൽ എൻവയോൺമെന്റ്↑
- സൂക്തത്തിന്റെ പൂർണരൂപം : Try not. Do, or do not. There is no ‘try’. ഇതിന്റെ തർജ്ജിമ : ശ്രമിക്കരുതു്. ചെയ്യുക, അല്ലെങ്കിൽ ചെയ്യാതിരിക്കുക. “ശ്രമം” എന്ന ഒന്നില്ല. ↑