6 درسی که از توسعه پروژه های منبع باز آموختم

دیدگاه یک دانشمند داده

منبع باز یک مفهوم شگفت انگیز است! با جمع کردن منابع، مهارت‌ها و دانش کل یک جامعه، می‌توان ابزارهایی ایجاد کرد که نمی‌توانستیم به تنهایی آن‌ها را بسازیم. ابزارهایی که از این همکاری‌ها به دست می‌آیند واقعاً بیشتر از مجموع بخش‌های آنهاست.

در نتیجه، ما دانشمندان داده از این نرم‌افزار رایگان در دسترس استفاده می‌کنیم که بسیاری از فناوری‌ها را هدایت می‌کند و در عین حال فرصت مشارکت در توسعه آن را داریم.

در طول چند سال گذشته، من به اندازه کافی خوش شانس بودم که در متن باز مشارکت داشتم و این فرصت را داشتم که چندین بسته را توسعه و اصلی کنم!

توسعه متن باز فراتر از کدنویسی است

در طول این مدت، موانع زیادی برای غلبه بر وجود داشت و درس هایی برای آموختن وجود داشت. از وابستگی های پیچیده و انتخاب های طراحی API گرفته تا ارتباط با پایگاه کاربر.

کار بر روی منبع باز، چه به عنوان نویسنده، چه نگهدارنده یا توسعه دهنده، می تواند بسیار دلهره آور باشد! با این مقاله، من برخی از تجربیات خود را در این زمینه به اشتراک می‌گذارم که امیدواریم به کسانی که مایل به توسعه متن باز هستند کمک کند.

وقتی نرم افزار منبع باز ایجاد می کنید، معمولاً بسته را منحصراً برای خود نمی سازید. کاربران با انواع پس زمینه های مختلف از نرم افزار شما استفاده خواهند کرد. اسناد و مدارک مناسب راه درازی در کمک به این کاربران برای شروع به کار می کند.

با این حال، تأثیر اسنادی که می‌تواند بر قابلیت استفاده از بسته شما داشته باشد را دست کم نگیرید! می‌توانید از آن برای توضیح الگوریتم‌های پیچیده، ارائه آموزش‌های گسترده، نمایش موارد استفاده و حتی اجازه دادن به مثال‌های تعاملی استفاده کنید.

به خصوص نرم‌افزارهای مرتبط با علم داده زمانی که شامل الگوریتم‌های پیچیده باشد، می‌تواند دشوار باشد. نزدیک شدن به این توضیحات مانند یک داستان اغلب به من کمک می کند تا آنها را شهودی تر کنم.

به من اعتماد کنید، نوشتن مستندات خوب به خودی خود یک مهارت است.

مزیت دیگر این است که نوشتن اسناد محکم زمان صرف شده برای مسائل را کاهش می دهد. اگر کاربران بتوانند پاسخ ها را در اسناد شما بیابند، دلیل کمتری برای پرسیدن سؤال وجود دارد.

مروری بر چگونگی کیبرت آثار در اسناد یافت می شود.

با این حال، ایجاد مستندات چیزی بیش از نوشتن آن است. تجسم الگوریتم یا نرم‌افزار شما به شهودی شدن آن کمک زیادی می‌کند. شما می توانید خیلی چیزها را از جی علممار زمانی که می خواهید اصول الگوریتمی را در مستندات خود تجسم کنید. تجسم های او حتی به مقام رسمی ختم شد نازک مستندات!

پایگاه کاربر شما، جامعه، جزء مهم نرم افزار شما است. از آنجایی که ما در حال توسعه متن باز هستیم، به جرات می توان گفت که می خواهیم آنها در توسعه مشارکت داشته باشند.

با تعامل با جامعه، آنها را به اشتراک گذاشتن مشکلات و اشکالات، و همچنین ارائه درخواست های ویژه و ایده های عالی برای توسعه بیشتر تشویق می کنید! همه اینها به ایجاد چیزی برای آنها کمک می کند.

جامعه منبع باز واقعاً بیشتر از مجموع اجزای آن است

بسیاری از ویژگی های اصلی در BERTopic، مانند مدل سازی موضوع آنلاین، از زمانی که به شدت توسط کاربران آن درخواست شده است، پیاده سازی شده است. در نتیجه، انجمن کاملاً فعال است و کمک بزرگی در شناسایی مشکلات و توسعه ویژگی‌های جدید بوده است.

پیاده‌سازی درخواست‌های ویژگی توسط جامعه راه طولانی را طی می‌کند! گزیده ای از بحث اینجا کلیک نمایید.

صرف نظر از اینکه بسته شما میلیون ها بار استفاده خواهد شد یا فقط چند مورد، ایجاد یک فرصت عالی برای کسب اطلاعات بیشتر در مورد منبع باز، MLOps، تست واحد، طراحی API و غیره است. من در مورد این مهارت ها در توسعه منبع باز اطلاعات بیشتری کسب کرده ام. از آنچه در کار روزمره ام داشتم.

همچنین یک فرصت یادگیری بزرگ از تعامل با خود جامعه وجود دارد. آنها کسانی هستند که به شما می گویند کدام طرح ها را دوست دارند یا نه. گاهی اوقات، من چندین بار در طول چند ماه مشاهده کرده‌ام که یک مشکل مشابه ظاهر می‌شود. این نشان می دهد که من باید در مورد طراحی تجدید نظر کنم زیرا آنطور که پیش بینی می کردم کاربر پسند نبود!

علاوه بر آن، توسعه پروژه‌های متن‌باز این فرصت را به من داد تا با توسعه‌دهندگان دیگر همکاری کنم.

کار بر روی پروژه های منبع باز خود خارج از محل کار، معایبی دارد. برای من، مهمترین مورد این است که حفظ بسته، پاسخ دادن به سؤالات و شرکت در بحث ها می تواند کار بسیار زیادی باشد.

اگر ذاتاً انگیزه داشته باشید قطعاً به شما کمک می کند، اما هنوز مدتی طول می کشد تا مطمئن شوید همه چیز با هم برگزار می شود.

خوشبختانه، می‌توانید در هنگام پاسخ دادن به سؤالات، نمایش موارد استفاده و غیره به جامعه خود نگاه کنید تا به شما کمک کند.

در طول چند سال گذشته، یاد گرفتم که در مورد تغییر تغییرات کمی آرام‌تر باشم. مخصوصاً وقتی به وابستگی ها مربوط می شود، گاهی اوقات کارهای زیادی می توانید انجام دهید!

دانستن تعداد دفعات استفاده از بسته شما کمک بزرگی به درک میزان محبوبیت آن است. با این حال، بسیاری هنوز از ستاره های Github استفاده می کنند تا یک بسته را با کیفیت و محبوبیت برابری کنند.

مطمئن شوید که متریک مناسب را تعریف کنید. ستاره های GitHub را می توان صرفاً به دلیل بازاریابی مناسب اغراق کرد. بسیاری از ستاره ها به معنای محبوبیت نیستند.

به عنوان دانشمندان داده، ابتدا باید بفهمیم که دقیقاً چه چیزی را اندازه می‌گیریم. ستاره‌های GitHub چیزی جز ستاره دادن یک کاربر به یک بسته نیستند. حتی به این معنی نیست که آنها از نرم افزار استفاده کرده اند یا واقعاً کار می کند!

تعداد بارگیری برای KeyBERT. یک شاخص بسیار بهتر از ستاره های Github.

از نظر فنی، می توانم به هزار نفر برای ستاره دار کردن مخازن خود پول بدهم. درعوض، من روی آمارهای مختلفی مانند دانلودها و فورک‌ها تمرکز می‌کنم، اما همچنین بر تعداد مشکلاتی که روزانه دریافت می‌کنم تمرکز می‌کنم.

به عنوان مثال، اگر بسته های شما بر روی آنها نمایش داده شود، عالی است اخبار هکر اما به شما نمی گوید که آیا به طور مداوم استفاده می شود یا خیر.

من به عنوان یک روانشناس، تمایل زیادی به طراحی بسته هایم دارم. این شامل مواردی مانند مستندات و آموزش‌ها می‌شود، اما حتی به نحوه کدنویسی من نیز ترجمه می‌شود.

اطمینان از اینکه بسته برای استفاده و نصب آسان است، پذیرش را بسیار ساده تر می کند. به خصوص هنگامی که شما بر روی فلسفه های طراحی مانند مدولار بودن و شفافیت تمرکز می کنید، برخی از بسته ها تبدیل به یک انفجار برای استفاده می شوند.

طراحی مدولار مدل سازی موضوع با BERTopic.

در نظر گرفتن دیدگاه یک روانشناس در حالی که ویژگی های جدید را توسعه می دهد، دانستن اینکه روی چه چیزی تمرکز کنید بسیار آسان تر شده است. کاربران به دنبال چه هستند؟ چگونه می توانم به گونه ای کدنویسی کنم که الگوریتم را توضیح دهد؟ چرا کاربران واقعا از این بسته استفاده می کنند؟ معایب اصلی کد من چیست؟

صرف زمان برای درک میانگین کاربر باعث پذیرش می شود

همه موارد فوق اغلب به یک قانون اساسی اما مهم منجر می شود.
آن را فوق العاده ساده نگه دارید

شخصاً، اگر نصب و استفاده از یک بسته جدید برایم مشکل باشد، کمتر احتمال دارد آن را در جریان کاری خود بپذیرم.

اگر شما نیز مانند من علاقه مند به هوش مصنوعی، علم داده یا روانشناسی هستید، لطفاً مرا به این موضوع اضافه کنید. لینک یا مرا دنبال کنید توییتر. شما همچنین می توانید برخی از مطالب من را در من پیدا کنید وب سایت شخصی.

همه تصاویر بدون اعتبار منبع توسط نویسنده ایجاد شده است

6 درسی که از توسعه پروژه‌های منبع باز یاد گرفتم از منبع بازنشر شده https://towardsdatascience.com/6-lessons-i-learned-from-developing-open-source-projects-4617e26f247c?source=rss—-7f60cf5620c https://towardsdatascience.com/feed

<!–

->

تمبر زمان:

بیشتر از مشاوران بلاک چین