2
การพัฒนาซอฟต์แวร์ GNU มีความยั่งยืนในเชิงเศรษฐกิจอย่างไร
ฉันขอโทษหากคำถามนี้อยู่นอกหัวข้อ แต่เป็นเศรษฐกิจและคำถามการเขียนโปรแกรมพร้อมกัน ถ้าควรไปที่ชุมชน SE อื่นโปรดระบุฉัน ในทางทฤษฎีซอฟต์แวร์ GNU ได้รับการพัฒนาโดยอาสาสมัครในช่วงเวลาว่างหรือโดย บริษัท ที่โปรแกรมเมอร์กองทุนอาสาสมัครเพื่อพัฒนาซอฟต์แวร์ GNU (โดยใช้รายได้จากกิจกรรมอื่นของภาคส่วน) ฉันเข้าใจว่ามันสามารถทำงานได้ดีอย่างสมบูรณ์แบบสำหรับโครงการขนาดเล็กที่สามารถทำได้ในช่วงวันหยุดสุดสัปดาห์โดยบุคคลเดียว (เช่นตัวอย่างเกมซูโดกุ) เพราะหลังจากการเขียนโปรแกรมคอมพิวเตอร์ทั้งหมดเป็นงานอดิเรกที่สนุกและคุ้มค่า และฉันไม่มีปัญหาที่จะเห็นคนกำลังพัฒนาโปรแกรมขนาดเล็กหรือขนาดกลางในช่วงเวลาว่างและแบ่งปันให้กับโลก ปัญหาคือว่าสิ่งนี้มีขนาดเล็กมากสำหรับโปรแกรมขนาดใหญ่ด้วยเหตุผลดังต่อไปนี้: สนุกเหมือนการเขียนโปรแกรมเนื่องจากโครงการที่ต้องดำเนินการมีขนาดใหญ่ขึ้นเวลาที่ใช้ในการใช้งานฟังก์ชั่นที่ต้องการจะเติบโตอย่างรวดเร็ว โปรแกรมขนาดใหญ่ใช้เวลาในการพัฒนาอย่างไม่น่าเชื่อตัวอย่างเช่นอาจใช้เวลาว่าง 15 ปีและวันหยุดพักผ่อนสำหรับแต่ละคนในการเขียนโปรแกรมระบบปฏิบัติการและเมื่อซอฟต์แวร์ของเขาถูกปล่อยออกมามันจะล้าสมัยไปอย่างสมบูรณ์ . ในขณะที่คนอื่นเขียนโปรแกรมในลักษณะที่คุณทำเสร็จการอ่านและทำความเข้าใจโค้ดของคนอื่นต้องใช้เวลามากในกรณีส่วนใหญ่เท่าที่จะเขียนโค้ดของคุณเองตั้งแต่เริ่มต้น การปรับเปลี่ยนรหัสของผู้อื่นและพยายามปรับปรุงตามที่ได้รับการสนับสนุนโดยปรัชญา GNU นั้นใช้เวลานานพอสมควรในการพัฒนาโคลนของโปรแกรมดังกล่าวด้วยฟังก์ชั่นที่คุณต้องการเพิ่ม ทันทีที่มีคน 2 คนหรือมากกว่านั้นจะต้องร่วมมือกันพัฒนาโปรแกรมที่ใหญ่ขึ้นสิ่งนี้จะสร้างปัญหาการตัดสินใจจำนวนมากที่ไม่เคยเกิดขึ้นกับโครงการผู้พัฒนาเดี่ยว ผลลัพธ์คือตัวอย่างเช่นหากกลุ่มของโปรแกรมเมอร์ 2 คนทำงานร่วมกันในโครงการที่ใช้เวลา 10 ปีในการสร้างคนเดียวพวกเขาจะไม่ทำใน 5 ปี แต่อาจเป็น 8 ปี หากคนที่ทำงานร่วมกันในโครงการเดียวกันพบบนอินเทอร์เน็ตเพียงอย่างเดียวมันเป็นเรื่องง่ายสำหรับสมาชิกคนหนึ่งของโครงการที่จะหายไปทันที (เพราะเขาหมดความสนใจหรือเพราะเขาไม่สามารถอยู่บนอินเทอร์เน็ตได้อีกต่อไป) จึงทำให้การทำงานร่วมกันได้ ยาก ดังนั้นในขณะที่ฉันเข้าใจอย่างสมบูรณ์แบบว่าโปรแกรมง่าย ๆ สามารถพัฒนาด้วยแนวคิด GNU ได้อย่างไรฉันไม่เห็นเลยว่าโปรแกรมขนาดใหญ่เช่น GNU / …