Technocrazian Hack the Code

Free and Open Source Software (FOSS)

നമസ്കാരം,
എന്റെ കൂട്ടുകാരിൽ ചിലരെങ്കിലും ഞാൻ മുട്ടിന് മുട്ടിന് Open Source എന്ന് വിളിച്ചു പറഞ്ഞോണ്ട് നടക്കുന്നത് കണ്ടിട്ടുണ്ടാവും. എന്താണ് ഈ ഓപ്പൺ സോഴ്സ് എന്ന് എന്നെക്കൊണ്ട് പറ്റുന്ന രീതിയിൽ പറയാം.

പ്രൊപ്രൈറ്ററി സോഫ്റ്റ്‌വെയർ

സാധാരണ രീതിയിൽ നിങ്ങൾ ഒരു സോഫ്റ്റ്‌വെയർ വാങ്ങുകയാണെങ്കിൽ, നിങ്ങൾക്ക് അത് ഉപയോഗിക്കാനുള്ള അവകാശം മാത്രമേ ലഭിക്കൂ. അതിന്റെ പ്രവർത്തനം എങ്ങനെ ആണെന്ന് പഠിക്കാനോ, അല്ലെങ്കിൽ അത് മറ്റൊരാളുമായി പങ്കുവെയ്ക്കുവാനോ സാധിക്കില്ല. നിയമവിരുദ്ധമായി അത് പങ്കുവെച്ചാൽ, നിങ്ങൾക്കെതിരെ നിയമനടപടികൾക്ക് പോവാൻ ആ സോഫ്റ്റ്‌വെയർ ഇറക്കിയ കമ്പനിക്ക് അവകാശമുണ്ട്. ഇത്തരം സോഫ്റ്റ്‌വെയറുകളുടെ പ്രശ്നങ്ങൾ പറഞ്ഞുകൊണ്ട് തന്നെ തുടങ്ങാം ആദ്യം

  1. ഈ സോഫ്റ്റ്‌വെയറുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ മാത്രമേ സാധിക്കൂ. പങ്ക് വെയ്ക്കാൻ സാധിക്കില്ല
  2. ഈ സോഫ്റ്റ്‌വെയറുകളുടെ സോഴ്സ് കോഡ് നിങ്ങൾക്ക് ലഭിക്കില്ല. അതിനാൽ തന്നെ അവയുടെ പ്രവർത്തനം എങ്ങനെ എന്ന് അറിയാൻ സാധിക്കില്ല. അതിനാൽ തന്നെ സോഫ്റ്റ്‌വെയർ നിങ്ങളുടെ വിവരങ്ങൾ ചോർത്തുന്നുണ്ടോ എന്ന് നിങ്ങൾക്ക് അറിയാൻ സാധിക്കില്ല. ഉദാഹരണത്തിന് (ഉദാഹരണം മാത്രമാണ്), നിങ്ങൾ നിങ്ങളുടെ മൈക്രോസോഫ്റ്റ് ഓഫീസ് വേർഡിൽ അടിക്കുന്ന കാര്യങ്ങൾ, ആ സോഫ്റ്റ്‌വെയർ നിങ്ങൾ അറിയാതെ തന്നെ ബിൽ ഗേറ്റ്സിന് അയച്ചു കൊടുക്കുന്നുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് അത് അറിയാൻ ഒരു വഴിയും ഇല്ല. നിങ്ങൾ മൈക്രോസോഫ്റ്റ് ഓഫീസ് വേർഡിൽ നിങ്ങളുടെ പാസ്‌വേർഡ്/ബാങ്ക് അക്കൗണ്ട് നമ്പർ/പിൻകോഡ് എന്നിവ അടിക്കുന്നു എന്നിരിക്കട്ടെ. ഈ വിവരങ്ങൾ വേറൊരാൾക്ക് ലഭിച്ചാലുണ്ടാകുന്ന ഫലം ഞാൻ പറയാതെ തന്നെ അറിയാമല്ലോ.
  3. ഈ സോഫ്റ്റ്‌വെയറുകൾ "ഞാൻ വില കൊടുത്തു വാങ്ങിയതിനു മേൽ എനിക്ക് പൂർണ്ണസ്വാതന്ത്ര്യം ഉണ്ട്" എന്ന മൗലികാവകാശത്തെ ലംഘിക്കുന്നു

സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ

മുകളിൽ പറഞ്ഞിരിക്കുന്ന പ്രശ്നങ്ങൾക്ക് ഒക്കെയുള്ള ഒരു പരിഹാരമാണ് Free and Open Source Software (FOSS).
ശ്രദ്ധിക്കേണ്ട ഒരു കാര്യം ഇവിടെ Free എന്ന് വച്ചാൽ സൗജന്യം എന്നല്ല അർത്ഥം. സ്വതന്ത്രം എന്നാണ്. ഇത് വ്യക്തമാക്കാൻ വേണ്ടി ഒരു വാക്യം തന്നെയുണ്ട്.

Free as in free speech, not as in free beer

ഓപ്പൺ സോഴ്സ് എന്നത് കൊണ്ട് സോഴ്സ് കോഡ് ലഭ്യമാക്കുന്നത് എന്നും അർത്ഥം. ഇവ രണ്ടും പരസ്പരപൂരകങ്ങളാണ്. അതുകൊണ്ട് തന്നെ, നമ്മൾ സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ എന്നതും, ഓപ്പൺസോഴ്സ് സോഫ്റ്റ്‌വെയർ എന്നതും ഒരേ കാര്യത്തെ തന്നെ സൂചിപ്പിക്കൻ ഉപയോഗിക്കുന്നു. (ഇത് പൂർണ്ണമായും ശരിയല്ല. സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറും ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്‌വെയറും തമ്മിൽ ഒരു വലിയ വ്യത്യാസം ഉണ്ട്. അതിനെ കുറിച്ച് അവസാനം പറയാം.)
ഇനി, ഇവ തരുന്ന സ്വാതന്ത്രം ഏതൊക്കെ രീതിയിൽ ഉള്ളതാണെന്ന് നോക്കാം.

സ്വാതന്ത്ര്യം 0 : ഈ സോഫ്റ്റ്‌വെയർ എന്ത് ഉപയോഗത്തിനും പ്രവർത്തിപ്പിക്കുവാനുള്ള സ്വാതന്ത്ര്യം.

സ്വാതന്ത്ര്യം 1 :ഈ സോഫ്റ്റ്‌വെയർ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നു പഠിക്കാനും, ആ പ്രവർത്തനും നിങ്ങളുടെ ആവശ്യത്തിന് അനുസരിച്ച് മാറ്റാനുമുള്ള സ്വാതന്ത്ര്യം. സോഴ്സ് കോഡ് ലഭ്യത എന്ന പ്രത്യേകത ഈ സ്വാതന്ത്ര്യത്തോട് ചേർന്നു നിൽക്കുന്നു.

സ്വാതന്ത്ര്യം 2 :ഈ സോഫ്റ്റ്‌വെയർ നിങ്ങളുടെ സുഹൃത്തുകളുമായി (വേണമെങ്കിൽ ശത്രുക്കളുമായും ) പങ്കുവെയ്ക്കാനുള്ള സ്വാതന്ത്ര്യം.

സ്വാതന്ത്ര്യം 3 :ഈ സോഫ്റ്റ്‌വെയറിൽ നിങ്ങൾ മാറ്റം വരുത്തിയെങ്കിൽ, അത് മറ്റുള്ളവരുമായി പങ്കുവെയ്ക്കാനുള്ള സ്വാതന്ത്ര്യം. അങ്ങനെ ചെയ്യുന്നത് വഴി നിങ്ങൾക്ക്, നിങ്ങളുടെ മാറ്റം സമൂഹത്തിന് ഉപകാരപ്രദമാക്കാൻ സാധിക്കും. സോഴ്സ് കോഡ് ലഭ്യത എന്ന പ്രത്യേകത ഈ സ്വാതന്ത്ര്യത്തോട് ചേർന്നു നിൽക്കുന്നു.

അപ്പോൾ എനിക്ക് സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ കൊണ്ട് വരുമാനം ഉണ്ടാക്കാൻ സാധിക്കില്ലേ?

ഇതിന്റെയൊക്കെ അർത്ഥം നിങ്ങൾക്ക് നിങ്ങൾ കഷ്ടപ്പെട്ട് ഉണ്ടാക്കിയ/മാറ്റം വരുത്തിയ സോഫ്റ്റ്‌വെയർ വില മേടിച്ചുകൊണ്ട് വിൽക്കാൻ പാടില്ലെന്നല്ല. തീർച്ചയായും നിങ്ങൾക്ക് വില മേടിക്കാം. പക്ഷേ, മുകളിൽ പറഞ്ഞിരിക്കുന്ന വ്യവസ്ഥകൾ അംഗീകരിക്കണമെന്ന് മാത്രം. എന്നുവച്ചാൽ, മറ്റൊരാൾക്ക് ആ സോഫ്റ്റ്‌വെയർ മുകളിൽ പറഞ്ഞിരിക്കുന്ന സ്വാതന്ത്ര്യം അനുവദിക്കണമെന്ന് അർത്ഥം. (ഇത് എല്ലാ സ്ഥലത്തും ശരിയാവണമെന്നില്ല)

എങ്ങനെ എന്റെ സോഫ്റ്റ്‌വെയർ സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ ആക്കാം?

ഇനി എങ്ങനെയാണ് ഒരു സോഫ്റ്റ്‌വെയർ സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ ആക്കുക എന്ന് നോക്കം.
മേൽപ്പറഞ്ഞിരിക്കുന്ന സ്വാതന്ത്ര്യങ്ങൾ അനുവദിച്ചുകൊണ്ട് ഒരു സോഫ്റ്റ്‌വെയർ പുറത്തിറക്കാൻ വേണ്ടി, ഫ്രീ സോഫ്റ്റ്‌വെയർ ഫൗണ്ടേഷൻ (www.fsf.org) എന്ന സംഘടന, ഒരു പുതിയ തരത്തിലുള്ള ലൈസൻസ് പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. GNU Public License (GPL) എന്നാണ് ഇതിന്റെ പേര്. നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ ആക്കണമെങ്കിൽ ആ സോഫ്റ്റ്‌വെയറിനെ പങ്കിടുന്ന കൂടെ, ഈ ലിങ്കിൽ കൊടുത്തിരിക്കുന്ന ഭാഗവും ചേർക്കണം. അത് ഒരു ടെക്സ്റ്റ് ഫയൽ ആയി പങ്കിട്ടാൽ മതിയാവും. അങ്ങനെ ചെയ്യുന്ന വഴി, നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ ഒരു സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ ആയിക്കഴിഞ്ഞു. GPL പോലത്തെ നിരവധി ലൈസൻസുകൾ ഉണ്ട്. അവയെ കുറിച്ച് ഇനിയൊരു പോസ്റ്റിൽ വിവരിക്കാം.

സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറും ഓപ്പൺസോഴ്സ് സോഫ്റ്റ്‌വെയറും തമ്മിലുള്ള വ്യത്യാസം


ഓപ്പൺ സോഴ്സ് ഫിലോസഫി പറയുനന്ത്, ഒരു സോഫ്റ്റ്‌വെയറിന്റെ സോഴ്സ് കോഡ് പരസ്യപ്പെടുത്തണമെന്ന് മാത്രമാണ്. അതിൽ നിന്നും ഡെവലപ്പ് ചെയ്യുന്നവ അങ്ങനെ ആകണമെന്ന് ഇല്ല. അപ്പാഷെ ലൈസൻസ് പോലുള്ള പെർമിസ്സീവ് ലൈസൻസുകൾ, ഒരു സോഫ്റ്റ്‌വെയറിന്റെ പുതുക്കലുക്കൾ, വേറേതൊരു ലൈസൻസിങ്ങ് രീതിയിലും പ്രസിദ്ധീകരിക്കൻ അനുവദിക്കുന്നു. അതായത്, നിങ്ങൾക്ക് കിട്ടിയ ഒരു സോഫ്റ്റ്‌വെയർ അപ്പാഷെ ലൈസൻസിലുള്ളതാണെങ്കിൽ, നിങ്ങൾക്ക് അവയിൽ ആവശ്യമുള്ള മാറ്റം വരുത്തി, അതിനെ ഇഷ്ടമുള്ള രീതിയിൽ പ്രസിദ്ധീകരിക്കാം. ക്ലോസ്ഡ് സോഴ്സ് ആയി പോലും. അതിനാൽ നാട്ടുഭാഷയിൽ പറഞ്ഞാൽ "ഓപ്പൺ സോഴ്സ് ലൈസൻസിൽ, തന്ത ഓപ്പൺ സോഴ്സ് ജാതി ആയത് കൊണ്ട്, മക്കൾ അങ്ങനെ ആയിക്കോളണമെന്നില്ല. അവയ്ക്ക് ഏത് ജാതി വേണമെങ്കിലും സ്വീകരിക്കാം."

ഇനി സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ. സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറിൽ നിന്നും വിപുലീകരിച്ചെടുക്കുന്ന എല്ലാ സോഫ്റ്റ്‌വെയറുകളും, അതേ ലൈസൻസിൽ തന്നെ ആയിരിക്കണം. ഒരു സോഫ്റ്റ്‌വെയർ GPLലാണെങ്കിൽ, അതിന്റെ സന്തതിപരമ്പര മുഴുവൻ GPLൽ തന്നെ ആയിരിക്കണം.

ശ്രീ. റിച്ചാർഡ് സ്റ്റാൾമാന്റെ അഭിപ്രായത്തിൽ, ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്‌വെയർ സ്വാതന്ത്ര്യം എന്ന ആശയത്തെ അത്ര കണ്ട് പിന്താങ്ങുന്നില്ല. ഗ്നു ചിന്താഗതി തന്നെ ഇപ്രകാരമാണ്. ഞാൻ എങ്ങനെ നിങ്ങളുടെ സ്വാതന്ത്ര്യത്തെ വിലകൽപിച്ചുവോ അപ്രകാരം നിങ്ങൾ മറ്റുള്ള വരുടേയും സ്വാതന്ത്ര്യത്തെ വിലകൽപിക്കുക.

അപ്പോൾ, ഓപ്പൺ സോഴ്സ് ആയി എന്നതു കൊണ്ട് ഒരു സോഫ്റ്റ്‌വെയർ സ്വതന്ത്രം ആയി എന്നർത്ഥമില്ല. എന്നാൽ ഒരു സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ എന്തൊക്കെയായാലും ഓപ്പൺ സോഴ്സ് ആയിരിക്കും.