คุณลักษณะ TensorFlow ใหม่ทุกรายการจะเริ่มต้นชีวิตด้วยการร้องขอความคิดเห็น (RFC)
RFC คือเอกสารที่อธิบายข้อกำหนดและการเปลี่ยนแปลงที่เสนอซึ่งจะแก้ไขได้ โดยเฉพาะ RFC จะ:
- จัดรูปแบบตาม เทมเพลต RFC
- ส่งเป็นคำร้องขอดึงไปยังไดเร็กทอรี community / rfcs
- ต้องมีการอภิปรายและการประชุมทบทวนก่อนที่จะยอมรับ
จุดประสงค์ของ TensorFlow Request for Comments (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 ตัวอย่างเช่นโปรดดู ตัวอย่าง RFC นี้ รวมการจัดการ GitHub ของผู้เขียนร่วมผู้ตรวจสอบและผู้สนับสนุน
ที่ด้านบนของ PR ระบุระยะเวลาแสดงความคิดเห็น ขั้นตอนนี้ควรใช้เวลา อย่างน้อยสองสัปดาห์ นับจากโพสต์ประชาสัมพันธ์
ส่งอีเมลถึงรายชื่ออีเมลของนักพัฒนาที่มีคำอธิบายสั้น ๆ ลิงก์ไปยัง PR และคำขอให้ตรวจสอบ ทำตามรูปแบบของการส่งจดหมายก่อนหน้านี้ดังที่คุณเห็นใน ตัวอย่าง นี้
ผู้สนับสนุนจะขอให้มีการประชุมคณะกรรมการตรวจสอบไม่ช้ากว่าสองสัปดาห์หลังจากโพสต์ RFC PR หากการอภิปรายเป็นไปอย่างมีชีวิตชีวาให้รอจนกว่าจะได้ข้อยุติก่อนจึงจะตรวจสอบได้ เป้าหมายของการประชุมทบทวนคือการแก้ไขปัญหาเล็กน้อย ฉันทามติควรได้รับการแก้ไขในประเด็นสำคัญล่วงหน้า
ที่ประชุมอาจอนุมัติ RFC ปฏิเสธหรือต้องการการเปลี่ยนแปลงก่อนที่จะพิจารณาอีกครั้ง RFC ที่ได้รับการอนุมัติจะรวมเข้ากับ ชุมชน / rfcs และ RFC ที่ถูกปฏิเสธจะปิด PR
ผู้เข้าร่วม 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 ถามคำถามและหารือเกี่ยวกับแนวทางก่อนเริ่มงาน
- คุณลักษณะใหม่ต้องมีการทดสอบหน่วยใหม่ที่ตรวจสอบว่าคุณลักษณะทำงานได้ตามที่คาดไว้ เป็นความคิดที่ดีที่จะเขียนการทดสอบเหล่านี้ก่อนเขียนโค้ด
- ทำตาม TensorFlow Code Style Guide
- เพิ่มหรืออัปเดตเอกสารประกอบ API ที่เกี่ยวข้อง อ้างอิง RFC ในเอกสารใหม่
- ปฏิบัติตามแนวทางอื่น ๆ ที่ระบุไว้ในไฟล์
CONTRIBUTING.md
ใน repo โปรเจ็กต์ที่คุณร่วมให้ข้อมูล - เรียกใช้การทดสอบหน่วยก่อนส่งรหัสของคุณ
- ทำงานร่วมกับผู้สนับสนุน RFC เพื่อให้ได้รหัสใหม่สำเร็จ
รักษาบาร์ให้สูง
ในขณะที่เราให้กำลังใจและเฉลิมฉลองผู้มีส่วนร่วมทุกคน แต่ขีด จำกัด สำหรับการยอมรับ RFC ก็ยังคงอยู่ในระดับสูง คุณลักษณะใหม่อาจถูกปฏิเสธหรือต้องการการแก้ไขอย่างมีนัยสำคัญในขั้นตอนใดขั้นตอนหนึ่งต่อไปนี้:
- เริ่มต้นการออกแบบการสนทนาในรายชื่ออีเมลที่เกี่ยวข้อง
- ไม่สามารถรับผู้สนับสนุน
- การคัดค้านที่สำคัญในช่วงข้อเสนอแนะ
- ล้มเหลวในการบรรลุฉันทามติในระหว่างการตรวจสอบการออกแบบ
- ความกังวลที่เกิดขึ้นในระหว่างการใช้งาน (ตัวอย่างเช่น: ไม่สามารถบรรลุความเข้ากันได้แบบย้อนกลับความกังวลเกี่ยวกับการบำรุงรักษา)
หากกระบวนการนี้ทำงานได้ดี RFCs คาดว่าจะล้มเหลวในขั้นตอนก่อนหน้าแทนที่จะเป็นในภายหลัง RFC ที่ได้รับการอนุมัติไม่ได้รับประกันความมุ่งมั่นในการนำไปใช้และการยอมรับการใช้งาน RFC ที่เสนอยังคงอยู่ภายใต้กระบวนการตรวจสอบโค้ดตามปกติ
หากคุณมีคำถามใด ๆ เกี่ยวกับกระบวนการนี้ อย่า ลังเลที่จะถามในรายชื่อส่งเมลของนักพัฒนาหรือส่งปัญหาใน เทนซอร์โฟลว์ / ชุมชน