README คืออะไร? ทำความรู้จักกับไฟล์ที่สำคัญที่สุดในโปรเจกต์ซอฟต์แวร์
สรุปใจความสำคัญ
- ไฟล์ README มีไว้เพื่อให้ข้อมูลเบื้องต้นและคำแนะนำที่สำคัญเกี่ยวกับเนื้อหาในไดเรกทอรีหรือโปรเจกต์ซอฟต์แวร์
- ธรรมเนียมการใช้ตัวพิมพ์ใหญ่ (README) เริ่มต้นในระบบ Unix เพื่อให้ไฟล์ปรากฏอยู่ด้านบนสุดของรายการไฟล์
- GitHub จะแสดงผลไฟล์ README.md โดยอัตโนมัติบนหน้าแรกของ Repository เพื่อให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายขึ้น
- เนื้อหาใน README มักครอบคลุมตั้งแต่การติดตั้ง การใช้งาน และข้อมูลลิขสิทธิ์ ไปจนถึงถึงบันทึกการเปลี่ยนแปลง (Changelog)
ไฟล์ README คือไฟล์ที่บรรจุข้อมูลคำอธิบายเกี่ยวกับเนื้อหาภายในไดเรกทอรี (Directory) ที่ไฟล์นั้นตั้งอยู่ โดยทั่วไปแล้ว ข้อมูลในไฟล์นี้จะครอบคลุมถึงไฟล์ต่างๆ ในไดเรกทอรีนั้น รวมถึงไดเรกทอรีย่อย หรือแม้แต่โครงสร้างไดเรกทอรีทั้งหมด
จุดประสงค์หลักของชื่อไฟล์นี้คือเพื่อดึงดูดความสนใจของผู้ใช้ให้เห็นข้อมูลสำคัญและข้อมูลเบื้องต้นในการเริ่มต้นใช้งาน ซึ่งเป็นกฎเหล็กสำหรับผู้ที่ไม่คุ้นเคยกับเนื้อหาในไดเรกทอรีว่า ควรเริ่มอ่านไฟล์ README ก่อนไฟล์อื่นๆ
แม้ว่าชื่อ README จะเป็นที่นิยมที่สุด แต่ก็มีการใช้ชื่ออื่นที่คล้ายกัน เช่น "Read Me" หรือ "READ.ME" นอกจากนี้ บางครั้งอาจมีการใส่ส่วนขยายของไฟล์ (Extension) เพื่อระบุรูปแบบไฟล์ เช่น .txt สำหรับข้อความธรรมดา หรือ .md สำหรับ Markdown ซึ่งชื่อไฟล์นี้มักจะเขียนด้วยตัวพิมพ์ใหญ่ทั้งหมดเพื่อความโดดเด่น

เนื้อหาภายในไฟล์ README
เนื่องจากไม่มีมาตรฐานกลางที่กำหนดไว้ รูปแบบและเนื้อหาของไฟล์ README จึงมีความหลากหลายอย่างมาก อย่างไรก็ตาม สำหรับโปรเจกต์ซอฟต์แวร์ โดยทั่วไปมักจะประกอบด้วยข้อมูลดังต่อไปนี้:
- คำแนะนำในการกำหนดค่า (Configuration): วิธีการตั้งค่าซอฟต์แวร์ให้ทำงานได้ตามต้องการ
- คำแนะนำในการติดตั้ง (Installation): ขั้นตอนการติดตั้งโปรเจกต์ลงในเครื่องของผู้ใช้
- คำแนะนำในการใช้งาน (Operating Instructions): วิธีการใช้งานซอฟต์แวร์
- รายการไฟล์ (File Manifest): รายการไฟล์ทั้งหมดในไดเรกทอรีหรือไฟล์บีบอัด (Archive)
- ข้อมูลลิขสิทธิ์และใบอนุญาต (Copyright and Licensing): รายละเอียดเกี่ยวกับสิทธิ์ในการนำไปใช้และแก้ไข
- ข้อมูลติดต่อ: ข้อมูลติดต่อของผู้พัฒนาหรือผู้จัดจำหน่าย
- รายการบั๊กที่ทราบ (Known Bugs): รายการข้อผิดพลาดที่พบในซอฟต์แวร์และยังไม่ได้รับการแก้ไข
- คำแนะนำในการแก้ไขปัญหา (Troubleshooting): วิธีการแก้ไขปัญหาเบื้องต้น
- เครดิตและคำขอบคุณ (Credits and Acknowledgments): รายการผู้ที่มีส่วนร่วมในโปรเจกต์
- บันทึกการเปลี่ยนแปลง (Changelog): รายการการอัปเดตและแก้ไขในแต่ละเวอร์ชัน (มักจะเน้นไปที่โปรแกรมเมอร์)
- ส่วนข่าวสาร (News Section): ข่าวสารล่าสุดสำหรับผู้ใช้งานทั่วไป
ประวัติความเป็นมา
ธรรมเนียมการใส่ไฟล์ README เริ่มต้นขึ้นในช่วงกลางทศวรรษ 1970 โดยในระบบปฏิบัติการ Unix ซึ่งชื่อไฟล์ส่วนใหญ่เป็นตัวพิมพ์เล็ก ชื่อ README จึงถูกเขียนเป็นตัวพิมพ์ใหญ่เพื่อให้โดดเด่นและปรากฏอยู่ด้านบนสุดของรายการไฟล์ที่เรียงตามลำดับ ASCII
ในเวลาต่อมา ไฟล์ README ได้กลายเป็นส่วนสำคัญของซอฟต์แวร์เสรี (Free Software) และซอฟต์แวร์โอเพนซอร์ส (Open-source Software) โดยมาตรฐานการเขียนโค้ดของ GNU (GNU Coding Standards) ได้สนับสนุนให้มีการรวมไฟล์นี้ไว้เพื่อให้ภาพรวมของแพ็กเกจซอฟต์แวร์
การเปลี่ยนแปลงในยุคเว็บและ GitHub
เมื่ออินเทอร์เน็ตกลายเป็นแพลตฟอร์มหลักในการแจกจ่ายซอฟต์แวร์ ข้อมูลบางส่วนจากไฟล์ README ได้ถูกย้ายไปไว้บนเว็บไซต์หรือ Wiki ของโปรเจกต์ อย่างไรก็ตาม แพลตฟอร์มอย่าง GitHub ได้ส่งเสริมการสร้างไฟล์ README อย่างมาก โดยหากมีไฟล์ README.md ในไดเรกทอรีหลัก (Top-level directory) ของ Repository จะถูกนำมาแสดงผลบนหน้าแรกของโปรเจกต์โดยอัตโนมัติ ซึ่งรองรับรูปแบบ Markdown ซึ่งทำให้การจัดรูปแบบข้อความให้สวยงามและง่ายต่อการต่อยอด
ไฟล์ที่เกี่ยวข้อง
ข้อมูลเมทาดาตาของไดเรกทอรีบางครั้งอาจถูกเก็บไว้ในไฟล์อื่นนอกเหนือจาก README โดยไม่มีมาตรฐานสากล แต่มีธรรมเนียมปฏิบัติที่นิยมใช้กันตามมาตรฐานของ Gnits Standards และ GNU Autotools
คำถามที่พบบ่อย
ทำไมต้องเขียนไฟล์ README?
เพื่อให้ผู้ใช้หรือนักพัฒนาคนอื่นที่เข้ามาในโปรเจกต์สามารถเข้าใจว่าโปรเจกต์นี้คืออะไร ติดตั้งอย่างไร และใช้งานอย่างไร โดยไม่ต้องเสียเวลาไล่ดูโค้ดทั้งหมด
README.md คืออะไร?
".md" คือส่วนขยายของไฟล์ Markdown ซึ่งเป็นภาษา Markup ที่เรียบง่าย ทำให้สามารถสร้างหัวข้อ ตัวหนา ตัวเอียง และรายการแบบจุด (Bullet points) ได้ง่าย และถูกนำมาแสดงผลเป็น HTML บนแพลตฟอร์มอย่าง GitHub
ไฟล์ README ควรมีเนื้อหาอะไรบ้าง?
แม้จะไม่มีมาตรฐานตายตัว แต่โดยทั่วไปควรมีชื่อโปรเจกต์, คำอธิบายสั้นๆ, วิธีการติดตั้ง, วิธีการใช้งาน, และข้อมูลลิขสิทธิ์


