খুব শীঘ্রই ওপেন সোর্স সফ্টওয়্যার প্রকাশ করা [বন্ধ]


37

খুব শীঘ্রই ওপেন সোর্স সফ্টওয়্যার প্রকাশ করার নৈতিক দায়িত্ব কী? উদাহরণস্বরূপ, একটি নিকটে-সম্পূর্ণ পণ্য যা পুরোপুরি পরীক্ষিত হয়নি।

প্রোগ্রামার এর প্রত্যাশা কি? এটি সম্পূর্ণরূপে পরীক্ষা না হওয়া অবধি অপেক্ষা করুন, বা ওপেন সোর্সটি ছেড়ে দিতে হবে এবং তারপরে আরও বিকাশ, পরীক্ষা এবং অগ্রগতি চালিয়ে যেতে হবে?

আশঙ্কাটি হ'ল সফ্টওয়্যারটি খোলা স্রোতযুক্ত এবং গ্রাহকদের পক্ষে সম্ভাব্য সমস্যাগুলি তৈরি করতে পারে।

এটি কি একটি ভিত্তিহীন ভয়?


10
আপনি উদ্বিগ্ন হলে একটি দাবি অস্বীকার যুক্ত করুন। :)
ভান হিলস

18
খুব শীঘ্রই প্রকাশের একটি অসুবিধা হ'ল সফটওয়্যারটি ব্যবহারযোগ্য না হলে অবমুক্ত করার সময় আপনি যে প্রচারটি পাবেন তা হারাতে পারে। তারপরে, পরবর্তী প্রকাশগুলি "হ্যাঁ, আমি চেষ্টা করেছিলাম, এটি চুষে ফেলেছে"। এটি অবশ্যই আপনাকে আরও আকারে এবং টার্গেটের শ্রোতা পেতে আরও কতটা প্রয়োজন তা নির্ভর করে।
ডেভিডম

@ ওয়াখনহিল্টস কারও রাগ হওয়ার বিষয়ে আমি উদ্বিগ্ন নই, উদ্বেগটি কেবলমাত্র সফ্টওয়্যার বিতরণ এবং ব্যবহারের উন্নতির জন্যই। এটি পরেরটি যে আমি কোনও মুক্তির আগ্রহের কারণে কষ্ট পেতে চাই না।
থমাস স্ট্রিংগার

@ ডেভিডমঃ "একবার জ্বলুন, দু'বার লাজুক" এটিও আমার প্রধান উদ্বেগ।
ম্যাথিউ এম।

8
উত্সটি প্রকাশ করা তবে বাইনারিগুলি নয় এটি আপনার সফ্টওয়্যারটি প্রস্তুত হওয়ার আগে ভুল প্রত্যাশা নিয়ে লোকদের আটকাতে ভাল উপায়।
মনিকা

উত্তর:


56

আমি তার বিপরীতে বিশ্বাস করি যে যত তাড়াতাড়ি সম্ভব আপনার একটি ওপেন সোর্স সফ্টওয়্যার প্রকাশ করা উচিত। এর জন্য কোনও "খুব শীঘ্রই" নেই (তবে এটি সংকলন করা উচিত)।

বা কমপক্ষে উত্স কোডটি খুব তাড়াতাড়ি এবং অবিচ্ছিন্নভাবে প্রকাশ করুন (উদাহরণস্বরূপ গিথুবকে ঘন ঘন ঠেলা দিয়ে ), আনুষ্ঠানিক প্রকাশ না করে।

যাইহোক, এটি আলফা বা বিটা পর্যায়ের হিসাবে পতাকাঙ্কিত করা খুব গুরুত্বপূর্ণ, এবং যদি সম্ভব হয় তবে (যেমন কোনও ফাইল READMEবা TODOকিছু ব্লগে, ইত্যাদি)) কী অনুপস্থিত, পরীক্ষিত নয় বা খারাপ আকারে রয়েছে তা বলতে পারেন। এই জাতীয় তথ্য জানাতে আপনার সংস্করণ নম্বরটি ব্যবহার করা উচিত ।

সঙ্গে মুক্ত সফটওয়্যার , সেরা যে ঘটতে উচিত সোর্স কোড মধ্যে যে কেউ glances হয় এবং আপনি একটি ছোট প্যাচ এটা উন্নত প্রস্তাব করছি। এ কারণেই আপনি নিজের সফটওয়্যারটি ফ্রি করেন!

সুতরাং, আপনার বিনামূল্যে সফ্টওয়্যারটিতে আপনার প্রতিদিনের কাজটি দৃশ্যমান করা দরকার! বহিরাগত অবদানকারীরা যদি তাদের প্যাচটি আপনার সাম্প্রতিক সফ্টওয়্যার উত্স কোডটির সাথে কাজ না করে বা এর সদৃশ হয় তবে তা হারাবে।

আপনার যে বিষয়টি ভয় করা উচিত তা হ'ল কেউ আপনার সফ্টওয়্যার দ্বারা আগ্রহী হচ্ছে না (এবং এতে অবদান রাখছে)। একটি নিখরচায় সফ্টওয়্যার (বিশেষত, বহিরাগত অবদানকারীদের আকর্ষণ করা) এর বাইরের আগ্রহ আকর্ষণ করা একটি দীর্ঘ যাত্রা।


33

টি এল; ডিআর:

তাড়াতাড়ি মুক্তি। প্রায়শই মুক্তি।

ব্যক্তিগত উপাখ্যান:

আমি যে প্রকল্পে কাজ করছি তা সম্পর্কে আমি সত্যিই আগ্রহী ছিলাম। লাইক, সত্যিই উত্তেজিত। উত্তেজিত রাতে ঘুমাতে পারলাম না। সুতরাং, আমি আমার সহ-দেবকে v1.0 মুক্ত করতে চেয়েছি, তার চেয়ে আরও দ্রুত।

এটা খুবই ভয়ানক ছিল. যেভাবে অনুমিত হওয়ার কথা ছিল তেমন কিছুই করেনি। প্রতি ঘুরে ত্রুটিগুলি ছিল, কিন্তু আমরা সেগুলি লগ করেছি এবং সেগুলি ঠিক করেছি। এমনকি আমাদের কাছে প্রাথমিক কয়েকজন গ্রহণকারীরা বাগগুলি খুঁজে পেয়েছিলেন যা আমরা পাইনি। এক-দু'সপ্তাহ পরে আমরা একটি নতুন প্রকাশ প্রকাশ করেছি যা অনেকগুলি সমস্যার সমাধান করেছিল এবং তারপরে নতুন বৈশিষ্ট্য তৈরিতে ফিরে গিয়েছিল।

তাড়াতাড়ি প্রকাশ করা আমাদের পক্ষে করা সেরা কাজ ছিল। এটি আমাদের পণ্যকে বাস্তব ব্যবহারকারীদের সামনে রাখে। এই উন্মুক্ত বাগগুলি করা আমাদের প্রকল্পটি আরও ভাল এবং খুঁজে পেতে এবং নাও পেতে পারি। এটি প্রারম্ভিক গ্রহণকারীরাও জানতে দেয় যে আমরা এই প্রকল্পের জন্য গুরুতর। আরও মুক্তি এবং সক্রিয় বিকাশ হতে চলেছে।

এটি সহজেই অন্যভাবে যেতে পারত যদিও। আমরা এই বাগ রিপোর্টগুলিকে উপেক্ষা করতে পারতাম। অথবা আমরা দ্রুত প্রতিক্রিয়া জানাতে পারিনি। এটি যদি আমাদের কয়েক সপ্তাহের পরিবর্তে ভি 1 .1 প্রকাশ করতে 3 মাস সময় নেয় তবে এটি অন্যরকম গল্প হতে পারে।


9
মনে হচ্ছে আপনার একমাত্র বড় ভুল এটিকে "ভি 1.0" বলছে। সাধারণত ব্যবহারকারীরা প্রত্যাশা করেন যে এটি একটি "সমাপ্ত" পণ্যটিকে এই অর্থে চিহ্নিত করা উচিত যে এটি স্পষ্ট ত্রুটিমুক্ত প্রকৃতির ত্রুটিযুক্ত উদ্দেশ্যে ব্যবহারযোগ্য, "প্রারম্ভিক রিলিজ" ভাল, তবে ব্যবহারকারীদের জানিয়ে দেওয়া উচিত যে তারা গিনি পিগ।
আর ..

3
হ্যাঁ। আমি একে অপরের দৃষ্টিতে একমত হই যদিও ন্যায়সঙ্গত হতে পারে, আমি ভেবেছিলাম আমি এটি ভালভাবে পরীক্ষা করে দেখেছি। আমি ভেবেছিলাম @R এর সময় এটি 1.0 ছিল ... আমি ভুল ছিলাম।
রাবারডাক

12

এটি ক্লোজড সোর্স সফটওয়্যারটির মতোই। যোগাযোগ গুরুত্বপূর্ণ।

সফ্টওয়্যারটির অবস্থা কী এবং এটি ডাউনলোডের জন্য কেন উপলব্ধ তা ব্যবহারকারীদের অবহিত করুন।

সফ্টওয়্যারটি সর্বদা গ্রাহক সমস্যার দিকে পরিচালিত করবে, এটি পুরোপুরি পরীক্ষা করা হয়েছে কিনা তা নির্বিশেষে। বেশিরভাগ গ্রাহকরা এই সত্যটি গ্রহণ করেন এবং কিছু গ্রাহক কখনও তা করেন না। তবে যদি সফ্টওয়্যারটি যুক্তিসঙ্গতভাবে প্রত্যাশার চেয়ে বেশি সমস্যার দিকে পরিচালিত করে, গ্রাহক যে ঝুঁকি নিয়েছে সে সম্পর্কে অবহিত করার নৈতিক বাধ্যবাধকতা রয়েছে। তথ্যগুলি উভয়ই সংক্ষিপ্ত আকারে হওয়া উচিত ("আলফা / বিটা / আর্লিঅ্যাক্সেস" লেবেল) *, এবং বিশদভাবে: জ্ঞাত সমস্যাগুলির তালিকা, কর্মক্ষেত্র এবং বিশেষ বিবেচনার তালিকা, উদাহরণস্বরূপ যদি সম্ভবত ডেটাটি দূষিত হওয়ার সম্ভাবনা রয়েছে।

* সচেতন হন যে ব্যবহারকারীরা কিছু বড় সফটওয়্যার সংস্থাগুলি "বিটা" রাষ্ট্রটিকে সফ্টওয়্যারটি বরং শক্ত হিসাবে বিবেচনা করার জন্য প্রশিক্ষণ দিয়েছিল, সুতরাং ব্যবহারকারীকে যে সফ্টওয়্যারটি "বিটা" বলে তা প্রায়শই পর্যাপ্ত তথ্য নয়।


3
"বিটা" বরং শক্ত হওয়া উচিত নয় কি আমাদের অনুমান করা উচিত ? আমি অনুমান করছি যে "বড় সফটওয়্যার সংস্থাগুলি" যখন উত্পাদন-প্রস্তুত হতে চলেছে, রিয়েল-ওয়ার্ল্ডের ডেটাতে সফ্টওয়্যারটির মুখোমুখি হবে it একে প্রোটোটাইপ বলবেন ?
পিয়ের আরলাড

2
"বিটা" লেবেলটির অর্থ এখন বিভিন্ন লোকের জন্য আলাদা আলাদা জিনিস, সুতরাং আমার মতে আমরা "বিটা" লেবেল থেকে কিছুটা অনুমান করতে পারি না যে সফ্টওয়্যারটি "কিছুটা ব্যবহারযোগ্য" এবং "প্রায় সমাপ্ত" এর মধ্যে রয়েছে somewhere কিছু গ্রাহক কিছু অনুমান করবে এবং তাদের সকলেই একই জিনিস অনুমান করবে না। এজন্য আমি মন্তব্যটি রেখেছি।
পিটার

3
প্রোটোটাইপ বিল্ডগুলির জন্য আমি এখন "আলফা বিল্ড" শব্দটি ব্যবহার করার প্রবণতা রাখি। এটি মানুষকে বোঝায় যে "এই জিনিসটি এখনও বেটা নয় মানুষ! এটি প্রায় শেষ হওয়ার আশা করবেন না" "
রাবারডাক

2
আপনি এটিকে অন্য কোনও আকারে বিতরণ করতে পারেন, উদাহরণস্বরূপ কেবল বাইনারি প্যাকেজ ছাড়াই উত্স আকারে।
el.pescado

3
গেমিং শিল্পটি আমাদের "বিটা" বলতে যা বোঝায় তার আগে @ স্টিভ জেসাপ, আমি আপনার সাথে একমত হয়েছি। =)
রাবারডাক 12

7

কোনও নৈতিক দায়িত্ব নেই। আপনার অর্ধ-বেকড সফ্টওয়্যারটি কেউ বাধ্য করতে বাধ্য হচ্ছে না।

উদ্বিগ্ন হওয়ার বিষয়টি কেবল আপনার বিশ্বাসযোগ্যতা।


2
কোনও ব্যাখ্যা ছাড়াই, অন্য কেউ যদি বিপরীত মতামত পোস্ট করে তবে এই উত্তরটি অকেজো হতে পারে। উদাহরণস্বরূপ, কেউ যদি একটি দাবি পোস্ট করেন যেমন "একটি নৈতিক দায়িত্ব রয়েছে Someone , এই উত্তরটি কীভাবে পাঠককে দুটি বিপরীত মতামত বাছাই করতে সহায়তা করবে? কীভাবে উত্তর দেবেন নির্দেশিকা মাপসই করার জন্য এটি আরও ভাল আকারে যুক্ত করা বিবেচনা করুন
gnat

6
@ গ্যানাট: এটি অসত্য নয় যে এই উত্তরটি ব্যাখ্যা ছাড়াই রয়েছে - ব্যাখ্যাটি পরবর্তী পরবর্তী বাক্য: "আপনার অর্ধ-বেকড সফ্টওয়্যারটি কেউ ব্যবহার করতে বাধ্য হচ্ছে না"। এটি একটি সংক্ষিপ্ত ব্যাখ্যা, হ্যাঁ, তবে এটি এখনও "কোনও নৈতিক দায়িত্ব নেই" বলার কারণ রয়েছে
স্লাইটব্যাটম্যান

@gnat: বেশিরভাগ উত্তর সম্পর্কে একই বলতে পারে। "আমি বিশ্বাস করি না যে আপনার মুক্তি দেওয়া উচিত […] এটি পতাকাঙ্কিত করা খুব গুরুত্বপূর্ণ নয় […]"। আপনি কি এই উত্তরের জন্য আরও বাহ্যিক উত্স আশা করছেন?
পিয়ের আরলাড

2
ভাল মতামত এবং খারাপ মতামত আছে। আমি আপনার সাথে একমত, তবে একটি শক্তিশালী যুক্তি দিয়ে আপনি এটির ব্যাক আপটি দেখে ভাল লাগবে।
রাবারডাক

6

আমার অভিজ্ঞতা হ'ল একটি ভারসাম্য অর্জন করতে হবে।

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

অন্যদিকে, নিম্ন-মানের রিলিজগুলি কোনও নতুন প্রকল্পটি এমনকি মাটিতে নামার আগেই খারাপ চেহারা তৈরি করতে পারে। কিছু দোষ আমি দেখেছি এর মধ্যে রয়েছে:

  • ইন্টারফেস সংজ্ঞা সহ কঙ্কাল গাছ তবে কোনও কোড নেই।
  • কোড যা সফলভাবে অন্য কারও জন্য বিকাশকারীকে সংকলন করে না।
  • প্রোগ্রামটি কীভাবে তৈরি / চালানো যায় তার কোনও নির্দেশনা নেই।
  • কী দিকগুলি থেকে কাজ করা যায় আশা করা যায় তার কোনও ডকুমেন্টেশন নেই।
  • প্রোগ্রামটি কী করে বা করবে তা সম্পর্কে অস্পষ্ট বর্ণনা।
  • কোনও কার্যকারিতা প্রদর্শনের অভাব।

শেষ পয়েন্টের জন্য, আমি এই জাতীয় বিষয়গুলি নিয়ে ভাবছি:

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

এই ধরণের সমস্যাগুলি এমন একটি "বাষ্পওয়্যার" চিত্রকে leণ দেয় যা কাঁপানো কঠিন হতে পারে যদি না আপনি কাজ করার কোডের অভাব সম্পর্কে খুব বেশি খোলেন না unless

অবশেষে, আপনার সংস্করণ সংখ্যাগুলি বোঝায়। আপনার প্রকল্পটিকে "1.0" কল করবেন না যতক্ষণ না এটি ব্যবহারকারীরা ক্রাশ না করে যা আশা করে তা না করে। প্রাথমিক পাবলিক রিলিজের জন্য "0.5" এর আশেপাশের সংস্করণ সংখ্যাগুলি ব্যবহার করার এবং সেখান থেকে যাওয়ার জন্য আমি সবসময় ভাগ্য পেয়েছি, তবে আমি "0.1" বা "0.10" এর মতো জিনিসগুলিও দেখেছি যা বোঝায়।


1

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

এই জাতীয় লাইসেন্সের অধীনে একটি বৈশিষ্ট হ'ল জাভা ল্যাঙ্গুয়েজ স্পেসিফিকেশন । এই সীমাবদ্ধতা JVM এর সাথে সামঞ্জস্যপূর্ণ ভার্চুয়াল মেশিনগুলির বিকাশকারীদের ক্ষেত্রে প্রযোজ্য, তবে ভাগ্যক্রমে JVM- এ চালিত অ্যাপ্লিকেশনগুলির বিকাশকারীদের ক্ষেত্রে তা নয়।

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


2
এটি কেবল তখনই জরুরী যদি আপনি জেআরই / জেডিকে বাস্তবায়ন তৈরি করতে চান, কোনও জাভা প্রোগ্রাম নয় যা এটি চালাচ্ছে, এএফআইএকি।
sjas

@ এসজেস আপনি কি বোঝানোর চেষ্টা করছেন যে জেএলএসই কেবল এমন এক অনুমানের মুখোমুখি হতে পারে যার মধ্যে "সম্পূর্ণ বা এটি নিজের কাছে রাখার" এই বিধিনিষেধ রয়েছে?
দামিয়ান ইয়ারিক

আপনি বোঝানোর চেষ্টা করছেন যে আমি এটি বোঝাচ্ছি। ;)
sjas

@ জাজাস ধন্যবাদ এই উত্তরটি কার্যকর করার মতো অন্য কোনও উপায় আছে কি?
দামিয়ান ইয়ারিক

আমি বিটিডাব্লু কে ডাউনভোট করিনি। আমি ইতিমধ্যে আপনার উত্তরটি পড়ার সময় আমার যে ভুল বোঝাবুঝি হয়েছিল তা ইতিমধ্যে মুছে ফেলেছি। আপনি যদি কিছু পরিবর্তন করতে চান তবে আপনি এটি আপনার পোস্টে অন্তর্ভুক্ত করতে পারেন।
sjas
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.