৪.৬. ক্যাগল কার্নাল এবং অনলাইন হোস্টেড স্ক্রিপ্ট

In open source, we feel strongly that to really do something well, you have to get a lot of people involved.

-- Linus Torvalds

ফেসবুকের কথায় আসি। একটা ছবি শেয়ার করতে গেলে কি করেন আপনি? অথবা ভিডিও? পুরো ছবি অথবা ভিডিওটাকে আপলোড করতে হয় আপনাকে। একবার আপলোড হয়ে গেলে ব্যাপারটা সহজ হয়ে যায় আরো। আপনার ছবি অথবা ভিডিও হোস্ট হয়ে গেলে একবার, আপনার সুবিধা অনেক। যতবারই শেয়ার করবেন - মূল ছবিটা যেখানে থাকুক না কেন সেটাকে একই জায়গায় রেখে পাঠিয়ে দিচ্ছে হাজার হাজার লিংক।

প্রোগ্রামারদের সমস্যা আলাদা। আপনি একটা প্রোগ্রাম লেখেন কোন না কোন ল্যাঙ্গুয়েজ এনভায়রনমেন্টএর ওপর ভিত্তি করে। কারো সাথে ওই প্রোগ্রামের কোড যদি শেয়ার করেন, তাহলে তাকেও তৈরি করতে হবে একই ধরনের এনভায়রনমেন্ট। শুধু সে ধরনের এনভায়রনমেন্ট নয়, আরো প্রয়োজন পড়বে অনেক ধরনের লাইব্রেরি। মোদ্দা কথা, কোড শেয়ার - আর মুহুর্তের মধ্যে চালানোর চেষ্টা করা খুবই দুরূহ ব্যাপার। আগের প্রোগ্রামের মত একই ধরনের ‘রানটাইম এনভায়রনমেন্ট’ তৈরি করা অনেকটা দুঃসাধ্যই বটে।

সেই সমস্যার সমাধানে এসেছে ক্যাগল। তারা একই সাথে আপনার সেই কোডের ‘রানটাইম এনভায়রনমেন্ট’ হোস্টিং, সঙ্গে হাজারো ভার্সন কন্ট্রোল চালিয়ে দেবে তাদের সার্ভার থেকে। ওই মুহুর্তেই। এখানেই চলে এসেছে কমিউনিটির ক্ষমতা। প্রতিটা কোড অথবা স্ক্রিপ্টের বিভিন্ন রিভিশন, দরকারি লাইব্রেরী, অনলাইন ডাটাসেট হোস্টিং - যা যা দরকার ওই কোড চালানোর জন্য অনলাইনে, সবই হোস্ট করছে ক্যাগলের সার্ভারে। অনলাইনে দেখলেন একটা কোড, ভালো লাগলো, চালাতেও চাইলেন ওই মুহূর্তে। পরীক্ষা করে দেখতে চাইলেন নিজের কিছু এনভায়রনমেন্ট সেটিংস পাল্টে দিয়ে। আলাদিনের চেরাগের মতো পূরণ হয়ে গেলো প্রোগ্রামারদের উইশলিস্ট।

আর যাই বলুন, অনলাইনে ডাটা সায়েন্টিস্টদের কোড চালানো বেশ দুরূহ ব্যাপার ছিলো ক্যাগলের আগে। ওই ডিপেন্ডেন্সির কারণে। এখন - সেটা খুবই সহজ, ক্যাগলে কার্নালে। ওই কোডের উপর লেখা থাকছে “ফর্ক স্ক্রিপ্ট”। ইচ্ছে মত কোড পাল্টে চালান ওই সার্ভারে। ওই মুহূর্তেই। মনে আছে ‘ভিএম’ ভার্চুয়াল মেশিনের কথা? এটা ‘ভার্চুয়াল মেশিন’ নয়, বরং অসাধারণ শেয়ার্ড অপারেটিং সিস্টেম। ‘ডকার’ ধারণায়। সঙ্গে মেশিন লার্নিং এর জন্য দরকারি সব ল্যাঙ্গুয়েজ এনভায়রনমেন্ট। দরকারি মেশিন লার্নিং প্যাকেজের সাথে আছে প্রয়োজনীয় লোডেড লাইব্রেরি।

দরকার শুধুমাত্র একটা ব্রাউজার, সঙ্গে ইন্টারনেট সংযোগ।

বিশাল ব্যাপার! বাড়তি হিসেবে আমাকে পাচ্ছেন সাথে। আমার অবসর সময়ে।