ಮುಕ್ತ ತಂತ್ರಾಂಶದ ಬಹು ಮುಖ್ಯ ಅಂಶವೆಂದರೆ, ಅದರ ಬೆಳವಣಿಗೆಯಲ್ಲಿ ಭಾಗಿಯಾಗುವ ಸಮೂಹದ ವ್ಯಾಪಕತೆ. ಭೂಗೋಳದ ಯಾವುದೇ ಭಾಗದಿಂದ ಸ್ವಯಿಚ್ಛೆ ಮಾತ್ರದಿಂದಲೇ ಅಂತರ್ಜಾಲದ ಮೂಲಕ ಸೇರಿಕೊಂಡಿರುವ ಈ ಸಮೂಹ ನಿಜವಾಗಿಯೂ, ಗುಣಮಟ್ಟದ ತಂತ್ರಾಂಶವೊಂದನ್ನು ಅಭಿವೃದ್ಧಿ ಪಡಿಸಲು ಸಾಧ್ಯವೇ ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರವಾಗಿ ಲಿನಕ್ಸ್ ಇದೆ.
ದೇಗುಲವೊಂದನ್ನು ಕಟ್ಟುವ ಶಿಸ್ತಿನಲ್ಲಿ ದೊಡ್ಡ ತಂತ್ರಾಂಶಗಳನ್ನು ತಯಾರು ಮಾಡಬೇಕೆಂಬ ಅಭಿಪ್ರಾಯ ನನ್ನದಾಗಿತ್ತು. ಪ್ರತಿಯೊಂದಕ್ಕೂ ಒಬ್ಬೊಬ್ಬ ನುರಿತ ತಂತ್ರಜ್ಞ, ಬೇರೆಯವರೊಂದಿಗೆ ಸಂಪರ್ಕವಿಲ್ಲದೆ, ಕಣ್ಣಿಗೆ ಕಟ್ಟಿದ ಕುದುರೆಯಂತೆ ಗುರಿಯೆಡಗಿನ ಪಯಣ, ಎಲ್ಲಾ ಅಂಶಗಳೂ ಪೂರ್ಣಗೊಂಡ ಮೇಲಷ್ಟೇ ಬೀಟಾ ವರ್ಶನ್ ಬಿಡುಗಡೆ. ಇವೆಲ್ಲಾ ಇದ್ದರಷ್ಟೇ ಒಂದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನಂತಹ ತಂತ್ರಾಂಶ ಅಭಿವೃದ್ದಿ ಪಡಿಸಲು ಸಾಧ್ಯ ಎಂದು ನಾನು ನಂಬಿದ್ದೆ. ಇದು ಬದಲಾದದ್ದು ೧೯೯೩ರಲ್ಲಿ ಲಿನಕ್ಸ್ ನನ್ನ ಗಮನಕ್ಕೆ ಬಂದಾಗ.
ಲಿನಸ್ ಟೋರ್ವಾಲ್ಡ್ಸ್ ಬೇಗ ಬೇಗ ಹೊಸ ವರ್ಷನ್ ಬಿಡುಗಡೆ, ಸಾಧ್ಯವಿರುವಷ್ಟು ಕೆಲಸವನ್ನೂ ಬೇರೆಯವರೊಂದಿಗೂ ಹಂಚಿಕೊಳ್ಳುವುದು. ಎಲ್ಲ ವಿಷಯಗಳಲ್ಲೂ ಮುಕ್ತ ಸಂವಹನ, ಇವು ದೇಗುಲ ಕಟ್ಟುವ, ನಡೆಸುವ ಶಿಸ್ತಿಗಿಂತಲೂ, ನೆರೆಯುವ ಸಂತೆಯಲ್ಲಿ ತನ್ನಂತಾನೇ ಒಡಮೂಡುವ ಶಿಸ್ತನ್ನು ಅನುಸರಿಸುತ್ತವೆ. ಸಂತೆಯಲ್ಲಿ ನೆರೆಯುವ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಅವರದೇ ಕಾರಣಗಳಿರುತ್ತವೆ, ಆದರೆ ಒಟ್ಟಾರೆಯಾಗಿ ಎಲ್ಲ ಉದ್ದೇಶವೂ ಸಾಧನೆಯಾಗುತ್ತದೆ.
ಇದನ್ನು ಲಿನಕ್ಸ್ ಬೆಳವಣಿಗೆಯ ಮಾದರಿಯಲ್ಲಿ ಕಾಣಬಹುದು. ಯಾರಾದರೂ ಸರಿ, ಲಿನಕ್ಸ್ ನ ಬೆಳವಣಿಗೆಗೆ ತಮ್ಮ ಕಾಣಿಕೆ ಸಲ್ಲಿಸಬಹುದು, ಅವೆಲ್ಲವನ್ನೂ ಸೋಸಿ, ಬಲಿಷ್ಠ ಮತು ತಾಳಿಕೆಯ ತಂತ್ರಾಂಶವನ್ನು ನೀಡುವ ಜವಾಬುದಾರಿ ನಿರ್ವಹಣೆಯ ಹೊಣೆ ಹೊತ್ತ ನಾಯಕರದಾಗಿರುತ್ತದೆ. ವಸ್ತುಶಃ ಇಂತಹುದೊಂದು ಮಾದರಿ ಹರಿದು ಹಂಚಿ ಹೋಗದೆ, ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯ ನಿರ್ವಹಿಸಬಹುದೇ ಎನ್ನುವ ಅನುಮಾನ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಮೂಡುತ್ತದೆ. ಆದರೆ ಸೂಕ್ಷ್ಮವಾಗಿ ಗಮನಿಸಿದಾಗ ಈ ಮಾದರಿ, ದೇಗುಲದ ಶಿಸ್ತಿನ ಮಾದರಿಗಿಂತ ಎಷ್ಟೋ ಪಟ್ಟು ವೇಗದಲ್ಲಿ ತಂತ್ರಾಂಶ ಅಭಿವೃದ್ಧಿಗೆ ಸಾಧನವಾಗಿದೆ ಎಂದು ತಿಳಿದು ಬರುತ್ತದೆ.
ನಾನು ಈ ಮಾದರಿಯನ್ನು ಅರ್ಥ ಮಾಡಿಕೊಳ್ಳಲು ಶುರುವಾಗುವ ಹೊತ್ತಿಗೆ ೧೯೯೬ ಕಾಲಿಟ್ಟಿತ್ತು. ನನ್ನದೇ ಆದ fetchmail ಎನ್ನುವ ತಂತ್ರಾಂಶದಲ್ಲಿ ನಾನಿದ್ದನ್ನು ಅಳವಡಿಸಿಕೊಂಡು ನೋಡಲು ನಿರ್ಧರಿಸಿದೆ. ಅದರಲ್ಲಿ ನಾನು ಕಲಿತ ಪಾಠಗಳ ಸಾರಾಂಶವಿದು.
೧. ಯಾವುದೇ ಉತ್ತಮ ತಂತ್ರಾಂಶಕ್ಕೆ ತಳಹದಿಯಾಗಿ ತಂತ್ರಾಂಶ ತಂತ್ರಜ್ಞನ ವೈಯುಕ್ತಿಕ ಕಾರಣಗಳಿರುತ್ತವೆ.
೨. ಉತ್ತಮ ಪ್ರೋಗ್ರಾಮರುಗಳಿಗೆ (ಕಾರ್ಯಲಿಪಿಕಾರರಿಗೆ) ಯಾವ ಪ್ರೋಗ್ರಾಮ್ (ಕಾರ್ಯಲಿಪಿ) ಬರೆಯಬೇಕೆಂದು ಗೊತ್ತಿರುತ್ತದೆ. ಆದರೆ ಅತ್ಯುತ್ತಮವಾದವರಿಗೆ ಯಾವುದನ್ನು ಮರುಬಳಕೆ ಮಾಡಬೇಕೆಂದು ತಿಳಿದಿರುತ್ತದೆ.
೩. ಯಾವುದನ್ನಾದರೂ ಕಸದ ಬುಟ್ಟಿಗೆ ಹಾಕಬೇಕೆಂದು ನಿಮಗನ್ನಿಸಿದರೆ, ಹೇಗಾದರೂ ಅದನ್ನು ಕಸದ ಬುಟ್ಟಿಗೆ ಹಾಕಿಯೇ ಹಾಕುತ್ತೀರಿ.
೪. ನಿಮ್ಮ ಮನೋಭಾವ ಸರಿಯಿದ್ದರೆ, ನಿಮಗೆ ಸರಿಯಾದ ಆಸಕ್ತಿಯಿರುವ ಸಮಸ್ಯೆಗಳೇ ನಿಮ್ಮ ಮುಂದಿರುತ್ತವೆ. (ಅಥವಾ ನಿಮ್ಮ ಮನೋಭಾವಕ್ಕೆ ತಕ್ಕಂತಹ ಸಮಸ್ಯೆಗಳಿಗೇ ನೀವು ಆದ್ಯತೆ ನೀಡುತ್ತೀರಿ.)
೫. ಪ್ರೋಗ್ರಾಮ್ ಒಂದರಲ್ಲಿ ನಿಮ್ಮ ಆಸಕ್ತಿ ಇಳಿಯಿತೆಂದರೆ, ಅದನ್ನು ನಿಮ್ಮಷ್ಟೇ ಕಾರ್ಯತತ್ಪರ ಉತ್ತರಾಧಿಕಾರಿಗೆ ವಹಿಸಿಕೊಡುವುದು ನಿಮ್ಮ ಕರ್ತವ್ಯ.
೬. ನಿಮ್ಮ ತಂತ್ರಾಂಶದ ಬಳಕೆದಾರರನ್ನು ನಿಮ್ಮ ಜೊತೆಗಾರ ತಂತ್ರಾಂಶ ತಙ್ಞರಂತೆ ನೋಡಿಕೊಂಡರೆ, ನಿಮ್ಮ ತಂತ್ರಾಂಶದ ಕೊರೆಗಳನ್ನು ಅಳೆಯುವ ಮತ್ತು ಅವನ್ನು ಮುಚ್ಚುವ ಅತ್ಯಂತ ಶೀಘ್ರ ವಿಧಾನ ನಿಮ್ಮದಾಗುತ್ತದೆ.
೭. ನಿಮ್ಮ ತಂತ್ರಾಂಶವನ್ನು ಶೀಘ್ರವಾಗಿ ಬಿಡುಗಡೆ ಮಾಡುತ್ತಿರಬೇಕು, ಮತ್ತು ಆದಷ್ಟು ಹೆಚ್ಚು ಬಾರಿ ಬಿಡುಗಡೆ ಮಾಡಬೇಕು. ಜೊತೆಗೆ ನಿಮ್ಮ ತಂತ್ರಾಂಶ ಬಳಕೆದಾರರ ಅಭಿಪ್ರಾಯಗಳನ್ನು ಗಮನಿಸುತ್ತಿರಬೇಕು.
೮. ನಿಮ್ಮ ತಂತ್ರಾಂಶದ ಬೀಟಾ ಅವೃತ್ತಿಯ ಸಾಕಷ್ಟು ಬಳಕೆದಾರರಿದ್ದು, ನಿಮ್ಮೊಂದಿಗೆ ಸಾಕಷ್ಟು ಮಂದಿ ತಂತ್ರಾಂಶ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಪಾಲುದಾರರಾಗಿದ್ದರೆ, ಸಮಸ್ಯೆಗಳನ್ನು ಬೇಗ ಗುರುತಿಸಬಹುದು, ಮತ್ತು ಅದರ ನಿವಾರಣೋಪಾಯವನ್ನು ಯಾರಾದರೊಬ್ಬರು ಶೀಘ್ರವಾಗಿಯೇ ಸೂಚಿಸುತ್ತಾರೆ. (ಇದರ ಇನ್ನೊಂದು ರೂಪ ಸಾಕಷ್ಟು ಸಂಖ್ಯೆಯ ಬಳಕೆದಾರರಿದ್ದರೆ, ಎಲ್ಲಾ ಕೊರೆಗಳೂ ಬೇಗ ಮುಚ್ಚುತ್ತವೆ. ಇದನ್ನು ನಾನು ಲಿನಸ್ ನಿಯಮ ಎನ್ನುತ್ತೇನೆ.)
೯. ಉತ್ತಮ ಡಾಟಾ-ಸ್ಟ್ರಕ್ಚರ್ ಮತ್ತು ಸುಮಾರಾದ ಕೋಡ್, ಉತ್ತಮ ಕೋಡ್ ಮತ್ತು ಸುಮಾರಾದ ಡಾಟಾ ಸ್ಟ್ರಕ್ಚರ್ ಗಿಂತಲೂ ಮೇಲು.
೧೦. ನಿಮ್ಮ ಬೀಟಾ ಬಳಕೆದಾರರು ಮತ್ತು ಪರೀಕ್ಷಕರನ್ನು ನೀವು ನಿಮ್ಮ ಅತಿ ಮುಖ್ಯ ಆಸ್ತಿಯೆಂದು ಪರಿಗಣಿಸಿದರೆ, ಅವರು ನಿಮ್ಮ ಅತಿ ಮುಖ್ಯ ಆಸ್ತಿಯೇ ಆಗುತ್ತಾರೆ.
೧೧. ನಿಮಗೇ ಹೊಳೆಯುವ ಅತ್ಯುತ್ತಮ ಐಡಿಯಾವನ್ನು ಬಿಟ್ಟರೆ, ಮುಂದಿನ ಅತ್ಯುತ್ತಮ ಐಡಿಯಾ ನಿಮ್ಮ ಬಳಕೆದಾರರದ್ದಾಗಿರುತ್ತದೆ. ಕೆಲವೊಮ್ಮೆ ಅವರ ಐಡಿಯಾ ನಿಮ್ಮದಕ್ಕಿಂತ ಉತ್ತಮವಾಗಿರಲೂ ಸಾಕು.
೧೨. ಕೆಲವೊಮ್ಮೆ, ನೀವು ಸಮಸ್ಯೆಯನ್ನು ಅರ್ಥೈಸಿಕೊಂಡಿರುವುದು ತಪ್ಪು ಎಂದು ತಿಳಿದುಬಂದಾಗ ಅತ್ಯಂತ ಸೂಕ್ತ ಪರಿಹಾರಗಳು ಕಾಣುತ್ತವೆ.
೧೩. (ವಿನ್ಯಾಸದಲ್ಲಿ) ಪರಿಪೂರ್ಣತೆ ಸಾಧಿಸುವುದೆಂದರೆ ಹೊಸತೇನನ್ನೂ ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗದೇ ಇರುವುದಲ್ಲ. ಬದಲಾಗಿ ಬೇರೇನನ್ನೂ ಪಡೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲದಂತಾಗುವುದು.
೧೪. ಯಾವುದೇ ಪರಿಕರಗಳು, ನಿಶ್ಚಯಿಸಿದಂತೆ ಸಹಕಾರಿಗಳಾಗಬಹುದು. ಆದರೆ ಅತ್ಯುತ್ತಮ ಪರಿಕರವೆಂದರೆ, ನಾವು ಎಣಿಸಿಲ್ಲದ್ದಿದ್ದರೂ ಸಹಕಾರಿಯಾಗಿ ನಿಲ್ಲುವಂತಹುದು.
೧೫. ಗೇಟ್ ವೇ ಗೆ ಸಂಬಂಧಿಸಿದ ಕಾರ್ಯಲಿಪಿ ಬರೆಯಬೇಕಾದರೆ, ಯಾವುದೇ ಕಾರಣಕ್ಕೂ ಏನನ್ನೂ ವ್ಯತಿರಿಕ್ತಗೊಳಿಸಿದಿರಿ. ಮತ್ತು ಸಾಧ್ಯವಾದಷ್ಟೂ ಮಾಹಿತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ.
೧೬. ಟ್ಯೂರಿಂಗ್ ಕ್ಷಮತೆಯ ಕಾರ್ಯಲಿಪಿ ಭಾಷೆಯನ್ನು ನೀವು ಬಳಸಲಾಗದಿದ್ದಲ್ಲಿ, ಸಾಕಷ್ಟು ಸರಳ, ಅರ್ಥವಾಗಬಲ್ಲ ಭಾಷೆಯನ್ನು ಬಳಸಿ (ಸಿಂಟಾಕ್ಟಿಕ್ ಶುಗರ್).
೧೭. ರಕ್ಷಣಾವ್ಯವಸ್ಥೆಯೊಂದು ತನ್ನ ರಹಸ್ಯದಷ್ಟಷ್ಟೇ ಭದ್ರವಾಗಿರುತ್ತದೆ. ನಿಜವಲ್ಲದ ರಹಸ್ಯಗಳ ಬಗ್ಗೆ ಎಚ್ಚರವಿರಲಿ.
೧೮. ಒಂದು ಆಸಕ್ತಿಕರ ಸಮಸ್ಯೆಯನ್ನು ಬಿಡಿಸಬೇಕೆಂದರೆ ನಿಮಗೆ ಆಸಕ್ತಿಯಿರುವ ಸಮಸ್ಯೆಯನ್ನು ಹುಡುಕಿಕೊಳ್ಳಿ.
೧೯. ತಂತ್ರಾಂಶ ಅಭಿವೃದ್ಧಿಯ ಕೊ-ಆರ್ಡಿನೇಟರ್, ಸರಿಯಾದ ರೀತಿಯಲ್ಲಿ ಇಂಟರ್ನೆಟ್ ಮುಖಾಂತರ ತಂಡವನ್ನು ಮುನ್ನಡೆಸಬಲ್ಲವನಾದರೆ, ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ತಲೆಗಳು ಉತ್ತಮ ಕೆಲಸ ಮಾಡಬಲ್ಲುದು.
ಮೇಲಿನ ಹತ್ತೊಂಬತ್ತು ಪಾಠಗಳು ಮುಕ್ತ ತಂತ್ರಾಂಶದ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಅಳವಡಿಕೆಯಾದರೆ ಅವು ಮುಕ್ತ ತಂತ್ರಾಂಶದ ಯಶಸ್ಸಿಗೆ ಕಾರಣೀಭೂತವಾಗುತ್ತವೆ.
ಹಾಗೆಯೇ ಸಾಮಾನ್ಯ ಬಳಕೆದಾರರ ದೃಷ್ಟಿಯಿಂದ ನೋಡುವುದಾದರೂ, ಈ ತಂತ್ರಾಂಶಗಳ ಅಭಿವೃದ್ಧಿಯ ಪಥ ಬೇರೆಯೇ ಇರುವುದರಿಂದ, ಈ ಬಳಕೆದಾರರೂ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದಾದ ಅಂಶವಿರುತ್ತದೆ. ಇದು ತಂತ್ರಾಂಶ, ಸರ್ವರ ಬಳಕೆಗೂ ಸೂಕ್ತವಾಗುವಂತೆ, ತಾಳಿಕೆಯಿರುವಂತೆ ಮತ್ತು ಉತ್ತಮ ಗುಣಮಟ್ಟದಲ್ಲಿರುವಂತೆ ಮಾಡಲು ಸಹಕರಿಸುತ್ತವೆ. ಇದನ್ನು ನೆಟ್ಸ್ಕೇಪ್ ಬ್ರೌಸರ್ ತಂತ್ರಾಂಶದ ಉದಾಹರಣೆಯಲ್ಲಿ ನೋಡಬಹುದು.
ನೆಟ್ ಸ್ಕೇಪ್ ನ ಸ್ಥಾಪಕರು, ಇ.ಎಸ್.ಆರ್ ಅವರ ಈ ಕೃತಿಯನ್ನೋದಿ, ನೆಟ್ ಸ್ಕೇಪ್ ತಂತ್ರಾಂಶವನ್ನು ಮುಕ್ತವನಾಗಿಸಿದರು. ಆ ಹೊತ್ತಿಗೆ, ಕಾನೂನು ಸಮರ ಮತ್ತು ತಂತ್ರಜ್ಞಾನಗಳ ಇತಿಮಿತಿಯಿಂದ ಸೊರಗುತ್ತಿದ್ದ, ನೆಟ್ ಸ್ಕೇಪ್ ಮುಕ್ತವಾಗಿದ್ದುದರ ಪರಿಣಾಮವಾಗಿ ಹೊಸ ಹುಟ್ಟು ಪಡೆದುಕೊಂಡು, ಮೊಜಿಲ್ಲಾ ಫೈರ್ ಫಾಕ್ಸ್ ಆಗಿ ನಿಮ್ಮ ಮುಂದಿದೆ. ಪ್ರಪಂಚದ ಅಚ್ಚುಮೆಚ್ಚಿನ ಬ್ರೌಸರ್ ಆಗಿದೆ.
ಲೇಖಕ: ಮೊದ್ಮಣಿ ಮಂಜುನಾಥ್
ಮೈಸೂರಿನವನು. ಓದಿದ್ದು ಇಂಡಸ್ಟ್ರಿಯಲ್ ಮತ್ತು ಪ್ರೊಡಕ್ಷನ್ ಇಂಜಿನಿಯರಿಂಗ್, ಚಾಟ್ ಮಾಡುವ ಕುತೂಹಲದಿಂದ ಕಲಿತ ಕಂಪ್ಯೂಟರ್ ಈಗ ಬೆಂಗಳೂರಲ್ಲಿ ಅನ್ನ ಕೊಡುತ್ತಿದೆ. ಆಗಾಗ ಕವನ, ಬರಹ ಗೀಚುತ್ತೇನೆ. ಹಾಗಂತ ಕವಿಯಲ್ಲ. ಮನಸ್ಸಿಗೆ ತೋಚಿದ್ದೆಲ್ಲಾ ಮಾಡುತ್ತಿರುತ್ತೇನೆ. ಅವೆಲ್ಲಾ ಹವ್ಯಾಸಗಳಲ್ಲ. ಕನ್ನಡವೆಂದರೆ ಪ್ರೀತಿ. ಕನ್ನಡ ಉಳಿಯಲು ಕಂಪ್ಯೂಟರಿನಲ್ಲಿ, ಇಂಗ್ಲಿಷಿನಲ್ಲಿ ಮಾಡುವ ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನೂ, ಸರ್ಕಾರದ ವಿವಿಧ ಯೋಜನೆಗಳ ಮಾಹಿತಿ ನಿರ್ವಹಣೆಯೂ ಸೇರಿದಂತೆ, ಕನ್ನಡದಲ್ಲಿ ಮಾಡುವಂತಾಗಬೇಕೆಂಬ ನಂಬಿಕೆ ನನ್ನದು.

