এই প্রশ্নটি যদি বিষয়টির বাইরে না থাকে তবে আমি ক্ষমাপ্রার্থী, তবে এটি একই সাথে একটি অর্থনীতি এবং প্রোগ্রামিং প্রশ্ন। যদি এটি অন্য কোনও এসই সাম্প্রদায়িকতার দিকে যায় তবে দয়া করে আমাকে ইঙ্গিত করুন।
তত্ত্ব অনুসারে, জিএনইউ সফ্টওয়্যারটি পুরোপুরি স্বেচ্ছাসেবীরা তাদের ফ্রি সময়কালে, বা স্বেচ্ছাসেবী তহবিল প্রোগ্রামারদের দ্বারা জিএনইউ সফ্টওয়্যার তৈরি করতে (তাদের ক্রিয়াকলাপের অন্য একটি ক্ষেত্র থেকে আয় ব্যবহার করে) তৈরি করেছে।
আমি বুঝতে পারি যে এটি ছোট-স্কেল প্রকল্পের জন্য কীভাবে পুরোপুরি সূক্ষ্মভাবে কাজ করতে পারে যা একা একা একা একা কয়েকজন বৃষ্টির উইকএন্ডে করা যায় (উদাহরণস্বরূপ একটি সুডোকু গেমটি বলা যাক), কারণ সমস্ত কম্পিউটার প্রোগ্রামিং একটি অত্যন্ত মজাদার এবং পুরষ্কার শখ, এবং লোকেদের ফ্রি সময়কালে ছোট বা মাঝারি প্রোগ্রামগুলি বিকাশ করে এবং তাদেরকে বিশ্বের সাথে ভাগ করে নিতে দেখে আমার কোনও সমস্যা নেই।
সমস্যাটি হ'ল নিম্নলিখিত কারণে বৃহত্তর প্রোগ্রামগুলির জন্য এটি খুব খারাপভাবে স্কেল করে:
- প্রোগ্রামিং হিসাবে মজাদার যেমন প্রকল্পটি বাস্তবায়ন করতে হয় ততই বৃহত্তর হয়, কাঙ্ক্ষিত কার্যকারিতা বাস্তবায়নে যে সময় লাগে তা অত্যন্ত দ্রুত বৃদ্ধি পায়। বৃহত্তর স্কেল প্রোগ্রামটি বিকাশে অবিশ্বাস্য পরিমাণ সময় নেয়, উদাহরণস্বরূপ, কোনও ব্যক্তি অপারেটিং সিস্টেম প্রোগ্রাম করতে সহজেই 15 বছর অবধি ফ্রি সময় এবং অবকাশের সময় নিতে পারে এবং তার সফ্টওয়্যার প্রকাশিত হওয়ার সাথে সাথে এটি সম্পূর্ণ অপ্রচলিত হয়ে যাবে ।
- অন্যান্য লোকেরা যেমন প্রোগ্রামগুলি অন্যভাবে লিখে থাকে যেভাবে আপনি এটি করতেন সেভাবে, অন্য কারও কোড পড়ার এবং বোঝার ক্ষেত্রে অনেক সময় লাগে , বেশিরভাগ ক্ষেত্রে আপনার নিজের কোডটি স্ক্র্যাচ থেকে লেখার মতোই হয়। অন্য ব্যক্তির কোডটি সংশোধন করে এটি উন্নত করার চেষ্টা করুন, যেমন এটি জিএনইউ দর্শনের দ্বারা উত্সাহিত করা হয়েছে, ঠিক তেমনি সময় সাপেক্ষ যেমনটি আপনি যে ক্রিয়াকলাপটি যুক্ত করতে চান তাতে উল্লিখিত প্রোগ্রামটির নিজস্ব ক্লোন তৈরি করা।
- যত তাড়াতাড়ি 2 বা ততোধিক লোককে বৃহত্তর প্রোগ্রামটি বিকাশের জন্য সহযোগিতা করতে হবে, এটি প্রচুর সিদ্ধান্ত গ্রহণের বিষয়গুলি তৈরি করে যা কোনও একক বিকাশকারী প্রকল্পে কখনও উত্থাপিত হবে না। ফলাফলটি হল, উদাহরণস্বরূপ, যদি 2 প্রোগ্রামারদের একটি দল কোনও প্রকল্পের জন্য সহযোগিতা করে যা কোনও একক মানুষকে তৈরি করতে 10 বছর সময় নেয়, তারা এটি 5 বছরে তৈরি করবে না তবে সম্ভবত 8 সালে।
- একই প্রকল্পের জন্য সহযোগিতা করা ব্যক্তিরা যদি ইন্টারনেটে সম্পূর্ণরূপে মিলিত হন, তবে প্রকল্পের এক সদস্যের পক্ষে হঠাৎ বিলুপ্ত হওয়া সহজ হবে (হয় তার আগ্রহ হারিয়েছে বলেই বা শারীরিকভাবে তিনি ইন্টারনেটে আর থাকতে পারবেন না), এইভাবে এমনকি সহযোগিতা করে কঠিনতর
সুতরাং, আমি পুরোপুরি বুঝতে পারছি যে জিএনইউ মানসিকতার সাথে কীভাবে সাধারণ প্রোগ্রামগুলি বিকাশ করা যায়, আমি ঠিক জানি না যে এই মডেলটিতে জিএনইউ / লিনাক্স বা জিসিসি-র মতো বিশাল প্রোগ্রামগুলি কীভাবে সম্ভব। জিসিসি প্রায় 7 মিলিয়ন লাইনের কোড। আমি জানি কোডের লাইনগুলি খুব বেশি বোঝায় না, কারণ কোনও প্রকল্পের পরবর্তী পর্যায়ে আরও বেশি উত্পাদনশীল প্রোগ্রামার হ'ল আসলে কোডের লাইনগুলি সরিয়ে ফেলবে (প্রকল্পটি সরলকরণ এবং / অথবা প্রকল্পটি অনুকূলকরণ করবে), তবে এটি একটি ওভারউইউ দেয় যে কীভাবে বিশাল একটি প্রকল্প জিসিসি হয়।
সুতরাং তত্ত্বগতভাবে, যে কেউ নিখরচায় তাদের ফ্রি সময়ে জিসিসি পরিবর্তন করতে পারে, তবে বাস্তবে? এটি শখের হিসাবে নয়, খুব পেশাগত লোকেরা একটি চাকরি হিসাবে গড়ে তুলেছিল। শখ হিসাবে সংকলক তৈরি করা যে কোনও ব্যক্তি ব্যয় / সুবিধাগুলির পক্ষে মূল্যহীন না হওয়ায় অবশেষে তা ত্যাগ করবেন:
- একটি বৃহত প্রোগ্রামের বিকাশ যেমন একটি দীর্ঘমেয়াদী বিশাল প্রকল্প, তারা তাদের ফ্রি সময়কে অন্যান্য ক্রিয়াকলাপগুলিতে ব্যবহার করতে চান যা স্বল্প মেয়াদে আরও বেশি পুরস্কৃত বা আরও উপভোগযোগ্য
- যদি তারা যে কোনও উপায়ে কোনও বৃহত প্রোগ্রাম বিকাশ করে থাকে তবে তারা বরং এমন কোনও সংস্থার জন্য এটি করবে যা তাদের জন্য এটি বিনামূল্যে প্রদানের চেয়ে অর্থ প্রদান করবে for
লোকেরা দীর্ঘমেয়াদে জিএনইউ / লিনাক্স, জিসিসি বা ওপেন অফিসের মতো কোনও প্রোগ্রাম বিকাশে আগ্রহী হওয়ার জন্য এটি পুরস্কৃত হওয়া উচিত। সুতরাং আমার প্রশ্নটি হচ্ছে: লোকেরা কেন এটির জন্য বেতন না পেয়ে বড় জিএনইউ প্রকল্পে অবদান রাখছে?