กระบวนการ TensorFlow RFC

คุณลักษณะ TensorFlow ใหม่ทุกรายการจะเริ่มต้นชีวิตด้วยการร้องขอความคิดเห็น (RFC)

RFC คือเอกสารที่อธิบายข้อกำหนดและการเปลี่ยนแปลงที่เสนอซึ่งจะแก้ไขได้ โดยเฉพาะ RFC จะ:

  • จัดรูปแบบตาม เทมเพลต RFC
  • ส่งเป็นคำร้องขอดึงไปยังไดเร็กทอรี community / rfcs
  • ต้องมีการอภิปรายและการประชุมทบทวนก่อนที่จะยอมรับ

จุดประสงค์ของ TensorFlow Request for Comments (RFC) คือการมีส่วนร่วมกับชุมชน TensorFlow ในการพัฒนาโดยรับข้อเสนอแนะจากผู้มีส่วนได้ส่วนเสียและผู้เชี่ยวชาญและสื่อสารการเปลี่ยนแปลงการออกแบบในวงกว้าง

วิธีการส่ง RFC

  1. ก่อนที่จะส่ง RFC ให้พูดคุยเกี่ยวกับจุดมุ่งหมายของคุณกับผู้สนับสนุนโครงการและผู้ดูแลและรับคำติชมล่วงหน้า ใช้รายชื่ออีเมลของนักพัฒนาสำหรับโครงการที่เกี่ยวข้อง (developers@tensorflow.org หรือรายการสำหรับ SIG ที่เกี่ยวข้อง)

  2. ร่าง RFC ของคุณ

    • อ่าน เกณฑ์การทบทวนการออกแบบ
    • ทำตาม เทมเพลต RFC
    • ตั้งชื่อไฟล์ RFC ของคุณ YYYYMMDD-descriptive-name.md โดยที่ YYYYMMDD คือวันที่ส่งและ descriptive-name ความหมายเกี่ยวข้องกับชื่อของ RFC ของคุณ (ตัวอย่างเช่นหาก RFC ของคุณมีชื่อว่า Parallel Widgets API คุณอาจใช้ชื่อไฟล์ 20180531-parallel-widgets.md
    • หากคุณมีอิมเมจหรือไฟล์เสริมอื่น ๆ ให้สร้างไดเร็กทอรีในรูปแบบ YYYYMMDD-descriptive-name เพื่อจัดเก็บไฟล์เหล่านั้น

    หลังจากเขียนร่าง RFC แล้วให้รับคำติชมจากผู้ดูแลและผู้ร่วมให้ข้อมูลก่อนส่ง

    การเขียนโค้ดการใช้งานไม่ใช่ข้อกำหนด แต่อาจช่วยออกแบบการอภิปรายได้

  3. รับสมัครสปอนเซอร์.

    • ผู้สนับสนุนจะต้องเป็นผู้ดูแลโครงการ
    • ระบุผู้สนับสนุนใน RFC ก่อนโพสต์ประชาสัมพันธ์

    คุณ สามารถ โพสต์ RFC ได้โดยไม่ต้องมีผู้สนับสนุน แต่หากภายในหนึ่งเดือนหลังจากโพสต์ PR ยังไม่มีผู้สนับสนุนจะถูกปิด

  4. ส่ง RFC ของคุณเป็นคำขอดึงไปยัง tensorflow / community / rfcs

    รวมตารางส่วนหัวและเนื้อหาของส่วน วัตถุประสงค์ ในข้อคิดเห็นของคำขอดึงของคุณโดยใช้ Markdown ตัวอย่างเช่นโปรดดู ตัวอย่าง RFC นี้ รวมการจัดการ GitHub ของผู้เขียนร่วมผู้ตรวจสอบและผู้สนับสนุน

    ที่ด้านบนของ PR ระบุระยะเวลาแสดงความคิดเห็น ขั้นตอนนี้ควรใช้เวลา อย่างน้อยสองสัปดาห์ นับจากโพสต์ประชาสัมพันธ์

  5. ส่งอีเมลถึงรายชื่ออีเมลของนักพัฒนาที่มีคำอธิบายสั้น ๆ ลิงก์ไปยัง PR และคำขอให้ตรวจสอบ ทำตามรูปแบบของการส่งจดหมายก่อนหน้านี้ดังที่คุณเห็นใน ตัวอย่าง นี้

  6. ผู้สนับสนุนจะขอให้มีการประชุมคณะกรรมการตรวจสอบไม่ช้ากว่าสองสัปดาห์หลังจากโพสต์ RFC PR หากการอภิปรายเป็นไปอย่างมีชีวิตชีวาให้รอจนกว่าจะได้ข้อยุติก่อนจึงจะตรวจสอบได้ เป้าหมายของการประชุมทบทวนคือการแก้ไขปัญหาเล็กน้อย ฉันทามติควรได้รับการแก้ไขในประเด็นสำคัญล่วงหน้า

  7. ที่ประชุมอาจอนุมัติ 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 ที่เสนอยังคงอยู่ภายใต้กระบวนการตรวจสอบโค้ดตามปกติ

หากคุณมีคำถามใด ๆ เกี่ยวกับกระบวนการนี้ อย่า ลังเลที่จะถามในรายชื่อส่งเมลของนักพัฒนาหรือส่งปัญหาใน เทนซอร์โฟลว์ / ชุมชน