چیزی که من به عنوان یک دانشجوی کالج در اجرای یک پروژه متن باز یاد گرفتم

منتشر‌شده در: towardsdatascience به تاریخ ۲۷ سپتامبر ۲۰۲۰
لینک منبع: What I learned as a college student running a large open-source project

اسم من پالاش شاه است، و من نویسنده لیبرا هستم: یک کتابخانه یادگیری ماشین که به شما اجازه می‌دهد تا مدل‌ها را تنها در یک خط کد بسازید و آموزش دهید. من دانشجوی دوره کارشناسی دانشگاه ویرجینیا نیز هستم.

سفر من در جامعه متن باز به عنوان یک دانشجوی عادی دانشگاه شروع شد-من بعد از کلاس در خوابگاه روی کتابخانه‌ام کار می‌کردم. با این حال به سرعت به چیزی بسیار بزرگ‌تر از آن تبدیل شد و در یک ماه از ۰ به ۲۰۰۰ ستاره رسید. ناگهان از آن در دانشگاه‌هایی مانند کارنگی ملون و MIT در چندین کلاس یادگیری ماشینی استفاده می‌شد.

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

با اعضای تیم خود به صورت برابر رفتار کنید.

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

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

کاری کنید که هر شرکت‌کننده یا عضو تیم احساس کند بخشی از ماموریت است.

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

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

اجازه دهید همه بدون توجه به تجربه، درگیر شوند.

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

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

منابع دیگر تبلیغات را بیابید.

تبلیغات خود را محدود به شبکه‌های اجتماعی نکنید. چند روش کم‌تر محبوب برای جلب توجه به پروژه GitHub شما وجود دارد. همکاران و یا افرادی که می‌شناسید را تشویق کنید که مطالب متوسط و یا مطالب مرتبط با کار شما را در سایت‌های انتشار محتوا بنویسند. به طور شخصی، لیبرا حدود یک هفته در سایت madewithml.com ترند شماره ۱ بود و این موضوع باعث شد توجه زیادی به آن جلب شود و در نتیجه بسیار به ما کمک کرد. این کار ممکن است ذاتا کشش را افزایش ندهد-حداقل برای من نبود. با این حال کاری که انجام داد این بود که پروژه من به اندازه کافی ستاره / بازدید برای رسیدن به صفحه ترندهای GitHub، آورد.

هر جلسه‌ای، هر گفتگویی، بدون توجه به اینکه چه کسی درخواست می‌کند را برگزار کنید.

وقتی پروژه شما شروع به جلب توجه می‌کند، افرادی هستند که می‌خواهند هم به صورت حرفه‌ای با شما صحبت کنند، و هم تنها می‌خواهند فردی که پشت نرم‌افزار هست را بشناسند. به این جلسات به نفع خود نگاه نکنید-روند فکری شما نباید این باشد که «من از این جلسه چه چیزی می‌توانم به دست بیاورم». نیروهای این دنیا به روش‌های عجیب و غریبی کار می‌کنند، شما هرگز نمی‌دانید که چگونه یک فرد تصادفی که در لینکدین ملاقات کرده‌اید می‌تواند به شما کمک کند تا به پیشرفت بعدی خود برسید. همه به من می‌گفتند که ارتباطات به طور کلی بر توانایی‌های شخصی تاثیر می‌گذارد و من بارها و بارها در اجرای لیبرا شاهد آن بودم.

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

از افراد درست و با تجربه، مشورت بگیرید.

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

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

تا جای ممکن صحبت کنید.

اولین مجموعه کاربرانی که به پروژه شما علاقمند می‌شوند از همه مهم‌تر هستند. این‌ها توسعه دهندگان و اعضای جامعه‌ای هستند که به طور مداوم به دنبال پروژه‌های جدید خارج از منافع هستند. آن‌ها کسانی هستند که در مورد کار شما به دوستان خود خواهند گفت، در مورد آن در وب سایت‌های ارتباط جمعی پست می‌کنند، و مقالاتی در مورد آنچه شما خلق کرده‌اید، می‌نویسند. روشی که من این کاربران را پیدا کردم از طریق جامعه ملاقات (meetup) است، جایی که من گروه‌های خود را به چندین گروه ارائه کردم. چند ماه اول، من ۳-۴ ملاقات انجام دادم، و تا به امروز، فعال‌ترین کاربران آن‌هایی هستند که در این ملاقات‌ها پیدا کردم. روشی که من با آن درگیر شدم بسیار ساده است: من به سادگی به یکی از باحال‌ترین گروه‌هایی که می‌توانستم پیدا کنم، پیوستم - مثل Your Data Talks - و به صورت مستقیم با صاحبان آن در این پلتفرم گفتگو کردم. همه نسبت به صحبت کردن افراد مختلف کاملا پذیرا هستند و بنابراین انجام این کار بسیار راحت بود.

حضور اجتماعی خود را نشان دهید.

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

من در حال حاضر بر روی ایجاد پروفایل توییترم کار می‌کنم:).

خیلی زود شروع به عمومی‌سازی نکنید.

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

من کسی نیستم که منتظر بمانم. به محض اینکه چیزی خلق می‌کنم می‌خواهم آن را به اشتراک بگذارم و به همه اطلاع دهم. اما انتظار برای اعلام عمومی کار بسیار مهم است.

نتیجه‌گیری

من اطلاعاتی در مورد اجرای یک پروژه بزرگ متن باز به شما ارائه دادم. با اینکه ممکن است همه چیز را پوشش نداده باشم، اما اینها مهم‌ترین نکاتی هستند که در طول چند ماه گذشته یاد گرفته‌ام.

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