هر ویژگی جدید TensorFlow زندگی خود را به عنوان درخواست نظر (RFC) آغاز می کند.
RFC سندی است که توصیف یک نیاز و تغییرات پیشنهادی برای حل آن است. به طور خاص ، RFC:
- طبق الگوی RFC قالب بندی شود .
- به عنوان درخواست جلب به فهرست جامعه / rfcs ارسال شود .
- قبل از پذیرش ، موضوع بحث و جلسه بررسی باشد.
هدف از درخواست TensorFlow برای نظرات (RFC) این است که جامعه TensorFlow را با توسعه بازخورد از طرف ذینفعان و کارشناسان ، و ایجاد تغییرات گسترده در زمینه طراحی ، درگیر توسعه کنید.
نحوه ارائه RFC
قبل از ارسال RFC ، اهداف خود را با همکاران پروژه و نگهدارندگان در میان بگذارید و بازخورد اولیه را دریافت کنید. از لیست پستی توسعه دهنده برای پروژه مورد نظر استفاده کنید (developers@tensorflow.org یا لیست SIG مربوطه).
RFC خود را تهیه کنید.
- معیارهای بررسی طرح را بخوانید
- الگوی RFC را دنبال کنید.
- پرونده RFC خود را
YYYYMMDD-descriptive-name.md
، جایی کهYYYYMMDD
تاریخ ارسال است وdescriptive-name
مربوط به عنوان RFC شماست. (به عنوان مثال ، اگر RFC شما عنوان Parallel Widgets API است ، شما می توانید از نام پرونده20180531-parallel-widgets.md
استفاده کنید. - اگر تصاویر یا پرونده های کمکی دیگری دارید ، یک دایرکتوری از فرم
YYYYMMDD-descriptive-name
ایجاد کنید تا آن پرونده ها را در آن ذخیره کنید.
پس از نوشتن پیش نویس RFC ، پیش از ارسال آن ، از نگهدارندگان و مشارکت کنندگان بازخورد بگیرید.
نوشتن کد پیاده سازی الزامی نیست ، اما ممکن است به طراحی مباحث کمک کند.
استخدام اسپانسر.
- یک حامی مالی باید نگهدارنده پروژه باشد.
- قبل از ارسال روابط عمومی ، اسپانسر را در RFC شناسایی کنید.
شما می توانید RFC بدون اسپانسر ارسال کنید ، اما اگر ظرف یک ماه پس از ارسال PR هنوز اسپانسری نباشد ، بسته خواهد شد.
RFC خود را به عنوان درخواست جلب به tensorflow / community / rfcs ارسال کنید .
با استفاده از Markdown ، جدول سرصفحه و محتویات بخش Objective را در نظر درخواست درخواست خود وارد کنید. برای مثال ، لطفاً این مثال RFC را ببینید . دسته های نویسندگان ، بازرسان و حامیان مالی GitHub را در آن بگنجانید.
در بالای روابط عمومی مشخص کنید که دوره نظرات چه مدت طول می کشد. از ارسال روابط عمومی باید حداقل دو هفته طول بکشد .
لیست پست الکترونیکی توسعه دهنده را با توضیح مختصر ، پیوند به روابط عمومی و درخواست بررسی از طریق ایمیل ارسال کنید. همانطور که در این مثال مشاهده می کنید ، قالب نامه های قبلی را دنبال کنید.
حامی مالی درخواست جلسه کمیته بازبینی را نمی کند ، زودتر از دو هفته پس از ارسال روابط عمومی RFC. اگر بحث پر جنب و جوش است ، قبل از بررسی صبر کنید تا حل شود. هدف از جلسه بررسی حل و فصل مسائل جزئی است. باید قبلاً در مورد موضوعات اصلی اتفاق نظر حاصل شود.
جلسه ممکن است RFC را تأیید کند ، آن را رد کند ، یا نیاز به تغییراتی دارد تا دوباره مورد بررسی قرار گیرد. RFC های تأیید شده در انجمن / rfc ها ادغام می شوند و RFC های رد شده PRs بسته می شوند.
شرکت کنندگان RFC
افراد زیادی در روند RFC درگیر هستند:
نویسنده RFC - یک یا چند عضو انجمن که RFC می نویسند و متعهد هستند که از طریق آن قهرمان شوند
حامی RFC - نگهدارنده ای که RFC را حمایت مالی می کند و از طریق فرآیند بررسی RFC آن را شبان می دهد
کمیته بررسی - گروهی از نگهدارندگان که وظیفه توصیه تصویب RFC را دارند
هر عضو انجمن ممکن است با ارائه بازخورد در مورد اینکه آیا RFC نیازهای او را برآورده می کند ، کمک کند.
حامیان مالی RFC
حامی مالی یک نگهدارنده پروژه است که مسئول اطمینان از بهترین نتیجه ممکن از روند RFC است. این شامل:
- طرفدار طرح پیشنهادی.
- راهنمایی RFC برای پایبندی به طراحی و سبک های موجود.
- راهنمایی کمیته بررسی برای رسیدن به یک اجماع سازنده.
- اگر کمیته بررسی تغییراتی را درخواست کرد ، از انجام آنها اطمینان حاصل کنید و تأیید بعدی اعضای کمیته را بگیرید.
- اگر RFC به مرحله اجرا برسد:
- اطمینان از پیوستن به پیاده سازی پیشنهادی به طرح.
- برای موفقیت در اجرای زمین با احزاب مناسب هماهنگ شوید.
کمیته های بررسی RFC
کمیته بررسی بر اساس یک اتفاق نظر در مورد تصویب ، رد یا درخواست تغییرات تصمیم می گیرد. آنها مسئول این موارد هستند:
- اطمینان از اینکه موارد اساسی بازخورد عمومی حساب شده است.
- یادداشت های جلسه خود را به عنوان نظر به روابط عمومی اضافه کنید.
- ارائه دلایل برای تصمیمات آنها
اساسنامه کمیته بررسی ممکن است با توجه به سبک خاص حاکمیت و رهبری هر پروژه تغییر کند. برای TensorFlow اصلی ، کمیته متشکل از مشارکت کنندگان در پروژه TensorFlow است که در زمینه دامنه مورد نظر تخصص دارند.
اعضای جامعه و روند RFC
هدف RFC این است که اطمینان حاصل شود جامعه به خوبی نشان داده شده و توسط تغییرات جدید در TensorFlow ارائه می شود. این وظیفه اعضای جامعه است که در بررسی RFC ها در مواردی که علاقه مند به نتیجه هستند ، شرکت کنند.
اعضای جامعه که به RFC علاقه مند هستند باید:
- در اسرع وقت بازخورد ارائه دهید تا زمان کافی برای بررسی فراهم شود.
- قبل از ارائه بازخورد RFC ها را به طور کامل بخوانید .
- مدنی و سازنده باشید.
پیاده سازی ویژگی های جدید
پس از تأیید RFC ، اجرای آن می تواند آغاز شود.
اگر در حال کار روی کد جدید برای اجرای RFC هستید:
- اطمینان حاصل کنید که این ویژگی و طراحی مورد تایید RFC را درک کرده اید. قبل از شروع کار س Askال کنید و درباره این روش بحث کنید.
- ویژگی های جدید باید شامل تست های واحد جدید باشد که ویژگی را مطابق انتظار تأیید می کند. بهتر است قبل از نوشتن کد ، این تست ها را بنویسید.
- راهنمای سبک کد TensorFlow را دنبال کنید
- مستندات مربوط به API را اضافه یا به روز کنید. در اسناد جدید به RFC مراجعه کنید.
- هر دستورالعمل دیگری را که در فایل
CONTRIBUTING.md
در نسخه نمایشی پروژه ای که به آن کمک می کنید ، ارائه دهید. - قبل از ارسال کد ، تست های واحدی را اجرا کنید.
- با همکاری حامی مالی RFC کد موفقیت آمیز کد جدید را وارد کنید.
بالا نگه داشتن میله
در حالی که ما هر مشارکت کننده را تشویق و جشن می گیریم ، نوار پذیرش RFC عمداً بالا نگه داشته می شود. ویژگی جدید ممکن است در هر یک از این مراحل رد شود یا نیاز به تجدید نظر داشته باشد:
- مکالمات طراحی اولیه در لیست پستی مربوطه.
- عدم جذب اسپانسر.
- اعتراضات انتقادی در مرحله بازخورد.
- عدم دستیابی به اتفاق نظر در هنگام بررسی طراحی.
- نگرانی های مطرح شده در حین اجرا (به عنوان مثال: عدم توانایی در دستیابی به سازگاری معکوس ، نگرانی در مورد نگهداری).
اگر این روند به خوبی کار کند ، انتظار می رود RFC ها در مراحل زودتر و نه دیرتر از کار بیفتند. RFC تأیید شده تضمینی برای تعهد به اجرا نیست و پذیرش اجرای پیشنهادی RFC هنوز منوط به روند معمول بررسی کد است.
اگر در مورد این فرآیند س questionsالی دارید ، در صورت تمایل در لیست پستی توسعه دهندگان س askال کنید یا مسئله ای را در tensorflow / community ثبت کنید .