왜 모노가 그렇게 논쟁이 되는가?


33

GNOME Do 또는 Banshee 또는 다른 프로그램과 같은 일부 프로그램에 대해 읽을 때 종종 사람들이 모노를 사용한다고 작성하는 것을 볼 수 있습니다. 왜 이런거야? 이러한 의견은 실제적인 근거, 이념적 인 것, 또는 다른 것에 관한 것입니까?


3
Microsoft 기술 (문서 형식)을 구현하기 위해 개방형 사무실을 소집하지 않는 이유는 무엇입니까?
trampster

답변:


36

이념적으로

Mono는 일부 사람들이 Microsoft와 .Net 플랫폼을 지원한다고 가정합니다. 어떤 사람들은 이것이 우분투의 목표 또는 적어도 자신의 개인적인 목표에 반한다고 생각하며 그것을 피하기를 원합니다.

흔들리는 말에 대해 미안하지만, 나는 객관적인 태도를 취하고 있습니다. Mono가 실제로이 작업을 수행하는지 여부와 Microsoft 지원이 좋은지 나쁜지에 대한 논의 는 다른 곳에 속합니다 .

거의

Java 및 C #으로 작성된 것과 같이 가상 컴퓨터를 사용하는 프로그램은 내 경험상 그렇지 않은 것과 비교하여 더 많은 메모리를 사용하는 경향이 있습니다. 이 일반화가 항상 유지되는 것은 아닙니다. 이것이 유효한 관심사 인 사용자가 있지만 사람들은 종종 필요 이상의 성능에 대해 걱정합니다.

예를 들어, 메모리가 1GB 인 랩톱을 사용하고 있습니다 . 기계는 나이를 나타 내기 시작했지만 여전히 대부분의 물건을 편안하게 실행할 수 있습니다. 4GB의 메모리를 가진 사용자는 "메모리 호그"를 거의 느끼지 못하고 다른 문제에 집중해야합니다. (그리고 5 년 후에 여기로 돌아와서 4GB 숫자를 비웃을 것입니다.)


4
c #은 가상 머신에서 순수하게 실행되지 않습니다. 최소한 정상적인 방법은 아닙니다. 자바와 같은 바이트에서 머신 코드로의 적시 컴파일과 예외 (일반적인 경우) 및 전체 구식 컴파일 (대부분의 플랫폼에서는 그렇지는 않음)의 머신 코드로의 사전 컴파일 . 그런 의미에서 Java 또는 Parrot과 동일하지 않습니다. 더 많은 하이브리드. 이러한 이유로 실제 세계에서는 중요한 내부 루프 헤비 리프팅 코드가 기본 컴퓨터 명령어로 모노로 컴파일 될 가능성이 큽니다.
Stefano Palazzo

1
@ stefano : 실행 속도가 아니라 메모리 사용량을 언급했습니다. 실제로 JIT가 작업을 수행 할 수 있도록 코드의 여러 사본을 유지하면 더 많은 메모리를 사용합니다.

3
그것만이 아닙니다. Mono는 Microsoft의 일부 특허권을 침해 할 수 있습니다. 이로 인해 Oracle은 Java 특허보다 Google에 대해 언젠가 누군가를 고소 할 수 있습니다.
txwikinger

5
죄송하지만 "커뮤니티 약속"에 법적 구속력이있는 것은 없습니다.
txwikinger

2
@txwikinger 법적 구속력이 있습니다.이 페이지의 질문을 확인하십시오. microsoft.com/interop/cp/default.mspx
trampster

16

일부 사람들은 Microsoft가 .NET의 측면에 대해 소프트웨어 특허를 보유하고 있으며 .NET을 구현할 때 Mono가 해당 특허를 위반한다고 생각합니다. 따라서이 사람들은 Mono를 사용하면 특허 소송을 제기 할 수 있다고 생각합니다.

나는 일반적으로 특허법이 논쟁의 여지가 있기 때문에 Mono가 논쟁의 여지가 있다고 생각합니다. 그러나 Mono를 홍보하는 단체가 Microsoft와 계약을 맺은 특허 계약과 유사한 계약을 맺은 경우가 있는데, 이는 그러한 특허의 유효성에 대한 Microsoft의 주장을 강화하기 위해 볼 수 있습니다. (물론, Microsoft는 실제로 특허가 존재한다는 증거를 제공하지 않았으므로 Linux 커널이 위반 한 특허 주장과 마찬가지로 불확실한 상태를 유지합니다.) 이러한 계약은 다른 커뮤니티의 배신과 불신감을 초래합니다. 이 계약은 Microsoft와의 계약을 체결 한 주체에게 혜택을 제공하는 동시에 (지각 된 특허 위험을 증가시킴으로써) 전체적으로 커뮤니티를 해칠 것으로 보입니다. 따라서 Mono가 논쟁의 여지가있는 또 다른 이유가 있습니다.

그건 그렇고, 나는 관중의 관점에서 글을 쓰고 언급해야하며 전체 상황에 대한 상세하거나 구체적인 지식이 없습니다. 나는 편견을 유지하려고 노력했고이 질문을 논란의 여지가있는 곳으로 끌지 않기 위해 대부분의 명사를 피했다.

편집 : 의견에 따르면 누군가 Microsoft가 .NET 구현에 대해 특허권을 주장하지 않겠다고 약속커뮤니티 가 있다고 지적했습니다 . 그러나 그 약속에는 법률가가 충분하기 때문에 변호사가 변호사를 고용하지 않고도 약속이 기밀 보호를 제공한다고 확신 할 수 없습니다. 읽은 후에는 Microsoft가 Mono에 대한 특허권을 주장 할 수있는 잠재적 허점을 생각할 수 있지만 IANAL 이래로이 허점 중 어느 것이 법적으로 방어 가능한지 또는 Microsoft 법률에 대한 나의 오해가 무엇인지 전혀 알 수 없습니다. 따라서 커뮤니티의 약속은 고무적이지만 모노의 특허 책임에 대한 논쟁은 끝날 수 없습니다.


3
이것은 실제로 받아 들여지는 대답이어야하며 실제로 질문에 대답하는 유일한 사람입니다. 사람들은 마이크로 소프트에 의해 고소 당 할까봐 모노를 사용하는 것을 망설 인다.

1
여기서 유럽 특허 협약 제 52 조는 소프트웨어에 대한 특허를 "그 자체로" 금지하고 있다는 점을 언급해야한다 (제 52/2 조). 이는 최소한 EU 회원국의 시민과 조직은 기본적으로 Microsoft의 라이센스 캠페인과 같은 것들로부터 안전하다는 것을 의미합니다 . (이 마지막 진술은 다툼이 심하다)
Stefano Palazzo

1
예술에도 불구하고. 52/2 유럽에서 성공적인 소프트웨어 특허권 주장이있었습니다.
txwikinger

이 답변은 Microsoft의 특허 소송으로부터 모노를 보호하는 법적 구속력이있는 "커뮤니티 약속"에 대한 논의 없이는 완전하지 않습니다.
trampster

1
@trampster : CP는 모든 C #이 아닌 ECMA 334 및 335를 다루며 2006 년에 발표 된 C #에 새로 추가 된 내용은 명시 적으로 다루지 않습니다. CP를 사용하기 위해 Mono가 .NET보다 5 년 (및 성장) 동안 머무를 것으로 기대하십니까 ?
Fred Nurk

5

Mono는 Microsoft .net의 공개 포팅입니다.

이데올로기 적 근거에서 이것은 개방형 기술을위한 폐쇄 형 기술을 사용하므로 GNU 및 / 또는 Linux의 일부 이상과 일치하지 않을 수 있습니다.

실제로는 Mono가 현재 3.5 버전에서 .NET만큼 많은 기능을 지원하지 않습니다. 그러나 Linux 용 C # (및 기타 .NET 언어)으로 프로그래밍 할 수 있습니다. 모노가 없으면 불가능하다고 생각합니다.


9
.NET의 기본 핵심은 개방형 기술 / 표준입니다 (Microsoft의 주요 구현이 개방되어 있지 않더라도 C #, 표준 라이브러리의 기본 부분 및 런타임은 ECMA 표준으로 게시 됨).
JanC

@ Popinou : 3.5에서 누락 된 기능에 문제가 없었습니다.

@JanC : Mono (System.Windows.Forms)의 파트는 ECMA 표준의 일부가 아닙니다.
Broam

1
실제로 모노는 포트가 아니며 EMCA 개방형 표준의 무료 소프트웨어 구현입니다. 그리고 공개 표준의 구현을 고소하지 않기 위해 법적 구속력이있는 "커뮤니티 약속"의 적용을받습니다.
트램 스터

1
@Broam System.Windows.Forms는 기본적으로 우분투가 아닙니다. 그리고 일반적인 모노 앱에는 필요하지 않습니다.
trampster

5

다른 사람들이 말했듯이 두 가지 주요 이유가 있습니다.

1) 이념 : 사용자는 모노가 비공개 소스 Microsoft 제품을 기반으로한다는 생각에 익숙하지 않습니다. 그러나 모노 자체는 오픈 소스입니다.

2) 특허 : 이는 커뮤니티 약속 을 ECMA 334 및 ECMA 사양 335에 적용 할 때 Microsoft가 해결 한 주요 관심사 였습니다. 불행히도 상당수의 사람들이이를 인식하지 못하고 있습니다.


4
논쟁은 공동체의 약속이 충분하지 않다는 것입니다. 그것은 인식의 문제가 아닙니다.
Broam

1

모노를 사용하지 않기 때문에

  1. Microsoft는 침해 대상을 지정하지 않고 IP 침해를 주장하며 Novell 사용자는 보호된다고 말하면서 Mono에 대한 설명을 거부했습니다. 나는 그들이 행동으로 뒷받침 할 때까지 Microsoft의 공동체 약속을 믿지 않습니다.
  2. 모노 라이센스는 복잡합니다. 법적인 전문가는 일반 사용자는 물론 부품 라이센스가 다르기 때문에 이해하기 어렵습니다. 오픈 소스에는 이해하기 어려운 것이 없습니다.
  3. Miguel de Icaza는 약속했지만 ECMA 호환 소스 코드를 적시에 출시하겠다는 약속을 이행하지 못했습니다.
  4. 표준이 깨져서 다른 사람들을 불이익으로 여기기 때문에 Microsoft의 표준을 따르는 회사들과 함께
  5. Linux에서 .NET을 사용하는 데 필요한 이점은 없으며, 다른 플랫폼에서 거의 이식되지 않았으며 Linux 고유의 것은 다른 언어로 작성 될 수 있습니다.
  6. 모노는 불필요하게 분열적인 문제입니다. 더 중요한 문제를 피함으로써 우리를 산만하게하고 Microsoft의 손에 맡깁니다.

원하는 경우 누구나 모노를 사용할 수 있고 사용해야한다고 생각하지만 원하지 않는 사용자는 기본적으로 모노를 착용하지 않아야합니다.


나는 마이크로 소프트가 환자 침해를 독점적으로 주장했다고 ​​생각하지 않는다. 그러나 법적 구속력이있는 영지에서 고소하지 않기로 약속했습니다.
trampster

언리얼 엔진에는 여러 개의 모노 패키지가 필요합니다. 믿습니다. 모두 오픈 소스입니다. 언젠가, 그들은 우리가 고요한 상태로 바꿀 수있는 것으로 대체 될 수 있습니다.
물병 자리 힘
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.