আমি নিজের সময়ে অনেক উন্নয়ন করি। আমি যে প্রকল্পগুলিতে কাজ করি সেগুলি কেবল মজা এবং শেখার জন্য (এখনও পর্যন্ত)। আমি সাধারণত মাভেনের সাথে জাভা বিকাশ করি তবে আমি। নেট এবং পাইথন-এ ডাবল করতেও পরিচিত। আমি যে প্রকল্পগুলিতে কাজ করি তার সবগুলিই ওপেন সোর্স লাইসেন্স ব্যবহার করে, যদিও তাদের বেশিরভাগ কোনও পাবলিক কোড সংগ্রহস্থলে নেই।
জাভা / ম্যাভেন বিকাশের জন্য আমাকে একটি অনন্য groupId
(উদাহরণস্বরূপ "com.mydomain") এবং একটি অনন্য package
(ডিরেক্টরি) কাঠামো ব্যবহার করতে হবে, সাধারণত নট বিকাশটি অনন্য groupId
উত্সাহ দেয় namespaces
যেখানে আমি জাভা package
ধারণার অনুরূপ কনভেনশন ব্যবহার করি । স্বতন্ত্রতা নিশ্চিত করার জন্য, আমি সাধারণত আমার ডোমেন নামগুলির একটি অংশগুলি বিপরীত (যেমন "ca.jessewebb") সহ ব্যবহার করি; আমি বিশ্বাস করি এটি একটি খুব সাধারণ অনুশীলন।
আমি একটি নতুন, ওপেন সোর্স, জাভা / মাভেন প্রকল্প তৈরির প্রাথমিক পর্যায়ে রয়েছি (আসুন একে "নিউপ্রজ" বলি) এবং আমি এটি গিটহাবের উপরে রাখতে চাই। GitHub থেকে আমার ব্যবহারকারী নাম "jessewebb" তাই এই মত একটি URL দেব হল: https://github.com/jessewebb/newproj
। আমি "newproj.com" ডোমেন নামটি নিবন্ধিত করতে বিরক্ত করতে চাই না তাই আমি সিদ্ধান্ত নিয়েছি যথাক্রমে groupId
এবং "ca.jessewebb" এবং "ca.jessewebb.newproj" হিসাবে ব্যবহার করব package
।
আমার কাছে এটি ঘটেছিল যে কোডটিতে এবং প্রকল্পের বাড়ির অংশ হিসাবে (গিটহাব ইউআরএল) আমার ব্যক্তিগত পরিচয়ের উপস্থিতি সম্ভবত কোনও সম্ভাব্য অবদানকারীকে আমার প্রকল্পের সাথে জড়িত হওয়ার বিষয়ে দ্বিগুণ চিন্তাভাবনা করার কারণ হতে পারে। এটি একটি সমস্যা, আমি চাই না এটি আমার প্রকল্প হোক। পরিবর্তে আমি এই বার্তাটি জানাতে পারি যে আমি এই প্রকল্পের মালিক নই তবে আমি পছন্দ করব। এখন, সমস্ত সততার সাথে, এটি আসলে এতটা বড় চুক্তি নয় কারণ আমার সন্দেহ যে আমার প্রকল্পগুলি জনগোষ্ঠীর অনেক অংশীদারিত্ব অর্জন করবে তবে আমি এটিকে আরও বেশি কারণ হিসাবে দেখছি যাতে অবদানকারীদের বাধা দেওয়ার কোনও সম্ভাবনা এড়ানো যায় না।
অন্য উদাহরণের জন্য, আমি কয়েক বছর আগে একটি গুগল কোড প্রকল্প তৈরি করেছি (আসুন একে "ওল্ডপ্রোজ" বলি)। যখন আমি প্রকল্পটি তৈরি করেছি, আমি জানতাম যে আমি এটি গুগল কোডে হোস্ট করতে যাচ্ছি তাই আমি groupId
"com.googlecode.oldproj" এর প্যাকেজ নামটি ব্যবহার করি যা গুগল কোড প্রতিটি নতুন প্রকল্প সরবরাহ করে এমন ডিফল্ট ডোমেইনের নামের বিপরীত। এটি একটি অসাধারণ ধারণা হিসাবে পরিণত; এক বছর বা পরে, আমি একটি ভিন্ন রেপো কোড সরানো এবং আমি এই শনাক্তকারী নামান্তর করতে ছিল (ভাল আমি করিনি আছেto but ...)। এই সময়ে, আমি কোনও ডোমেইন নামগুলির মালিক ছিল না এবং আমি "oldproj.com" ডোমেন নামটি কিনে শেষ করে দিয়েছিলাম। আমি এটি পছন্দ করেছি কারণ এটি প্রকল্পটির নিজস্ব পরিচয় দিয়েছে এবং আমি কোডটিতে কোথাও আমার নামটি স্ট্যাম্প করছি না। আমি খুব সহজেই "jessewebb.ca" ডোমেইন নামটি নিবন্ধন করতে পারতাম এবং "ca.jessewebb.oldproj" প্যাকেজের নাম হিসাবে ব্যবহার করতে পারি তবে আমি তা করতে পারি নি কারণ আমার তখনও একই উদ্বেগ ছিল।
সুতরাং আমার প্রশ্ন ...
প্যাকেজ / নেমস্পেসের স্বতন্ত্রতা বজায় রেখে ওপেন সোর্স প্রকল্পগুলি তৈরি করার সময় আমি কীভাবে নিজের (ডোমেন) নামগুলি ব্যবহার করা এড়াতে পারি?
প্রকল্পগুলি আরও গতি অর্জন করার সাথে সাথে ডোমেনের নামগুলি নিবন্ধভুক্ত করার জন্য এটি বোধগম্য হয় তবে এটি করার জন্য এটি নির্বোধ এবং অর্থের অপচয় হিসাবে মনে হয়। আমি বুঝতে পেরেছি যে কোডটিতে এটি ব্যবহার করার জন্য আমার কাছে ডোমেন নামটির মালিকানা নেই , তবে এটি ভুল অনুভব করে এবং এরই মধ্যে আপনার অধীনে থেকে এটি ছিনিয়ে নিতে পারে। এই দ্বিধা নিয়ে অন্যান্য লোকেরা কী করবেন? জনপ্রিয় (বহুল ব্যবহৃত, বৃহত জনগোষ্ঠী, ইত্যাদি) এর এমন কোনও ওপেন সোর্স প্রকল্পের উদাহরণ রয়েছে যাতে তার নিজস্ব সনাক্তকারী (গুলি) এর অংশ হিসাবে মূল বিকাশকারীর পরিচয় রয়েছে?