บ่อยครั้งที่ฉันกำลังอ่านเกี่ยวกับโปรแกรมบางโปรแกรมไม่ว่าจะเป็น GNOME Do หรือ Banshee หรืออย่างอื่นฉันเห็นคนเขียนว่าพวกเขาใช้โมโน - และความหมายนั้นดูถูก ทำไมนี้ มีการแสดงความคิดเห็นเหล่านี้ในบริเวณที่ปฏิบัติได้แนวคิดเชิงอุดมการณ์หรืออย่างอื่นหรือไม่?
บ่อยครั้งที่ฉันกำลังอ่านเกี่ยวกับโปรแกรมบางโปรแกรมไม่ว่าจะเป็น GNOME Do หรือ Banshee หรืออย่างอื่นฉันเห็นคนเขียนว่าพวกเขาใช้โมโน - และความหมายนั้นดูถูก ทำไมนี้ มีการแสดงความคิดเห็นเหล่านี้ในบริเวณที่ปฏิบัติได้แนวคิดเชิงอุดมการณ์หรืออย่างอื่นหรือไม่?
คำตอบ:
Mono คาดว่าจะมีบางคนให้การสนับสนุน Microsoft และแพลตฟอร์ม. Net บางคนเชื่อว่านี่เป็นสิ่งที่ตรงกันข้ามกับเป้าหมายของ Ubuntu หรืออย่างน้อยก็เป้าหมายส่วนตัวของพวกเขาเองและพวกเขาต้องการหลีกเลี่ยงสิ่งนั้น
ขออภัยสำหรับคำกระดิก แต่ฉันยังคงวัตถุประสงค์ การอภิปรายว่าโมโนไม่จริงนี้และแม้กระทั่งว่าไมโครซอฟท์สนับสนุนเป็นสิ่งที่ดีหรือสิ่งที่ไม่ดีอยู่ที่อื่น
โปรแกรมที่ใช้เครื่องเสมือน (ตามที่เขียนใน Java และ C # do) มีแนวโน้มที่จะใช้หน่วยความจำมากขึ้นในประสบการณ์ของฉันเมื่อเทียบกับเทียบเท่าที่ไม่ได้ ลักษณะทั่วไปนี้ไม่ได้ถือเสมอ ในขณะที่มีผู้ใช้งานซึ่งสิ่งนี้เป็นข้อกังวลที่ถูกต้องคนมักจะกังวลเกี่ยวกับประสิทธิภาพมากกว่าที่จำเป็น
ตัวอย่างเช่นฉันใช้แล็ปท็อปที่มีหน่วยความจำเพียง 1GB: มันเคยเป็นขนาดใหญ่ เครื่องเริ่มแสดงว่าอายุ แต่ฉันยังคงสามารถวิ่งได้อย่างสบายที่สุด ผู้ใช้ที่มีหน่วยความจำ 4GB จะไม่สังเกตเห็น "หน่วยความจำหมู" เกือบเท่าและควรให้ความสำคัญกับปัญหาอื่น ๆ (และฉันจะกลับมาที่นี่อีก 5 ปีและหัวเราะที่ 4GB นั้น)
บางคนเชื่อว่า Microsoft ถือสิทธิบัตรซอฟต์แวร์มากกว่าด้านของ. NET และการใช้งาน. NET นั้น Mono ละเมิดสิทธิบัตรเหล่านั้น ดังนั้นคนเหล่านี้รู้สึกว่าการใช้โมโนอาจเปิดโอกาสให้มีการฟ้องร้องสิทธิบัตร
ฉันคิดว่า Mono นั้นขัดแย้งกันมากเพราะกฎหมายสิทธิบัตรโดยทั่วไปขัดแย้งกัน แต่มีบางกรณีที่นิติบุคคลที่โปรโมต Mono ทำข้อตกลงกับ Microsoft ที่ดูเหมือนข้อตกลงสิทธิบัตรซึ่งสามารถเห็นได้ว่าเป็นการเสริมความแข็งแกร่งให้กับข้อโต้แย้งของ Microsoft สำหรับความถูกต้องของสิทธิบัตรดังกล่าว (แน่นอนว่า Microsoft ไม่ได้เตรียมหลักฐานใด ๆ ว่ามีสิทธิบัตรอยู่ดังนั้นจึงยังคงมีความไม่แน่นอนเช่นเดียวกับการเรียกร้องสิทธิบัตรที่ละเมิดโดยเคอร์เนล linux) ข้อตกลงเหล่านี้ส่งผลให้เกิดการทรยศและไม่ไว้วางใจจากชุมชนอื่น สมาชิกเนื่องจากข้อตกลงดูเหมือนจะทำร้ายชุมชนโดยรวม (โดยการเพิ่มความเสี่ยงด้านสิทธิบัตรที่รับรู้) ในขณะที่ได้รับประโยชน์จากเอนทิตีที่ทำข้อตกลงกับ Microsoft ดังนั้นจึงนำไปสู่อีกเหตุผลหนึ่งที่ทำให้โมโนขัดแย้งกัน:
โดยวิธีการที่ฉันควรจะพูดถึงว่าฉันเขียนจากมุมมองของผู้ชมและฉันไม่มีความรู้รายละเอียดหรือเฉพาะของสถานการณ์ทั้งหมด ฉันพยายามที่จะไม่เอนเอียงและได้หลบเลี่ยงคำนามที่เหมาะสมเพื่อหลีกเลี่ยงการลากคำถามนี้ไปสู่ข้อโต้แย้งที่ถาม
แก้ไข:ในความคิดเห็นมีคนชี้ให้เห็นว่า Microsoft มีชุมชนสัญญาว่าจะไม่ยืนยันสิทธิ์สิทธิบัตรกับการใช้งาน. NET แต่สัญญานั้นมีนักกฎหมายเพียงพอที่ฉันไม่รู้สึกว่าฉันมั่นใจได้อย่างแน่นอนว่าสัญญานั้นให้การป้องกันที่แน่นหนาโดยไม่ต้องจ้างทนายความให้มาช่วยงาน หลังจากอ่านมันฉันสามารถนึกถึงช่องโหว่ที่อาจเกิดขึ้นซึ่งทำให้ Microsoft สามารถยืนยันสิทธิ์ในสิทธิบัตรของ Mono แต่เนื่องจากIANALฉันไม่ทราบเลยว่าช่องโหว่เหล่านี้สามารถป้องกันได้ตามกฎหมายหรือเป็นเพียงความเข้าใจผิดเกี่ยวกับกฎหมายของ Microsoft ดังนั้นแม้ว่าสัญญาของชุมชนจะได้รับการส่งเสริม แต่ก็ไม่สามารถยุติข้อพิพาทระหว่างความรับผิดทางสิทธิบัตรของโมโนที่อาจเกิดขึ้นได้
Mono เป็นพอร์ตเปิดของ Microsoft. net
บนพื้นฐานของอุดมการณ์สิ่งนี้ใช้ประโยชน์จากเทคโนโลยีแบบปิดสำหรับเทคโนโลยีแบบเปิดและอาจไม่ตรงกับอุดมคติของ GNU และ / หรือ Linux
ในทางปฏิบัติแล้ว Mono ไม่ได้สนับสนุนฟังก์ชั่นมากเท่าที่. NET ทำได้ในเวอร์ชั่น 3.5 อย่างไรก็ตามมันอนุญาตให้โปรแกรมใน C # (และภาษา. NET อื่น ๆ ) สำหรับ Linux ซึ่งฉันคิดว่าเป็นสิ่งที่ดีและจะเป็นไปไม่ได้หากปราศจาก Mono
ตามที่คนอื่นได้กล่าวมีสองเหตุผลหลัก:
1) อุดมการณ์: ผู้ใช้ไม่พอใจกับความคิดที่ว่าโมโนมีพื้นฐานมาจากผลิตภัณฑ์ไมโครซอฟท์ที่เป็นแหล่งข้อมูลปิด อย่างไรก็ตาม Mono เองก็เป็นโอเพ่นซอร์ส
2) สิทธิบัตร: สิ่งนี้เคยเป็นข้อกังวลหลักที่ได้รับการแก้ไขโดย Microsoft เมื่อพวกเขาใช้สัญญาชุมชนกับข้อกำหนดของ ECMA 334 และ ECMA 335 แต่น่าเสียดายที่คนส่วนใหญ่ไม่รู้ตัว
ฉันไม่ได้ใช้โมโนเพราะ
ฉันคิดว่าทุกคนสามารถและควรใช้โมโนหากพวกเขาต้องการ แต่ผู้ใช้ที่ไม่ต้องการให้ใช้ค่าเริ่มต้น