ਖੋਜਕਰਤਾਵਾਂ ਨੂੰ ਸਾਫਟਵੇਅਰ ਦੀ ਘਾਟ ਬਾਰੇ ਸ਼ਾਇਦ ਹੀ ਕਦੇ ਸ਼ਿਕਾਇਤ ਹੁੰਦੀ ਹੈ। ਜੇਕਰ ਕੁਝ ਹੈ, ਤਾਂ ਉਹ ਇਸ ਦੇ ਉਲਟ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹਨ: ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਾਂ (shell scripts) ਅਤੇ ਉਮੀਦ ਦੇ ਆਧਾਰ 'ਤੇ ਜੋੜੇ ਗਏ ਬਹੁਤ ਸਾਰੇ ਅਸੰਗਠਿਤ ਸਾਧਨ। OpenScience ਨਾਮ ਦਾ ਇੱਕ ਨਵਾਂ ਓਪਨ-ਸੋਰਸ ਪ੍ਰੋਜੈਕਟ ਉਸ ਟੁਕੜਿਆਂ ਵਾਲੇ ਪ੍ਰਬੰਧ ਨੂੰ ਇੱਕ ਸਿੰਗਲ AI ਵਰਕਬੈਂਚ ਨਾਲ ਬਦਲਣਾ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਖਾਸ ਤੌਰ 'ਤੇ ਵਿਗਿਆਨਕ ਖੋਜ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। TypeScript ਵਿੱਚ ਬਣਾਇਆ ਗਿਆ ਇਹ ਪ੍ਰੋਜੈਕਟ GitHub 'ਤੇ ਪਹਿਲਾਂ ਹੀ 2,167 ਤੋਂ ਵੱਧ ਸਟਾਰ ਇਕੱਠੇ ਕਰ ਚੁੱਕਾ ਹੈ, ਅਤੇ ਇਸਦੀ ਉਮੀਦ ਲੈਬਾਂ ਨੂੰ ਇੱਕ ਸਾਂਝਾ ਵਾਤਾਵਰਣ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੈ ਜਿੱਥੇ ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਵਰਕਫਲੋ (workflows) ਨੂੰ ਆਟੋਮੇਟ ਕਰਨ, ਪ੍ਰਯੋਗਿਕ ਡਾਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਸਹਿਯੋਗੀਆਂ ਨੂੰ ਇੱਕਸਾਰ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ। ਇਸਦਾ ਇਰਾਦਾ ਸਪੱਸ਼ਟ ਹੈ। ਪਰ ਕੀ ਇਹ ਓਪਨ-ਸੋਰਸ ਰੱਖ-ਰਖਾਅ ਅਤੇ ਸਥਾਪਿਤ ਮੁਕਾਬਲੇ ਦੀਆਂ ਹਕੀਕਤਾਂ ਵਿੱਚ ਬਚ ਸਕੇਗਾ, ਇਹ ਇੱਕ ਹੋਰ ਸਵਾਲ ਹੈ।
ਖੋਜ ਲਈ ਆਪਣੇ ਵੱਖਰੇ ਵਰਕਬੈਂਚ ਦੀ ਲੋੜ ਕਿਉਂ ਹੈ
ਵਿਗਿਆਨਕ ਤਰੱਕੀ ਦੁਬਾਰਾ ਪੈਦਾ ਕਰਨ ਯੋਗਤਾ (reproducibility) 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਜੇਕਰ ਕੋਈ ਦੂਜੀ ਟੀਮ ਉਹੀ ਵਿਸ਼ਲੇਸ਼ਣ ਨਹੀਂ ਕਰ ਸਕਦੀ ਅਤੇ ਉਹੀ ਸਿੱਟੇ 'ਤੇ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦੀ, ਤਾਂ ਕਿਸੇ ਨਤੀਜੇ ਦਾ ਕੋਈ ਮਤਲਬ ਨਹੀਂ ਰਹਿ ਜਾਂਦਾ। ਫਿਰ ਵੀ, ਆਧੁਨਿਕ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਪਾਈਪਲਾਈਨਾਂ (pipelines) ਬਹੁਤ ਹੀ ਅਸੰਗਠਿਤ ਹੁੰਦੀਆਂ ਹਨ। ਪ੍ਰੀਪ੍ਰੋਸੈਸਿੰਗ ਕਦਮ ਖਿੰਡੇ ਹੋਏ Jupyter ਸੈੱਲਾਂ ਦੇ ਅੰਦਰ ਲੁਕੇ ਹੁੰਦੇ ਹਨ। ਹਾਈਪਰਪੈਰਾਮੀਟਰ (Hyperparameters) ਅਣਡਾਕੂਮੈਂਟ ਕੀਤੇ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਹਾਰਡ-ਕੋਡ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਡੇਟਾਸੈਟਾਂ ਨੂੰ ਸਾਂਝੇ ਡਰਾਈਵਾਂ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਨਵਾਂ ਨਾਮ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਗੁਆ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਕੋਈ ਗ੍ਰੈਜੂਏਟ ਵਿਦਿਆਰਥੀ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਸਦਾ ਵਰਕਫਲੋ ਅਕਸਰ ਉਸਦੇ ਨਾਲ ਹੀ ਚਲਾ ਜਾਂਦਾ ਹੈ।
OpenScience ਇਸ ਹਫੜਾ-ਦਫੜੀ 'ਤੇ ਸਿੱਧਾ ਹਮਲਾ ਕਰਨ ਦਾ ਉਦੇਸ਼ ਰੱਖਦਾ ਹੈ। ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਇੱਕ ਢਿੱਲੇ ਸੰਗ੍ਰਹਿ ਦੀ ਬਜਾਏ ਇੱਕ ਇਕਜੁੱਟ ਪਲੇਟਫਾਰਮ ਪੇਸ਼ ਕਰਕੇ, ਇਹ ਪ੍ਰਯੋਗਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ, ਟ੍ਰੈਕ ਕਰਨ ਅਤੇ ਸਾਂਝਾ ਕਰਨ ਦੇ ਤਰੀਕੇ ਵਿੱਚ ਇਕਸਾਰਤਾ ਲਿਆਉਣ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ। ਸਹਿਯੋਗ ਇਸਦਾ ਮੁੱਖ ਹਿੱਸਾ ਹੈ। ਕੋਡ ਨੂੰ ਵਾਰ-ਵਾਰ ਈਮੇਲ ਕਰਨ ਜਾਂ ਵਰਜ਼ਨ ਕੰਟਰੋਲ (version control) ਨਾਲ ਲੜਨ ਦੀ ਬਜਾਏ, ਖੋਜਕਰਤਾ ਇੱਕ ਸਾਂਝੇ ਵਾਤਾਵਰਣ ਦੇ ਅੰਦਰ ਕੰਮ ਕਰਨਗੇ ਜੋ ਇਹ ਰਿਕਾਰਡ ਕਰੇਗਾ ਕਿ ਕਿਸਨੇ, ਕੀ ਅਤੇ ਕਦੋਂ ਬਦਲਿਆ। ਉਹਨਾਂ ਖੇਤਰਾਂ ਲਈ ਜਿੱਥੇ ਇੱਕ ਸਿੰਗਲ ਪ੍ਰਯੋਗ ਵਿੱਚ ਹਫ਼ਤਿਆਂ ਦੀ ਕੰਪਿਊਟੇਸ਼ਨ ਲੱਗ ਸਕਦੀ ਹੈ, ਉਸ ਤਰ੍ਹਾਂ ਦੀ ਪਾਰਦਰਸ਼ਤਾ ਕੋਈ ਐਸ਼ੋ-ਆਰਾਮ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਲੋੜ ਹੈ।
ਵਿਗਿਆਨਕ ਕੋਡ ਲਈ TypeScript 'ਤੇ ਦਾਅ
ਇਸ ਨੂੰ TypeScript ਵਿੱਚ ਬਣਾਉਣ ਦਾ ਫੈਸਲਾ ਅਚਾਨਕ ਹੈ। ਮਸ਼ੀਨ ਲਰਨਿੰਗ Python 'ਤੇ ਚਲਦੀ ਹੈ। ਬੱਸ। TensorFlow, PyTorch, ਅਤੇ ਬਹੁਤ ਸਾਰਾ ਖੋਜ ਕੋਡ ਇਸ ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ ਹੈ। ਵਿਗਿਆਨਕ ਆਮ ਤੌਰ 'ਤੇ Python ਜਾਂ R ਵਿੱਚ ਸਕ੍ਰਿਪਟ ਲਿਖਦੇ ਹਨ, ਅਤੇ ਬਹੁਤ ਸਾਰੇ ਸਿਰਫ ਵੈੱਬ ਵਿਜ਼ੂਅਲਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਹੀ JavaScript ਜਾਣਦੇ ਹਨ। ਤਾਂ ਫਿਰ TypeScript ਕਿਉਂ?
ਡਿਵੈਲਪਮੈਂਟ ਟੀਮ ਦਾ ਤਰਕ ਹੈ ਕਿ ਸਟੈਟਿਕ ਟਾਈਪਿੰਗ (static typing) ਕੋਡ ਨੂੰ ਸੰਗਠਿਤ ਅਤੇ ਭਰੋਸੇਮੰਦ ਰੱਖਦੀ ਹੈ। ਵਿਗਿਆਨਕ ਕੰਮ ਵਿੱਚ, ਇੱਕ ਸਿੰਗਲ ਚੁੱਪਚਾਪ ਹੋਣ ਵਾਲੀ ਟਾਈਪ ਗਲਤੀ ਮਹੀਨਿਆਂ ਦੇ ਲੈਬ ਕੰਮ ਨੂੰ ਬੇਕਾਰ ਕਰ ਸਕਦੀ ਹੈ। TypeScript ਗਲਤੀਆਂ ਨੂੰ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਚੱਲ ਰਹੇ ਟ੍ਰੇਨਿੰਗ ਜੌਬ ਦੇ ਅੰਦਰ ਫਟਣ ਦੇਣ ਦੀ ਬਜਾਏ, ਕੰਪਾਈਲ ਟਾਈਮ (compile time) 'ਤੇ ਹੀ ਫੜ ਲੈਂਦਾ ਹੈ। ਇੱਕ ਅਜਿਹੇ ਪਲੇਟਫਾਰਮ ਲਈ ਜੋ ਦੁਬਾਰਾ ਪੈਦਾ ਕਰਨ ਯੋਗਤਾ ਦੀ ਗਾਰੰਟੀ ਦੇਣਾ ਚਾਹੁੰਦਾ ਹੈ, ਉਹ ਸਖ਼ਤੀ ਆਕਰਸ਼ਕ ਹੈ।
ਇੱਥੇ ਅਸਲ ਸਮਝੌਤੇ (trade-offs) ਵੀ ਹਨ। TypeScript ਉਹਨਾਂ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਆਕਰਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਪੇਸ਼ੇਵਰ ਟੂਲਿੰਗ ਨੂੰ ਮਹੱਤਵ ਦਿੰਦੇ ਹਨ, ਪਰ ਇਹ ਉਹਨਾਂ ਖੋਜਕਰਤਾਵਾਂ ਨੂੰ ਦੂਰ ਕਰ ਸਕਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ OpenScience ਸੇਵਾ ਕਰਨ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ। ਇੱਕ ਜੀਵ ਵਿਗਿਆਨੀ ਜਿਸਨੇ ਸਰਵੇਖਣ ਡਾਟਾ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਲਈ ਬੁਨਿਆਦੀ JavaScript ਸਿੱਖੀ ਸੀ, ਉਸਨੂੰ ਹੁਣ ਇੰਟਰਫੇਸ (interfaces), ਜੈਨਰਿਕਸ (generics), ਅਤੇ ਇੱਕ ਬਿਲਡ ਪਾਈਪਲਾਈਨ (build pipeline) ਨਾਲ ਨਜਿੱਠਣਾ ਪਵੇਗਾ। ਸਿੱਖਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਾਫੀ ਔਖੀ ਹੈ। ਜੇਕਰ ਪਲੇਟਫਾਰਮ ਹਰ ਉਪਭੋਗਤਾ ਨੂੰ ਮਾਡਲ ਟ੍ਰੇਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰ ਬਣਨ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸਦੀ ਵਰਤੋਂ ਰੁਕ ਜਾਵੇਗੀ। ਦਾਅ ਇਹ ਹੈ ਕਿ ਸਥਿਰਤਾ ਵਿੱਚ ਲੰਬੇ ਸਮੇਂ ਦਾ ਫਾਇਦਾ ਸ਼ੁਰੂਆਤੀ ਮੁਸ਼ਕਲਾਂ ਨਾਲੋਂ ਵੱਧ ਹੋਵੇਗਾ।
OpenScience ਕੀ ਵਾਅਦਾ ਕਰਦਾ ਹੈ
ਇਹ ਪ੍ਰੋਜੈਕਟ ਦੋ ਅਜਿਹੇ ਕੰਮਾਂ ਨੂੰ ਸਰਲ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹੈ ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮਾਨਸਿਕ ਮਿਹਨਤ ਦੀ ਮੰਗ ਕਰਦੇ ਹਨ: ਮਾਡਲ ਟ੍ਰੇਨਿੰਗ ਅਤੇ ਪ੍ਰਯੋਗ ਟ੍ਰੈਕਿੰਗ। ਖੋਜਕਰਤਾਵਾਂ ਨੂੰ ਅੱਧੇ ਦਰਜਨ ਕਮਾਂਡ-ਲਾਈਨ ਯੂਟੀਲਿਟੀਜ਼ (command-line utilities) ਨੂੰ ਆਪਸ ਵਿੱਚ ਜੋੜਨ ਲਈ ਕਹਿਣ ਦੀ ਬਜਾਏ, OpenScience ਇੱਕ ਇਕਜੁੱਟ ਇੰਟਰਫੇਸ ਪੇਸ਼ ਕਰਨ ਦੀ ਯੋਜਨਾ ਬਣਾ ਰਿਹਾ ਹੈ। ਇਸਦਾ ਉਦੇਸ਼ ਖੇਤਰ ਦੇ ਵੱਡੇ ਖਿਡਾਰੀਆਂ, ਖਾਸ ਤੌਰ 'ਤੇ TensorFlow ਅਤੇ PyTorch ਨਾਲ ਜੁੜਨਾ ਵੀ ਹੈ, ਤਾਂ ਜੋ ਵਿਗਿਆਨਕਾਂ ਨੂੰ ਜਾਣੇ-ਪਛਾਣੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਛੱਡਣਾ ਨਾ ਪਵੇ।
AI ਖੁਦ ਕੁਝ ਮੁੱਖ ਕੰਮ ਕਰਨ ਲਈ ਹੈ। ਵਰਕਬੈਂਚ ਦਾ ਉਦੇਸ਼ ਵਾਰ-ਵਾਰ ਹੋਣ ਵਾਲੇ ਵਰਕਫਲੋ ਨੂੰ ਆਟੋਮੇਟ ਕਰਨਾ ਹੈ। ਆਟੋ-ਜਨਰੇਟਡ ਡਾਟਾ ਕਲੀਨਿੰਗ ਪਾਈਪਲਾਈਨਾਂ, ਪਿਛਲੇ ਰਨ ਦੇ ਅਧਾਰ 'ਤੇ ਹਾਈਪਰਪੈਰਾਮੀਟਰਾਂ ਲਈ ਸਮਾਰਟ ਸੁਝਾਅ, ਜਾਂ ਆਟੋਮੇਟਡ ਲੌਗਿੰਗ ਬਾਰੇ ਸੋਚੋ ਜੋ ਇਹ ਰਿਕਾਰਡ ਕਰਦਾ ਹੈ ਕਿ ਡੇਟਾਸੈਟ ਦੇ ਕਿਸ ਵਰਜ਼ਨ ਨੇ ਦਿੱਤਾ ਗਿਆ ਨਤੀਜਾ ਪੈਦਾ ਕੀਤਾ। ਜੇਕਰ ਇਹ ਵਿਜ਼ਨ ਸਾਕਾਰ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਖੋਜਕਰਤਾਵਾਂ ਨੂੰ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੀ ਬਜາຍੇ ਪਰਿਕਲਪਨਾਵਾਂ (hypotheses) 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨ ਲਈ ਸੁਤੰਤਰ ਕਰ ਸਕਦਾ ਹੈ।
ਇੰਟੈਗ੍ਰੇਸ਼ਨ ਬਲੋਟ ਦਾ ਖਤਰਾ
ਹਰ ਯੋਜਨਾਬੱਧ ਇੰਟੈਗ੍ਰੇਸ਼ਨ ਇੱਕ ਵਾਅਦਾ ਹੈ ਜਿਸ ਲਈ ਰੱਖ-ਰਖਾਅ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। TensorFlow ਅਤੇ PyTorch ਅਕਸਰ ਅੱਪਡੇਟ ਜਾਰੀ ਕਰਦੇ ਹਨ। ਇੱਕ ਮੁੱਖ ਡਿਪੈਂਡੈਂਸੀ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਬ੍ਰੇਕਿੰਗ ਚੇਂਜ (breaking change) OpenScience ਦੀਆਂ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰਾਂ (abstraction layers) ਵਿੱਚ ਪ੍ਰਭਾਵ ਪਾ ਸਕਦਾ ਹੈ ਅਤੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਪ੍ਰਯੋਗ ਕਰਨ ਦੀ ਬਜਾਏ ਰਹੱਸਮਈ ਸਟੈਕ ਟ੍ਰੇਸ (stack traces) ਦੇਖਣ ਲਈ ਛੱਡ ਸਕਦਾ ਹੈ। ਵਧੇਰੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਮਤਲਬ ਹੈ ਵਧੇਰੇ ਸੁਰੱਖਿਆ ਪੈਚ, ਵਧੇਰੇ ਵਰਜ਼ਨ ਟਕਰਾਅ, ਅਤੇ ਪਲੇਟਫਾਰਮ ਦੇ ਉਹਨਾਂ ਟੂਲਸ ਤੋਂ ਅਨੁਕੂਲਤਾ ਗੁਆਉਣ ਦੇ ਵਧੇਰੇ ਮੌਕੇ ਜਿਨ੍ਹਾਂ ਦੀ ਇਹ ਸੇਵਾ ਕਰਨ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ।
ਸੈੱਟਅੱਪ ਦੀ ਜਟਿਲਤਾ ਖੋਜ ਸਾਫਟਵੇਅਰ ਦੀ ਚੁੱਪਚਾਪ ਮਾਰਨ ਵਾਲੀ ਚੀਜ਼ ਹੈ। ਜੇਕਰ OpenScience ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ CUDA ਡਰਾਈਵਰਾਂ, ਖਾਸ Node.js ਵਰਜ਼ਨਾਂ ਅਤੇ ਟਕਰਾਅ ਵਾਲੇ Python ਵਾਤਾਵਰਣਾਂ ਨਾਲ ਜੂਝਣਾ ਪਵੇ, ਤਾਂ ਰੁਝੇਵੇਂ ਵਾਲੇ ਗ੍ਰੈਜੂਏਟ ਵਿਦਿਆਰਥੀ ਸਿੱਧੇ Google Colab ਟੈਬ ਖੋਲ੍ਹ ਲੈਣਗੇ ਜਿੱਥੇ ਰਨਟਾਈਮ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਕੌਂਫਿਗਰਡ ਹੁੰਦਾ ਹੈ। ਖੋਜ ਬਹੁਤ ਘੱਟ ਸਮੇਂ ਦੀਆਂ ਸੀਮਾਵਾਂ ਦੇ ਅੰਦਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਕੋਈ ਵੀ ਟੂਲਚੇਨ ਦੀ ਡੀਬੱਗਿੰਗ ਵਿੱਚ ਤਿੰਨ ਹਫ਼ਤੇ ਬਿਤਾ ਕੇ ਪ੍ਰਕਾਸ਼ਨ (publication) ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰਦਾ।
ਡਿਵੈਲਪਰ ਇਸ ਤਣਾਅ ਤੋਂ ਜਾਣੂ ਜਾਪਦੇ ਹਨ। ਉਹਨਾਂ ਦੀ ਚੁਣੌਤੀ ਇੰਨੀ ਸ਼ਕਤੀ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਹੈ ਕਿ ਇਹ ਉਪਯੋਗੀ ਹੋਵੇ, ਪਰ ਇੰਨੀ ਭਾਰੀ ਵੀ ਨਾ ਹੋਵੇ ਕਿ ਇਹ ਆਪਣੇ ਹੀ ਭਾਰ ਹੇਠਾਂ ਦਬ ਜਾਵੇ।
ਖੁੱਲ੍ਹੇ ਮਾਹੌਲ ਵਿੱਚ ਟਿਕਾਊਤਾ
ਓਪਨ-ਸੋਰਸ ਸਾਫਟਵੇਅਰ ਨੇ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਤੋਂ ਲੈ ਕੇ ਡੇਟਾ ਵਿਸ਼ਲੇਸ਼ਣ ਤੱਕ ਸਭ ਕੁਝ ਲੋਕਤੰਤਰੀ ਬਣਾ ਦਿੱਤਾ ਹੈ। ਕੋਈ ਵੀ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦਾ ਹੈ, ਸੁਧਾਰ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਵਰਤੋਂ ਲਈ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਫੋਰਕ (fork) ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਖੁੱਲ੍ਹਤਾ ਉਦੋਂ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ ਜਦੋਂ ਭੁਗਤਾਨ ਕੀਤੇ ਗਏ ਪੇਸ਼ੇਵਰਾਂ ਦਾ ਇੱਕ ਵੱਡਾ ਭਾਈਚਾਰਾ ਆਪਣੇ ਰੋਜ਼ਾਨਾ ਦੇ ਕੰਮਾਂ ਲਈ ਕੋਡਬੇਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
ਵਿਗਿਆਨਕ ਓਪਨ-ਸੋਰਸ ਸਾਧਨ ਇੱਕ ਵੱਖਰੀ ਅਸਲੀਅਤ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹਨ। ਉਹ 2,167 GitHub ਸਟਾਰਸ ਭਰੋਸੇਮੰਦ ਲੱਗਦੇ ਹਨ, ਪਰ ਸਟਾਰਸ ਰੱਖ-ਰਖਾਅ ਕਰਨ ਵਾਲਿਆਂ (maintainers) ਨੂੰ ਫੰਡ ਨਹੀਂ ਦਿੰਦੇ। ਗ੍ਰਾਂਟ ਚੱਕਰ ਖਤਮ ਹੋ ਜਾਂਦੇ ਹਨ। ਗ੍ਰੈਜੂਏਟ ਵਿਦਿਆਰਥੀ ਅੱਗੇ ਵਧ ਜਾਂਦੇ ਹਨ। ਲਗਾਤਾਰ ਸੰਸਥਾਗਤ ਸਮਰਥਨ ਜਾਂ ਇੱਕ ਸਮਰਪਿਤ ਕੋਰ ਟੀਮ ਤੋਂ ਬਿਨਾਂ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਸ਼ਾਨਦਾਰ ਪ੍ਰੋਜੈਕਟ ਵੀ ਸਥਿਰ ਹੋ ਕੇ ਰਹਿ ਜਾਂਦੇ ਹਨ। ਰਿਪੋਜ਼ਟਰੀ ਇੱਕ ਸਾਲ ਲਈ ਵਿਹਲੀ ਪਈ ਰਹਿੰਦੀ ਹੈ, ਡਿਪੈਂਡੈਂਸੀਆਂ ਖਰਾਬ ਹੋ ਜਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਸ਼ੁਰੂਆਤੀ ਅਪਣਾਉਣ ਵਾਲਿਆਂ ਕੋਲ ਅਜਿਹਾ ਅਨਾਥ ਕੋਡ ਰਹਿ ਜਾਂਦਾ ਹੈ ਜੋ ਆਧੁਨਿਕ ਹਾਰਡਵੇਅਰ 'ਤੇ ਹੋਰ ਨਹੀਂ ਚੱਲ ਸਕਦਾ। ਇੱਕ ਅਜਿਹੇ ਪਲੇਟਫਾਰਮ ਲਈ ਜੋ ਦੁਹਰਾਉਣਯੋਗ ਵਿਗਿਆਨ (reproducible science) ਦੀ ਮੇਜ਼ਬਾਨੀ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ, ਤਿਆਗ ਦਿੱਤਾ ਜਾਣਾ ਕਦੇ ਮੌਜੂਦ ਨਾ ਹੋਣ ਨਾਲੋਂ ਵੀ ਮਾੜਾ ਹੈ। ਜੇਕਰ OpenScience ਸਿਰਫ ਖ਼ਬਰਾਂ ਤੱਕ ਸੀਮਤ ਨਾ ਰਹਿ ਕੇ ਬਚਣਾ ਚਾਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਯੂਨੀਵਰਸਿਟੀਆਂ, ਲੈਬਾਂ, ਜਾਂ ਫੰਡਿੰਗ ਸੰਸਥਾਵਾਂ ਤੋਂ ਲੰਬੇ ਸਮੇਂ ਦੇ ਸਮਰਥਨ ਦੀ ਲੋੜ ਹੈ।
Jupyter, Colab, ਅਤੇ MATLAB ਨਾਲ ਮੁਕਾਬਲਾ
OpenScience ਇੱਕ ਭੀੜ-ਭੜੱਕੇ ਵਾਲੇ ਮਾਹੌਲ ਵਿੱਚ ਪ੍ਰਵੇਸ਼ ਕਰ ਰਿਹਾ ਹੈ। Jupyter Notebooks Python ਵਿੱਚ ਖੋਜਮੂਲਕ ਖੋਜ ਲਈ ਡਿਫੌਲਟ ਸਕ੍ਰੈਚਪੈਡ ਹਨ। Google Colab ਨੇ ਬ੍ਰਾਊਜ਼ਰ ਟੈਬ ਦੇ ਅੰਦਰ ਮੁਫਤ GPUs ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਕੇ ਹਾਰਡਵੇਅਰ ਦੀ ਰੁਕਾਵਟ ਨੂੰ ਖਤਮ ਕਰ ਦਿੱਤਾ ਹੈ। MATLAB ਅਜੇ ਵੀ ਉਹਨਾਂ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿਭਾਗਾਂ 'ਤੇ ਹਾਵੀ ਹੈ ਜੋ ਇਸਦੀ ਵਾਰੰਟੀ-ਅਧਾਰਤ ਟੂਲਬਾਕਸਾਂ ਅਤੇ ਦਹਾਕਿਆਂ ਦੇ ਸੰਸਥਾਗਤ ਗਿਆਨ ਨੂੰ ਮਹੱਤਵ ਦਿੰਦੇ ਹਨ।
ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇਨ੍ਹਾਂ ਸਥਾਪਿਤ ਸਾਧਨਾਂ ਤੋਂ ਦੂਰ ਲਿਜਾਣ ਲਈ, OpenScience ਨੂੰ ਕੁਝ ਅਜਿਹਾ ਪੇਸ਼ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਉਹ ਨਹੀਂ ਕਰਦੇ। ਸ਼ਾਇਦ ਉਹ ਸਾਂਝੇ ਨੋਟਬੁੱਕਾਂ ਦੀ ਲੇਟੈਂਸੀ (latency) ਤੋਂ ਬਿਨਾਂ ਅਸਲੀ ਮਲਟੀ-ਯੂਜ਼ਰ ਸਹਿਯੋਗ ਹੋਵੇ। ਸ਼ਾਇਦ ਇਹ ਇੱਕ ਅਜਿਹਾ ਸ਼ਾਸਨ ਢਾਂਚਾ (governance structure) ਹੋਵੇ ਜਿੱਥੇ ਸਿਰਫ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਰ ਹੀ ਨਹੀਂ, ਸਗੋਂ ਵਿਗਿਆਨੀ ਵੀ ਰੋਡਮੈਪ ਨੂੰ ਅਗਵਾਈ ਦੇਣ। ਜਾਂ ਸ਼ਾਇਦ ਇਹ ਪ੍ਰਯੋਗ ਵਰਜ਼ਨਿੰਗ ਦਾ ਉਹ ਪੱਧਰ ਹੋਵੇ ਜੋ ਦੁਹਰਾਉਣਯੋਗਤਾ ਨੂੰ ਇੱਕ ਸੋਚ ਤੋਂ ਬਾਅਦ ਦੀ ਚੀਜ਼ ਬਣਾਉਣ ਦੀ ਬਜਾਏ ਆਟੋਮੈਟਿਕ ਬਣਾ ਦੇਵੇ।
ਚਾਹੇ ਅੰਤਰ ਕੁਝ ਵੀ ਹੋਵੇ, ਸਾਧਨ ਦੀ ਪਹੁੰਚਯੋਗਤਾ ਬਣੀ ਰਹਿਣੀ ਚਾਹੀਦੀ ਹੈ। ਜੇਕਰ ਇਹ ਉੱਚ-ਪੱਧਰੀ ਲੋਕਲ ਵਰਕਸਟੇਸ਼ਨਾਂ ਦੀ ਮੰਗ ਕਰਦਾ ਹੈ ਜਾਂ ਇਹ ਮੰਨ ਲੈਂਦਾ ਹੈ ਕਿ ਹਰ ਉਪਭੋਗਤਾ ਡਿਵੈਲਪਮੈਂਟ ਸਰਵਰ ਚਲਾਉਣ ਵਿੱਚ ਆਰਾਮਦਾਇਕ ਹੈ, ਤਾਂ ਇਹ ਕਦੇ ਵੀ GitHub ਟ੍ਰੈਂਡਿੰਗ ਪੇਜ ਤੋਂ ਬਾਹਰ ਨਹੀਂ ਨਿਕਲ ਸਕੇਗਾ। ਖੋਜਕਰਤਾ ਜਵਾਬ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੰਮ ਕਰਦੇ ਹਨ, ਨਾ ਕਿ ਸਾਫਟਵੇਅਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ।
ਅਸਲੀ ਪ੍ਰੀਖਿਆ: ਕੋਡ ਤੋਂ ਉੱਪਰ ਸ਼ਾਸਨ (Governance)
ਸਾਫ਼ TypeScript ਅਤੇ ਇੱਕ ਅਭਿਲਾਸ਼ੀ ਫੀਚਰ ਸੂਚੀ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਿਰਫ ਕੁਝ ਦੂਰ ਤੱਕ ਹੀ ਲੈ ਜਾ ਸਕਦੀ ਹੈ। ਵਿਗਿਆਨਕ ਸਾਫਟਵੇਅਰ ਦਾ ਇਤਿਹਾਸ ਅਜਿਹੇ ਸੁੰਦਰ ਕੋਡਬੇਸਾਂ ਨਾਲ ਭਰਿਆ ਹੋਇਆ ਹੈ ਜੋ ਇਸ ਲਈ ਅਸਫਲ ਹੋ ਗਏ ਕਿਉਂਕਿ ਉਹ ਡਿਵੈਲਪਰਾਂ ਦੁਆਰਾ ਡਿਵੈਲਪਰਾਂ ਲਈ ਬਣਾਏ ਗਏ ਸਨ। ਇੱਕ ਲੈਬ ਵਿੱਚ ਕੰਮ ਕਰਨ ਵਾਲੇ ਵਿਗਿਆਨੀ ਨੂੰ ਚਮਕਦਾਰ ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ ਜੇਕਰ CSV ਇੰਪੋਰਟਰ ਅਸਲ ਡੇਟਾ 'ਤੇ ਕ੍ਰੈਸ਼ ਹੋ ਜਾਂਦਾ ਹੈ। ਉਹਨਾਂ ਨੂੰ ਅਜਿਹੇ ਸਾਧਨਾਂ ਦੀ ਲੋੜ ਹੈ ਜੋ ਖੋਜ ਦੀ ਅਸਲ ਮਿਹਨਤ ਦਾ ਸਤਿਕਾਰ ਕਰਨ: ਫੀਲਡ ਸਟੇਸ਼ਨਾਂ ਵਿੱਚ ਰੁਕ-ਰੁਕ ਕੇ ਆਉਣ ਵਾਲਾ ਇੰਟਰਨੈਟ, ਪੁਰਾਣੇ ਸਾਧਨਾਂ ਤੋਂ ਮਿਲੇ ਗੜਬੜ ਵਾਲੇ ਫਾਈਲ ਫਾਰਮੈਟ, ਅਤੇ ਇੱਕ ਸ਼ੱਕੀ ਰਿਵਿਊਅਰ ਨੂੰ ਇਹ ਸਾਬਤ ਕਰਨ ਦੀ ਪੂਰੀ ਲੋੜ ਕਿ ਕਿਸ ਕੋਡ ਨੇ ਕਿਹੜਾ ਫਿਗਰ ਤਿਆਰ ਕੀਤਾ ਹੈ।
ਸਫਲਤਾ ਭਾਈਚਾਰਕ ਸ਼ਾਸਨ (community governance) 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ। ਪ੍ਰਿੰਸੀਪਲ ਇਨਵੈਸਟੀਗੇਟਰ, ਲੈਬ ਮੈਨੇਜਰ, ਅਤੇ ਗ੍ਰੈਜੂਏਟ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਇਹ ਫੈਸਲਾ ਲੈਣ ਵਿੱਚ ਅਸਲੀ ਆਵਾਜ਼ ਦੀ ਲੋੜ ਹੈ ਕਿ ਕੀ ਬਣਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। OpenScience ਨੂੰ ਵਿਗਿਆਨੀਆਂ ਨੂੰ ਉੱਥੇ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿੱਥੇ ਉਹ ਹਨ, ਨਾ ਕਿ ਉੱਥੇ ਜਿੱਥੇ ਡਿਵੈਲਪਰ ਮੰਨਦੇ ਹਨ ਕਿ ਉਹਨਾਂ ਨੂੰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਨਿਚੋੜ
OpenScience ਅਸਲ ਵਿੱਚ ਇੱਕ ਦਿਲਚਸਪ ਪ੍ਰਯੋਗ ਹੈ। ਇਹ ਵਿਗਿਆਨਕ ਖੋਜ ਦੀ ਗੜਬੜ ਵਾਲੀ ਅਤੇ ਵਾਰ-ਵਾਰ ਦੁਹਰਾਈ ਵਾਲੀ ਦੁਨੀਆ ਵਿੱਚ ਟਾਈਪਡ ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਿੰਗ ਦੀ ਸਖ਼ਤੀ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਤੇਜ਼ Python ਸਕ੍ਰਿਪਟਾਂ ਦੇ ਦਬਦਬੇ ਵਾਲੇ ਖੇਤਰ ਵਿੱਚ ਇਹ ਸੁਮੇਲ ਦੁਰਲੱਭ ਹੈ। ਪਰ ਤਕਨੀਕੀ ਚੋਣਾਂ ਵਿੱਚ ਜੋਖਮ ਹੁੰਦੇ ਹਨ, ਮੁਕਾਬਲਾ ਸਖ਼ਤ ਹੈ, ਅਤੇ GitHub ਸਟਾਰਸ ਤੋਂ ਟਿਕਾਊ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਤੱਕ ਦਾ ਰਸਤਾ ਔਖਾ ਹੈ। ਕੋਡ ਖੁੱਲ੍ਹਾ ਹੈ। ਸਟਾਰਸ ਇਕੱਠੇ ਹੋ ਰਹੇ ਹਨ। ਅਸਲੀ ਚੁਣੌਤੀ ਹੁਣ ਬਣਾਉਣ ਦੀ ਹੈ
