- 浏览: 193925 次
文章分类
最新评论
-
vencie:
这样配置了还是无效...
【转载】限制用户单点登录ssh -
chenchi:
太感谢了!
【转载】php运用readfile函数实现下载文件权限判断 -
cyl19880415:
哥们!真的感谢了。解决了我一大难题啊!
[转载]QT 自定义 信号 槽 解决 ‘staticMetaObject’ is not a member of -
0x14:
你添加了 "Accept-Encoding" ...
[原创]QT HTTP 通讯 使用方法
【转载+修改】理性看待Mono平台
之前一直火爆的JAVA平台现在由于版权的问题, 不得不引起人们的再次审视, 最近, mono平台又火了起来, 人们纷纷把他和之前的java平台进行对比, 攻击之声四起, 这里有一篇mono的开发者, 兼debian, ubuntu的打包人员进行全面的分析, 支持了mono平台, 可以引导我们正确审视mono平台。
转载自: http://www2.apebox.org/wordpress/rants/124/
This post is a repost for something I sent to Linux Today. Their original message was here, where they invited people who don’t think Mono causes AIDS to justify themselves. I replied here. This is a repost, for the benefit of assorted aggregators. Some context may be lost by not reading the original “invitation” first. —————————————————– I am a member of the Debian Mono Group, Debian CLI Applications Team, and Debian CLI Libraries Team. I’ve been working on packaging for the Mono stack and applications which make use of it in Ubuntu (and Debian) for just under a year. And, fully aware of the flame war, threats and personal attacks which will follow, I’m going to take you up on your “invitation”. I speak for myself here – not for the Debian project, nor Ubuntu, not for the Mono project, nor for my employer. Your request was for “a calm presentation of why Mono is desirable, why it is not a threat, and why it should be included in Ubuntu by default”. I’ll answer these three questions individually, then offer a general comment on your post, as well as the wider “anti-Mono” movement. This message is GPG-signed to ensure it is published unedited. The message as-sent will be made available at http://retro.apebox.org/herewegoagain.txt to allow people to verify authenticity signatures themselves. Why Mono is desirable That’s a question which depends on whom is being asked. If you’re asking a user, then the answer is “it’s not”, any more than a Scheme compiler or LOLCODE interpreter. If you’re asking a developer, then the answer is VERY different. Mono provides a well-balanced framework to enable Free Software to be developed quickly, effectively, and efficiently. By “balanced”, I mean it is unlikely to win every single contest that one can throw at a programming language – memory footprint, execution speed, availability of libraries, and so on – but does fairly well in ALL of them. Speedwise, Mono is much faster than Python – up to several hundred times faster according to some benchmarks. It has a fraction of the memory footprint of Java applications. It has modern features such as garbage collection which make it easy peasy to write code with compared to malloc()-happy C or C++. It is a well-balanced framework. As such, for people looking to write apps for a Free Software environment, it offers a compelling choice of framework on which to build. Several apps which have only existed for a short time – such as GNOME Do – make full use of functionality provided by Mono in order to be written very quickly and easily, compared to chasing SIGSEGV around due to human errors inevitable with C-based development. Mono was first conceived as a way to escape from the absolute horror of maintaining a large GUI C codebase (Evolution). Taking it further, Mono on the whole also enables easier migration – for both developers and users – from legacy CLR frameworks such as Microsoft.NET. Students who learn Visual Studio.NET at University can take their skills and directly apply them to creating or improving Free Software on their shiny new Ubuntu installations, without the need to learn a new language. Businesses with investment in .NET-based applications can look at replacing their servers or desktops with Free Software. Whilst providing .NET compatibility has always been a secondary goal, it is an extremely popular one, which has prompted a lot of input and development work from assorted people into the Mono codebase. It should be noted, however, that this use-case (Windows migration) is not cause for including Mono by default (any more than, say, Wine), and indeed, the libraries required to run the majority of Microsoft.NET applications are excluded from Ubuntu installations due to lack of necessity. Why it is not a threat This is a question which will cause nothing but angry flames – although it certainly won’t harm your page hits and resultant ad revenue. Mono is not a threat because it is not special in any legal regard. Many people have spent hours if not days and weeks attempting to explain this. I’ll try to do so again. There are a whole smattering of reasons why it’s not an issue, covering a wide range of topics. I’ll present these points individually. Why Mono should be included in Ubuntu by default It shouldn’t. Not in the sense that has been publicised on blogs, newsgroups, forums, and so on. We don’t want Mono installed by default on any distribution. Mono is a software platform, and software platforms are boring at a user level. Ubuntu shouldn’t ship with Java, Scheme, Assembly, LISP, etc, frameworks by default either. They are not interesting to users. What we want by default are GREAT APPS. A user should boot an Ubuntu, Kubuntu, Xubuntu, or whatever CD and say to themselves “Wow, this Free Software stuff is great, I definitely don’t need Windows anymore”. All Ubuntu derivatives, as with all distributions of Free Software seeking to convert people to Free Software, should be chasing the best applications available. In the case of Ubuntu, a decision was made to include a note-taking application and a simple photo library manager, by the Desktop Team. They determined that the best note-taking application to offer their users was Tomboy. Tomboy has a feature set far greater than the “Sticky Notes” applets provided in both GNOME and Windows Vista, and can be seen by new users as an easy replacement for Microsoft’s proprietary OneNote product, which retails for £80. The only other comparable GNOME application is Zim, a “Desktop Wiki”. Zim is a high-quality product, but it was decided by the desktop team to use Tomboy instead, as it is easier for non-technical users (and is the default application in its class as picked by the GNOME project). They also determined that the best photo manager to offer was F-Spot. F-Spot is directly comparable to Apple’s proprietary iPhoto application, or Google’s proprietary Picasa application. It is NOT directly comparable to “file browser” type applications such as gThumb, as one of the key features of photo album applications is allowing you to tag your photos with important metadata – gThumb works on a per-folder basis, not on a “all my photos” basis. Both Tomboy and F-Spot require the Mono JITter, and a set of libraries such as GTK#, in order to execute. So in order to offer these best-of-breed Free Software applications to new users (determined to be best-of-breed by the Ubuntu Desktop Team), parts of a Free Software runtime are required – the same way including the GNOME System Monitor requires GTKmm. As long as Tomboy and F-Spot are best-of-breed, they should be included – and with that, whichever libraries they happen to use. If other Free applications surpass one or both of these, then they should be used instead – if a Mono-based application surpasses a different application in a different class, it should be used instead. This is not based on preference for a given framework – although it is my personal belief that a high-level language such as C# or Python enables developing such an application much more quickly and easier than C would. The post on Linux Today Your initial post makes it clear that you are not even-handed on this topic. Here are some specific phrases whose purpose is to “throw mud”, and show your pre-determined judgements on the topics you claim to want to hear about. It is THIS, clear preconceptions and bias, which compel those with plenty of insight on Mono-related topics, not to bother. Which leaves only the anti-Mono people to pretend they have a majority. “There are other, better applications that could be included” – Name them. “forcing Microsoft technologies” – Help! Help! I’m being oppressed! No, not really. Good technology is good technology, and Not Invented Here never helped anyone. None of the Desktop Team are pro-Mono (most of them are Python fans), and no unilateral decisions are made over which applications to include. Nobody is “forced” over anything. No Mono-related packages have been marked as Essential:yes. “unholy embrace into Ubuntu” – Demagogy. Microsoft are a corporation, not a supernatural entity. Suggesting any level of “unholiness” gives far too much credit to them. They are a corporation, with a wide selection of idiot senior managers, and a limited selection of competent developers. Nothing more. “Mono fans have been creating a giant ruckus in the Ubuntu forums” – actually, it’s the anti-Mono crowd responsible for this. If you refer to accusations of censorship, then you’re being mislead (or intentionally misleading). Those who read the specific details of those accusations can find rudeness, threats, arguments, and worse – with anti-Mono people at the core. Childishness does not win arguments – nor friends amongst moderators. “have not bothered to say why removing Mono from the Ubuntu installation CD” – To this, I offer a quote from Thomas Jefferson – “Ridicule is he only weapon which can be used against unintelligible propositions. Ideas must be distinct before reason can act upon them”. Demands to remove Mono from a default Ubuntu system are not based on any rational suggestions – there are no packagers offering superior replacements, only people demanding that because in their personal ill-informed opinion everyone will be sued to death, that Mono applications should be purged. This is, in short, software terrorism – demanding a change in someone else’s policy and telling them they are not Free to make their own choices, based on personal politics. Rational minds can dissent on questions of Mono, but until there are adequate replacements for Mono applications, complete with functional migration path, the choice is simple – make Linux suck more by moving to an inferior default application set, or “make do” with Mono. It should be noted that people with rather more to lose than random anonymous people on web forums – such as Mark Shuttleworth – have said on record multiple times that they don’t have any such fears. I would personally support a move from any Mono-based application to a non-Mono-based one, with demonstrable technical superioriority. “simply including it in the standard repos is not acceptable.” – It’s perfectly acceptable – however, it’s not the only argument put forward. Suggestions range from reclassifying Mono as non-Free (moving it to third-class citizen status), to its complete removal from the archive, to the expulsion from both Debian and Ubuntu for anyone who has worked on Mono packaging. Free apps in general should be in the standard repos – regardless of their implementation framework – but if a specific application is best-in-class, it should be included by default. “The inability of Mono fans to answer that simple question has me a bit bothered, as though there is a deeper agenda.” – If you want to make accusations, make them plain. Don’t play the Fox News game of “well, I find it *interesting*” – call a spade a shovel. If you have specific accusations to make about people who are not anti-Mono, then make them, or to put it bluntly, don’t spread lies. The anti-Mono “movement” Some people are “for” things. They are for Freedom, or for technical superiority, or for a sports team, or whatever. Some people are “against” things. They are against political candidates, or Microsoft, or people from certain places, or whatever. Some people define themselves on the basis of what they want, others on the basis of what they do not want. Mono causes immense anger amongst that second group – specifically, people who use GNU/Linux not because they are “for” anything, but because they are “against” Microsoft. This can be easily seen – using names like “Microshaft” or “Micro$oft” or similar childish attempts to define a “them and us” situation and ridicule the “them”. Mono is symbolic – it is Free (something they are supposedly in favour of), but Free on the basis of something sourced from the Great Satan – an inexcusable mix. Many of those who advertise themselves as anti-Mono are, quite frankly, frightening. Calling for the deaths of Microsoft employees (see comments on Boycott Novell), or trying to have people who make positive comments about Mono fired (see recent comments on Ubuntu mailing lists), or making insinuations about anyone who does not agree with them (see pretty much every news post on Boycott Novell itself) – this is ugly behaviour, the absolute worst kind of advert for the “Free Software community” imaginable. If people want to be “against” Mono, then there are sane ways to do it – for example, by working on or packaging alternative software. Calling for people to be expelled from Free Software communities because they don’t work on apps you like is, in short, the antithesis of supporting Freedom. If the anti-Mono crowd want to be taken seriously, then they need to UNDERSTAND what they fight against – they need to have sufficiently intimate knowledge of what Mono is, how it works, and why, in order to know where to direct their energies (and general shouts of “ZOMG! MICRO$HAFT!” isn’t well-directed). I would LOVE to see some high-quality apps for GNOME written in, say, Java or Python – as the competition would only result in better applications. However, the vast majority of the anti-Mono crowd are not developers or packagers – they are back-seat drivers. They make proclamations about how other developers (who are surrendering their time to developer Free Software) should instead use the framework of THEIR choice, not the developer’s. This is another reason why anti-Mono arguments are given so little respect – the sheer cheek, the PRESUMPTION that they somehow are in a position to make demands of other developers, is galling. Free Software is a meritocracy – those who do things earn respect. Until the anti-Mono crowd actually make a contribution to Free Software, they will continue to be treated as cranks – and their questions left unanswered. In the end, there is NOTHING which will cause the Mono controversy to disappear – as long as vague threats of legal attacks are manufactured and fuelled by certain members of the community. Much like a presidential birth certificate, there is simply nothing which will placate those who have already made up their own minds without any concerns about basis in reality or fact. Anti-Mono arguments based in reality or fact are fine, and I welcome them – but I’ve very rarely seen them. And even when they are offered, they are offered drowning in a sauce of demagogy and FUD so thick as to obscure the salient point. So, I think that’s what you were looking for. Repost it or don’t. It’ll make for a new chapter in the daily personal attacks I receive from the oh-so-sophisticated anti-Mono crowd. –Jo Shields ——– (Edit: Belarus translation) -------------------------EOF--------------------HERE WE GO AGAIN – WHY MONO DOESN’T SUCK
Understanding is a three-edged sword: your side, their side, and the truth
相关推荐
此外,这也可以为研究者提供一个基础平台,以便他们在VINS-Mono的基础上进行改进和创新,例如优化数据结构以提高效率,或者引入深度学习方法增强特征检测能力等。 总的来说,VINS-Mono的点线优化是视觉SLAM领域的...
在Mono平台上开发安卓应用时,菜单栏的制作是构建用户友好界面的重要环节。 Mono 是一个开源的.NET框架,它允许开发者使用C#等.NET语言来编写跨平台的应用程序,包括Android。本教程将深入探讨如何在Mono环境中创建...
VINS-Mono是一款由香港科技大学开发的开源视觉惯性导航系统(Visual-Inertial Navigation System,简称VIO),专门用于实现单目相机的SLAM(Simultaneous Localization And Mapping,即同时定位与建图)任务。...
标题 "FiraCode + Operator Mono.zip" 暗示了这是一个包含两种特定字体的压缩文件。FiraCode 和 Operator Mono 是广受欢迎的编程字体,专为程序员设计,以提高代码可读性和美观性。 FiraCode 是一种开源的等宽字体...
Mono环境下的WinForm开发是一种跨平台的技术,它允许开发者使用C#语言和.NET框架构建的Windows应用程序在非Windows系统上运行,比如Linux。这个技术基于Mono项目,一个开源的.NET实现,旨在提供与Microsoft .NET ...
标题中的“YaHei.mono(YaHei.Consolas修改版)”指的是基于YaHei.Consolas字体进行修改的一个新版本,特别设计用于编程环境。YaHei.Consolas是一款深受程序员喜爱的等宽字体,它的全称是“微软雅黑Consolas混血版”,...
标题中的“dotnet程序可否跨平台检测工具MONO-Moma”揭示了本文将要讨论的是.NET Framework应用程序在非Windows操作系统上运行的可能性,以及如何利用MONO-Moma工具进行兼容性检测。MONO-Moma(Mono Migration ...
"微软雅黑"和"MONO"是两种广泛使用的字体,它们各有特点,并且在特定场景下有着各自的适用性。本压缩包文件"微软雅黑 vs MONO(完美结合版).rar"似乎提供了这两款字体的某种结合版本,这可能是为了满足设计师们在不同...
《Practical Mono》是一本关于Mono技术的珍贵资源,它以PDF扫描版的形式存在,是学习和提升Mono技能的重要参考资料。Mono是一个开源的.NET框架,它使得C#、VB.NET等.NET语言能在多种操作系统上运行,包括Linux、Mac ...
标题《Mono-mbe版源码编译.pdf》所包含的知识点主要围绕在Linux环境下编译Unity Mono-mbe版本源码的过程,尤其是生成用于安卓平台上的动态链接库(dll)热更新和dll加密的libmonobdwgc-2.0.so文件。接下来,我将详细...
本文将详细探讨三种常用的编程字体:Bitstream Vera Sans Mono、Monaco以及YaHei Consolas,并分析它们的特点和适用场景。 首先,让我们来看Bitstream Vera Sans Mono。这款字体是开源的,设计简洁明了,特别适合...
Mono的常见操作包括`just`(创建一个包含单个值的Mono)、`empty`(创建一个无值的Mono)和`fromCallable`(从Callable中创建Mono)。 Flux则代表0到N个值的发布者,它可以处理一系列的值,如读取文件或从流中接收...
由Xamarin公司(现已被微软收购)维护,MONO支持跨平台的.NET应用程序开发,让开发者可以利用.NET的技术在非Windows系统上构建软件。 MONO Developer是基于MONO的集成开发环境(IDE),它提供了一个完整的工具集,...
【Dnspy】Unity-debugging相关mono补丁 在Unity引擎的开发过程中,调试是必不可少的一个环节。DnSpy是一款强大的.NET反编译器和调试器,它支持IL(Intermediate Language)代码查看、编辑和调试,这对于理解Unity中...
Mono 编程初级入门 ...Mono 是一个开源的 .NET 平台,它提供了跨平台的开发环境,开发者可以使用 C# 语言和 CLI 来编写程序。Mono 的安装过程相对简单,开发者可以根据自己的需求来选择安装目录和 License 协议。
在安装 Mono 之前,作者首先介绍了 Mono 的概念和特点,指出 Mono 是一个开源的、跨平台的.NET Framework 实现,能够使.NET 程序在 Linux 下运行。然后,作者详细记录了安装 Mono 的过程,包括使用 wget 命令下载 ...
标题 "ZYSOCKET Android MONO 4.2.2" 提供了我们即将探讨的关键信息:这是一款专为Android平台设计的基于MONO框架的ZYSOCKET类库,且其版本号为4.2.2。MONO是.NET框架的一个开源实现,允许开发者在多种平台上运行C#...
modified Mono.Cecil 博文链接:https://rednaxelafx.iteye.com/blog/245160
标题“MONO实现.NET程序脱离框架”涉及到的关键技术是Mono,这是一个开源的.NET框架实现,它使得.NET应用程序能够在不依赖Microsoft Windows操作系统或官方.NET Framework的情况下运行。这为开发者提供了跨平台的...