সফটওয়্যার ফর্ক (fork)
ফর্ক হলো বিদ্যমান সফটওয়্যার প্রকল্পের একটি স্বাধীন কপি তৈরি করা, যার উদ্দেশ্য এর পরবর্তী স্বাধীন বিকাশ, কার্যকারিতা পরিবর্তন বা নতুন কাজের সাথে খাপ খাওয়ানো।
ফর্ক কী
ফর্ক (fork) হলো বিদ্যমান সফটওয়্যার প্রকল্পের (রিপোজিটরির) একটি স্বাধীন কপি তৈরির প্রক্রিয়া, যার উদ্দেশ্য এর পরবর্তী স্বাধীন বিকাশ। নতুন কার্যকারিতা যোগ করা, ত্রুটি সংশোধন, নির্দিষ্ট কাজের সাথে খাপ খাওয়ানো বা মূল প্রকল্পের বিকাশ নিয়ে মতভেদের ক্ষেত্রে ফর্ক তৈরি করা যেতে পারে।
Open Source-এর জগতে ফর্ক ব্যাপকভাবে প্রচলিত, যেখানে যেকোনো ডেভেলপার প্রকল্পের কোড নিয়ে নিজের সংস্করণ তৈরি করতে পারেন। রাশিয়ায় ইমপোর্ট প্রতিস্থাপনের জন্য ফর্ক সক্রিয়ভাবে ব্যবহৃত হয় — উদাহরণস্বরূপ, Nginx-এর ফর্ক Angie, যা মূল ওয়েব সার্ভারের বিকল্প হিসেবে রাশিয়ান ডেভেলপাররা তৈরি করেছে।
ফর্কের ইতিহাস কয়েক দশক পুরনো। সবচেয়ে বিখ্যাত ফর্কগুলোর একটি হলো UNIX থেকে উৎপন্ন শাখা, যা Linux তৈরির দিকে নিয়ে গিয়েছিল। GitHub-এর মতো যৌথ ডেভেলপমেন্ট প্ল্যাটফর্মের বিকাশের সাথে সাথে ফর্ক বিশেষভাবে জনপ্রিয় হয়ে ওঠে, যেখানে যেকোনো ব্যবহারকারী যেকোনো প্রকল্পের ফর্ক তৈরি করতে পারেন।
রাশিয়ায় ইমপোর্ট প্রতিস্থাপনে ফর্ক গুরুত্বপূর্ণ ভূমিকা পালন করে, যা বিদেশী সফটওয়্যারকে রাশিয়ান প্রয়োজন অনুযায়ী খাপ খাওয়াতে এবং সম্পূর্ণ দেশীয় সমাধান তৈরি করতে সহায়তা করে।
ফর্কের ধরন
উদ্দেশ্য অনুযায়ী বেশ কয়েক ধরনের ফর্ক রয়েছে:
- ফর্ক-কপি — পরিবর্তনগুলো পরে মূল প্রকল্পে ফিরিয়ে দেওয়ার উদ্দেশ্যে তৈরি করা হয় (Pull Request)। GitHub-এ ব্যবহৃত হয়।
- ফর্ক-শাখা — প্রকল্প দুটি স্বাধীন বিকাশের দিকে বিভক্ত হয় (যেমন MySQL এবং MariaDB)।
- ফর্ক-অ্যাডাপটেশন — নির্দিষ্ট কাজের জন্য সফটওয়্যারকে খাপ খাওয়ানোর জন্য তৈরি করা হয় (যেমন রাশিয়ান OS-এ চালানোর জন্য ফর্ক)।
low-code প্ল্যাটফর্মের প্রেক্ষাপটে ফর্ক বলতে অন্য ক্লায়েন্ট বা কাজের জন্য সমাধানের কপি তৈরি করাও বোঝাতে পারে।
এছাড়াও “নরম” ও “শক্ত” ফর্ক রয়েছে। নরম ফর্ক মূল প্রকল্পের সাথে সামঞ্জস্য বজায় রাখে এবং পরিবর্তনগুলো ফিরিয়ে আনতে পারে। শক্ত ফর্ক সম্পূর্ণরূপে আলাদা হয়ে স্বাধীনভাবে বিকশিত হয়।
রাশিয়ায় ফর্ক
রাশিয়ায় ইমপোর্ট প্রতিস্থাপনে ফর্ক গুরুত্বপূর্ণ ভূমিকা পালন করে:
- Angie — রাশিয়ান ডেভেলপারদের তৈরি Nginx ওয়েব সার্ভারের ফর্ক।
- Postgres Pro — PostgreSQL DBMS-এর ফর্ক, রাশিয়ান প্রয়োজনের জন্য অপ্টিমাইজড।
- RED OS এবং Linux-ভিত্তিক অন্যান্য দেশীয় OS।
ফর্ক 152-FZ এবং 187-FZ-সহ রাশিয়ান আইনের প্রয়োজনীয়তা মেনে সমাধান তৈরি করতে সাহায্য করে এবং সেগুলোকে দেশীয় সফটওয়্যার রেজিস্ট্রিতে অন্তর্ভুক্ত করতে দেয়।
দেশীয় ফর্কগুলো প্রায়ই ভর্তুকি ও অনুদান আকারে সরকারি সমর্থন পায়, যা সরকারি ব্যবস্থায় এগুলোর বিকাশ ও প্রয়োগ ত্বরান্বিত করে।
ফর্কের সুবিধা ও ঝুঁকি
ফর্ক নিম্নলিখিত সুবিধা দেয়:
- স্বাধীনতা — প্রকল্পের বিকাশ মূল ভেন্ডরের সিদ্ধান্তের ওপর নির্ভর করে না।
- নমনীয়তা — নির্দিষ্ট কাজের জন্য প্রয়োজনীয় ফিচার যোগ করার সুযোগ।
- নিরাপত্তা — নিজের মতো কোড অডিট এবং দুর্বলতা দ্রুত সংশোধনের সুযোগ।
তবে ফর্কের ঝুঁকিও রয়েছে: কোড নিজে রক্ষণাবেক্ষণ করার প্রয়োজন, মূল প্রকল্পের আপডেটের সাথে সামঞ্জস্যের সমস্যা এবং কাজের পুনরাবৃত্তির সম্ভাবনা।
ঝুঁকি কমাতে মূল প্রকল্পের সাথে সংযোগ বজায় রাখা, পরিবর্তন একীভূত করার (merging) স্বয়ংক্রিয় টুল ব্যবহার করা এবং ডেভেলপার কমিউনিটিতে সক্রিয়ভাবে অংশ নেওয়ার পরামর্শ দেওয়া হয়।
ফর্ক ও ব্যবসা
ব্যবসার জন্য ফর্ক কৌশলগত হাতিয়ার হতে পারে। কোম্পানিগুলো বাণিজ্যিক সংস্করণ তৈরির জন্য (যেমন বর্ধিত কার্যকারিতা বা সাপোর্টসহ), ইন্ডাস্ট্রি স্ট্যান্ডার্ড অনুযায়ী খাপ খাওয়ানোর জন্য বা পুরনো সংস্করণের সাপোর্ট নিশ্চিত করতে ফর্ক তৈরি করতে পারে।
রাশিয়ার অনেক কোম্পানি ইমপোর্ট প্রতিস্থাপনের জন্য ফর্ক ব্যবহার করে, বিদেশী সফটওয়্যারের দেশীয় বিকল্প তৈরি করে। এতে স্যাংশন-সংক্রান্ত ঝুঁকি কমে এবং প্রযুক্তিগত স্বাধীনতা নিশ্চিত হয়।
তবে বাণিজ্যিক উদ্দেশ্যে ফর্ক ব্যবহারের সময় মূল প্রকল্পের লাইসেন্স শর্ত মানতে হয়। উদাহরণস্বরূপ, GPL লাইসেন্সের প্রকল্পগুলোতে পরিবর্তিত সংস্করণের কোড খুলে দিতে হয়।
Frequently asked questions
প্রোগ্রামিংয়ে ফর্ক কী?
প্রোগ্রামিংয়ে ফর্ক হলো প্রকল্পের সোর্স কোডের কপি তৈরি করা, যাতে এটি পরে স্বাধীনভাবে বিকশিত হতে পারে। এটি মূল রাস্তা থেকে “শাখা” নেওয়ার মতো। উদাহরণস্বরূপ, ডেভেলপার জনপ্রিয় কোনো Open Source প্রকল্পের ফর্ক তৈরি করে মূল লেখকদের সম্মতি ছাড়াই প্রয়োজনীয় ফিচার যোগ করতে পারেন।
ফর্ক ক্লোন থেকে কীভাবে আলাদা?
GitHub ও অন্যান্য প্ল্যাটফর্মে এই শব্দদুটির ব্যবহার ভিন্নভাবে হয়: Fork হলো প্ল্যাটফর্মে রিপোজিটরির কপি, যা Pull Request-এর সম্ভাবনার জন্য মূলের সাথে সংযুক্ত থাকে। Clone হলো কাজ করার জন্য আপনার কম্পিউটারে রিপোজিটরির লোকাল কপি। Open Source-এর প্রেক্ষাপটে ফর্ক বেশিরভাগ ক্ষেত্রে প্রকল্পের স্বাধীন সংস্করণ বোঝায়।
সফটওয়্যার ফর্ক কেন তৈরি করা হয়?
ফর্ক বিভিন্ন উদ্দেশ্যে তৈরি হয়: নতুন ফিচার যোগ, ত্রুটি সংশোধন, নির্দিষ্ট কাজের সাথে খাপ খাওয়ানো (যেমন রাশিয়ান আইন অনুযায়ী), এবং মূল প্রকল্পের বিকাশ নিয়ে মতভেদের ক্ষেত্রে। ফর্ক স্বাধীন সমাধান তৈরির সুযোগ দেয়, যা ইমপোর্ট প্রতিস্থাপনের জন্য বিশেষভাবে গুরুত্বপূর্ণ।
রাশিয়ায় কোন কোন বিখ্যাত ফর্ক রয়েছে?
রাশিয়ায় ইমপোর্ট প্রতিস্থাপনের আওতায় তৈরি ফর্কগুলো পরিচিত: Angie (Nginx ওয়েব সার্ভারের ফর্ক), Postgres Pro (PostgreSQL DBMS-এর ফর্ক), RED OS এবং Linux-ভিত্তিক অন্যান্য রাশিয়ান OS। এই সমাধানগুলো দেশীয় সফটওয়্যার রেজিস্ট্রিতে অন্তর্ভুক্ত এবং সরকারি ব্যবস্থা ও গুরুত্বপূর্ণ তথ্য অবকাঠামোর (CII) স্থাপনায় ব্যবহৃত হয়।
ফর্ক ব্যবহারের সাথে কোন ঝুঁকি জড়িত?
প্রধান ঝুঁকিগুলো: কোড নিজে রক্ষণাবেক্ষণের প্রয়োজন, মূল প্রকল্প আপডেটের সময় সামঞ্জস্যের সম্ভাব্য সমস্যা, দুর্বলতা সংশোধনে কাজের পুনরাবৃত্তি। তবে সরকারি ব্যবস্থার জন্য ফর্কগুলোকে সফটওয়্যার রেজিস্ট্রিতে অন্তর্ভুক্ত করা এবং নিয়ামকদের সার্টিফিকেশনের মাধ্যমে এই ঝুঁকি হ্রাস করা হয়।
GitHub-এ প্রকল্পের ফর্ক কীভাবে তৈরি করব?
GitHub-এ প্রকল্পের ফর্ক তৈরি করা খুব সহজ: রিপোজিটরির পেজে যান, ডানদিকে ওপরের কোণায় “Fork” বোতামে ক্লিক করুন। সিস্টেম আপনার অ্যাকাউন্টে রিপোজিটরির একটি কপি তৈরি করবে। এরপর আপনি ফর্কটি নিজের কম্পিউটারে ক্লোন করে পরিবর্তন করে আবার ফেরত পাঠাতে পারেন। মূল প্রকল্পে পরিবর্তন প্রস্তাব করতে Pull Request তৈরি করা হয়।
ফর্ক কি বাণিজ্যিকভাবে ব্যবহার করা যায়?
হ্যাঁ, ফর্কের বাণিজ্যিক ব্যবহার সম্ভব, তবে তা মূল প্রকল্পের লাইসেন্সের ওপর নির্ভর করে। উদাহরণস্বরূপ, MIT বা Apache লাইসেন্সের প্রকল্পগুলো কোড খুলে না দিয়েই বাণিজ্যিক পণ্যে ফর্ক ব্যবহারের সুযোগ দেয়। GPL লাইসেন্সের প্রকল্পগুলোতে পরিবর্তিত সংস্করণের কোড খুলে দিতে হয়। রাশিয়ায় ইমপোর্ট প্রতিস্থাপনের আওতায় বাণিজ্যিক পণ্য তৈরিতে ফর্ক প্রায়ই ব্যবহৃত হয়।
Other terms in «সরকারি নিয়ন্ত্রণ»
Was this information helpful?
Need help with implementation?
Leave a request — our specialists will contact you and help solve the সফটওয়্যার ফর্ক (fork) task. Individual approach and guaranteed results.