เอกสารจาก The Linux Foundation ได้ทำการประมาณเงินที่ต้องใช้ในการพัฒนา Fedora 9 ด้วยวิธี SLOC ค่าที่ได้คือ 10,784,484,309 ดอลลาร์สหรัฐ หากดูเฉพาะตัว Kernel อย่างเดียว ประมาณไว้ว่าต้องใช้เงินในการพัฒนาถึง 1,372,340,206 ดอลลาร์สหรัฐ
วิธีการ Source lines of code (SLOC) เป็นวิธีหนึ่งที่ใช้ในประเมินขนาดของซอฟต์แวร์ วิธีการก็คือเอาซอสโค้ดมานับจำนวนบรรทัด จากนั้นก็จะเอาไปหาเวลาที่นักพัฒนาต้องใช้ในการพัฒนาโค้ดเหล่านั้น ในที่นี้ใช้ COnstructive COst MOdel (COCOMO) สำหรับการประมาณมูลค่าก็นำรายได้เฉลี่ยของนักพัฒนาเข้าไปคำนวณ
Fedora 9 นั้นใช้โค้ด 204,500,946 บรรทัด เวลาที่ประมาณได้ก็คือต้องใช้นักพัฒนาจำนวน 59,389.53 คน พัฒนาเป็นเวลาหนึ่งปี คูณด้วยค่าแรงเฉลี่ยของนักพัฒนาในสหรัฐฯ คือ 75,662.08 ดอลลาร์สหรัฐต่อปี ถ้าดูที่ Kernel (Linux 2.6.25) อย่างเดียวนับบรรทัดได้ 6,772,902 บรรทัด คิดเป็นจำนวนนักพัฒนาต่อปีคือ 7557.4 คน
นี่เป็นเพียงวิธีหนึ่งในความพยายามที่จะประมาณค่าของ Linux เท่านั้น มีข้อจำกัดและปัจจัยอีกจำนวนมากที่อาจทำให้ค่าที่ได้ไม่ใกล้เคียงความจริง บิลล์ เกตส์ บอกว่า "การวัดความคืบหน้าในการพัฒนาโปรแกรมด้วยการนับจำนวนบรรทัดก็เหมือนกับการวัดความคืบหน้าในการสร้างเครื่องบินด้วยการชั่งน้ำหนัก"
ลองดูจำนวนบรรทัดของตัวอื่นๆ กันบ้าง Windows NT 3.1 ประมาณ 4-5 ล้านบรรทัด Windows XP ประมาณ 40 ล้านบรรทัด ส่วน Mac OS X 10.4 ประมาณ 86 ล้านบรรทัด OpenOffice.org ประมาณ 10 ล้านบรรทัด
ที่มา - iTWire
เอกสารต้นฉบับ - Estimating the Total Development Cost of a Linux Distribution
Comments
แฟนผมอาจมีไม่กี่บรรทัด แต่ผมว่าเธอซับซ้อนเหลือคณา..และมีค่ายิ่งกว่าสิ่งใด :P
คมครับ
Noyzi!!a's Blog
+1 บาดเลือดซิบเลย
Some one behind the scenes
หรือว่า 10 พันล้าน?
ขอบคุณครับ
บรรทัดน้อยกว่าเลย error มากกว่า?
แต่ที่น่าแปลกคือ บรรทัดน้อยกว่า กินแรมมากกว่า อันนี้น่าสงสัยครับ
ปล. จริงๆ แล้วโปรแกรมที่แถมมากับ linux เยอะกว่าเลยบรรทัดเยอะกว่าหรือเปล่าครับ?
เกี่ยวกันด้วยหรือครับ?
ผมสงสัยว่ามันจะเป็นคำสั่งหรือเปล่าวว่า ให้ไปเปิดอ้า Core ไว้แล้วไม่ยอม ปิด แล้ว มันก็จะ Process ไปเรื่อยๆ เหมือนใน Firefox
พีดีเอ ซ่า ดอทคอม ทำสิ่งที่คุณถืออยู่ให้มีค่ามากยิ่งขึ้น
ไม่เกี่ยวกันทั้งสิ้นอ่ะ แนวโน้มทั่วๆไปคือ โค้ดมากขึ้น บั๊กมีแนวโน้มจะเพิ่มตาม ภายใต้เงื่อนไขคล้ายๆกัน ภาษาเดียวกัน อย่างอื่นไม่มีความสัมพันธ์กันเลย
แต่การนับ LOC นี่เป็นดัชนีอย่างหยาบมากๆ เหมือนประมาณปิดตาแล้วคลำเอา คลำตั้งแต่ช้าง, นก, หนู ก็ได้แค่ข้อมูลเลาๆ สีสรร, ฟังก์ชันอวัยวะต่างๆนี่ไม่ทราบเด็ดขาดจากการคลำ
ไม่จริงๆ ปิดไฟ หลับตา มืดยังไงก็ยังคลำแล้วทราบฟังก์ชั่นอวัยวะได้นะ :P
บรรทัดละกี่บาท?
รายได้ของ developer ในอเมริกามันเยอะขนาดนั้นเชียว ปีนึงซื้อรถเงินสดได้ถึง 2 คัน มิน่าถึงต้องหาแรงงานราคาถูกจากต่างประเทศ
มองรายได้ตัวเอง ได้แค่ดาวน์รถ
ต้องใช้นักพัฒนาจำนวน 59,389.53 คน
คิดเป็นจำนวนนักพัฒนาต่อปีคือ 7557.4 คน
มีจำนวนคนที่ไม่เต็มด้วยเหรอนี่...
เขียนโปรแกรมชิวๆกับ www.codeburning.com<www.codeburning.com>
พวกไม่เต็มบาทแหงๆ :P
Fedora 9 : 204,500,946 บรรทัด ใช้คน 59,389.53 คน => คนละ 3443 บรรทัดต่อปี
Kernel : 6,772,902 บรรทัด ใช้คน 7557.4 คน => คนละ 896 บรรทัดต่อปี
แสดงว่า Kernel พัฒนายากมาก แต่ Fedora 9 นี่นับรวมอะไรบ้าง หากนับโค้ดจากพวกแพกเกจต่าง ๆ ด้วย คงไม่แฟร์ เพราะแพกเกจเหล่านั้นไม่น่าจะเป็นส่วนหนึ่งของ GNU/Linux ได้
นักพัฒนาซอพท์แวร์ชาวสหรัฐค่าจ้าง 75,662.08$ ต่อปี เขียนโค้ดได้ปีละสามพันกว่าบรรทัด คิดต่อบรรทัดนี่รายได้ดีกว่านักเขียนปากกาทองบ้านเราอีกนะครับ น่าอิจฉา (ตกบรรทัดละประมาณ 21$)
เห็นด้วยครับ แต่ผมว่าในทางปฏิบัติ มันคงวัดได้จริง เพราะบริษัทส่วนใหญ่เวลาพัฒนาโปรแกรม ก็พัฒนาโดยใช้วิธีเพิ่มโค้ดเอา สถิติใน http://www.ohloh.net สามารถยืนยันได้
BioLawCom.De
คิดว่าน่าจะนับโค้ดรวมนะครับ ถ้านับแยกเฉพาะผลงานของ Fedora ไม่รู้จะนับอย่างไร
ถ้าให้เดาก็เอา SRPM ทั้งหมดมาแตก แล้ว wc -l
ผมว่านับ Packages ทั้งหมดที่มีก็น่าจะถูกนะครับ เพราะอย่าง OS อื่นๆ ก็พัฒนามาจากหลายๆ ส่วนประกอบกันเหมือนกัน ไม่ได้นับว่าเป็น GNU หรือไม่ แต่นับว่ามันคือส่วนประกอบของตัว Distribution นั้นๆ
แต่ดัชนีแบบนี้ก็บอกอะไรไม่ได้มากอย่างว่าแหละครับ :)
ผมว่าเวลาออกแบบกับเวลาดีบั๊กมันเทียบไม่ได้นะ
โค้ดสิบบรรทัดอาจมีการถอดเปลี่ยนมาแล้วเป็นสิบๆครั้ง และอาจเสียเวลากว่าโค้ดร้อยบรรทัดที่ผ่านภายในการเขียนครั้งเดียว