iOS/Android的Mono打开还是关闭?付费还是免费?
我正试图学习更多关于移动/平板电脑开发的知识,作为一名.NET开发人员,我自然会被Mono吸引。但我很困惑——我以为Mono是免费的开源的;然而,所有迹象似乎都表明Mono是一个“付费游戏”的交易(https://store.xamarin.com/) 有人能帮我理解哪个是正确答案吗 谢谢iOS/Android的Mono打开还是关闭?付费还是免费?,android,.net,mono,xamarin.ios,xamarin.android,Android,.net,Mono,Xamarin.ios,Xamarin.android,我正试图学习更多关于移动/平板电脑开发的知识,作为一名.NET开发人员,我自然会被Mono吸引。但我很困惑——我以为Mono是免费的开源的;然而,所有迹象似乎都表明Mono是一个“付费游戏”的交易(https://store.xamarin.com/) 有人能帮我理解哪个是正确答案吗 谢谢 马特单声道本身是免费的。这并不意味着所有用mono编写的东西都是免费的。android的mono也是如此。有人花时间编写软件,使mono与android一起工作。仅仅因为它是用mono编写的,并不意味着他们必
马特单声道本身是免费的。这并不意味着所有用mono编写的东西都是免费的。android的mono也是如此。有人花时间编写软件,使mono与android一起工作。仅仅因为它是用mono编写的,并不意味着他们必须免费分享它。他们唯一需要分享的是mono本身的任何变化。仅仅因为android是免费开放的,并不意味着我不能制作应用程序,也不能要求人们购买它们来使用它们。更新(2016/03/31)
- )
- )
免责声明:我为Xamarin工作作为一名长期的.Net开发者(从1.0开始),我可以告诉你,如果你不是一个爱好者,你在MonoTouch和MonoDroid上花的任何钱都会在很短的时间内带来巨大的回报 用户界面当然有一个学习曲线,第三方控制环境的健壮性远不如Windows平台,但针对.Net framework编程的能力(即使语言是C#)是一个无法形容的优势,值得花在Xamarin上的每一分钱
我们能够在不到3个月的时间内将一个为平板操作系统和PocketPC编写的50万行VB.Net应用程序移植到iPad上,包括本地数据库支持、web服务交互等。现在我们有了一个公共服务层,为Android创建UI应该需要不到一个月的时间。届时,我们将拥有一个应用程序,该应用程序将在iOS、Android、Windows桌面、Windows平板电脑和Windows Phone上具有类似的功能。用我每年在微软生态系统中花费的数万美元,我当然做不到这一点。老帖子,但poupou的回答需要一些澄清和补充信息 首先,自从Poupou发布后,Xamarin在整个Mono/Android/iOS堆栈中添加了一个新的社区版许可证,允许应用程序的封闭源代码分发,但该许可证仅限于二进制文件的大小。在实践中,甚至一些Hello World应用程序也超过了community edition二进制大小限制,因此在我看来,根据任何实际定义,这都不是一个真正的选择 也就是说,核心Mono运行时和运行时库是在LGPL下授权的。这使得在应用商店中使用mono运行时而不从Xamarin购买商业许可证就很难发布封闭源代码软件,但并非不可能。据我所知,LGPL允许的一个选项是为应用程序提供对象文件。这将允许用户将应用程序的对象文件重新链接到不同版本的mono运行时,然后将重新链接的应用程序安装到他们的设备上。他们仍然可以访问对象文件,但如果愿意,您仍然可以关闭源代码。我不是律师,但我认为你可以为这些目标文件收费,并仅根据请求分发它们 如果你想使用mono发布一个开源应用程序,你将处于有利地位,因为你当然可以发布应用程序的目标代码,还可以发布应用程序的完整源代码,允许用户将mono重新链接到自己的应用程序版本中,从而满足LGPL的要求 现在,问题来了。虽然我上面说的是真的,但它只适用于核心mono运行时。这是因为核心mono运行时拥有开源许可证。您可能会惊讶地发现,Xamarin提供的用于将.net mono代码连接到android和iOS平台UI/系统库的特定于平台的绑定(即库和开发工具)都不是开源的。所以,Android的Mono和MonoTouch(还有monomac?)既不像言论自由那样自由,也不像免费啤酒那样自由。它们都是100%的商业产品。现在,我被告知您可以私下申请与开源兼容的许可证,但您的开源项目必须事先获得批准,这意味着您将无法利用封闭源代码项目的目标代码选项,我不知道Xamarin会对此类许可证施加何种限制(我怀疑类似于社区版的限制)。