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

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

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

FOSS به عنوان یک تجربه یادگیری؟

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

و بنابراین ، اولین تلاش من یک پروژه واقعی FOSS نبود ، زیرا من در آن زمان مجوز گنجانده نشده بودم. با این وجود ، من منبع را منتشر کردم ، بنابراین مطمئناً این نرم افزار منبع باز بود. من آن را با یک زن و شوهر غریبه در QuakeNet به اشتراک گذاشتم ، با پیامی که می گوید چیزی شبیه به "به این VBScript عالی که انجام دادم نگاه کنید! هر گونه بازخورد؟ ".

در ضمن ، من احتمالاً خوش شانس بودم كه مردم بلافاصله به من نخنديدند ، كه اين اتفاق ممكن است در اينترنت بسيار سريع رخ دهد ، زيرا اين امر كاملاً حائز اهميت بود. و در حالی که هیچ خنده‌ای به من نرسید ، من هم هیچ بازخورد سازنده ای دریافت نکردم ، تنها چیزی که دریافت کردم یک زن و شوهر از "اوه ، این عالی است" است.

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

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

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

همکاری با دیگران؟

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

پروژه های من در GitHub دارای صفر ستاره ، ناظر صفر و دنبال کننده صفر هستند. من این نکته را تأکید می کنم تا این نکته را بیان کنم که اگر شما کد خود را به روی عموم بکشید ، احتمالاً هیچ کس اهمیتی نمی دهد . برای اکثر پروژه های خارج از کشور ، هیچ کس هرگز به آن نگاه نمی کند و فکر می کند "اوه ، این کد کارهایی را انجام می دهد که من می خواهم ، بیایید از آن استفاده کنیم" یا "اوه ، نمی دانم که چگونه آنها XYZ را پیاده سازی کرده اند ، بیایید بررسی کنیم ، شاید من یاد بگیرم. از کار آنها "، یا حتی شروع به مشارکت کنید. در واقعیت ، بسیاری از پروژه های خارج از کشور وجود دارد ، و کشف برای یک مخزن تنها واقعاً کم است. در حالی که همیشه این احتمال وجود دارد که کسی پروژه شما را بطور تصادفی کشف کند ، این برای پروژه متوسط ​​شما غیرممکن است.

همکاری با دیگران سرگرم کننده است ، و راهی عالی برای بهبود مهارت های شما است. نه تنها بررسی های کد (هر دو دریافت بررسی از دیگران ، و بررسی کد افراد دیگر) مهارت های برنامه نویسی شما را تقویت می کنند ، همکاری همچنین باعث بهبود چشمگیری در ارتباطات و مهارت های مدیریت پروژه خواهد شد. من فکر می کنم شما واقعاً باید با دیگران همکاری کنید ، اما برای رسیدن به آن هدف نیازی به کار روی پروژه های FOSS ندارید. درعوض ، می توانید از برخی دوستان بپرسید که آیا آنها می خواهند با هم در یک پروژه کار کنند. شما ممکن است این مسئله را بسیار ساده تر بدانید ، زیرا قبلاً افرادی را که می خواهید با آنها کار کنید ، می شناسید.

اشتراک دانش و اطلاعات؟

یکی دیگر از دلایل محبوب برای افرادی که کد خود را به عموم هل می دهند ، فکر اشتراک دانش و اطلاعات با

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

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

"اما هیچ گونه ضرری در انتشار کد شما وجود ندارد!" [19659005] با تمام آنچه گفته شد ، باز هم می توان ادعا كرد كه این نكات واقعاً اهمیتی ندارند و به هر حال باید در فضای باز كار كرد زیرا هیچ ضرری در انجام این كار وجود ندارد. با آن ، من مجبورم مخالف باشم.

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

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

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

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

در پایان

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

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

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

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