我应该开源我的MonoTouch .NET iPhone应用程序吗?

时间:2009-11-07 20:21:38

标签: iphone .net open-source xamarin.ios

这是一个名为Simon Basic Edition的小应用程序,它位于Apple Apps Store 游戏中的前100名>儿童

第一个版本非常基础,但我在1.1中做了一些改进。这是一周前提交给iTunes Connect的。

基于相同的来源,我写了另一个Simon Cards Edition,它也在等待App Store的批准。 应该有一个与着名艺术家共同开发的另一个版本。

我正在寻找有关 iPhone应用程序开源的优缺点的指导,以及发布此代码的更多实用方面(许可证,存储库) 。由于我也在编写其他应用程序,我想知道它是否适用于多个应用程序的策略

3 个答案:

答案 0 :(得分:4)

我在BSD许可下开源my first iPhone application,并没有后悔这个决定。我写这篇文章是为了教自己开发iPhone的细节,并想到我会发布代码来帮助其他人做同样的事情。我甚至写了couple posts关于我在开发这个应用程序时学到的东西。我也使这个应用程序免费开源,因为它依赖于纳税人资助的科学资源,我觉得收取与这种设施相关的任何东西都是错误的。

您将从中看到的一个好处是您网站的流量。首先,拥有一个免费的应用程序将为您带来大量的下载和来自好奇用户的大量访问。自App Store推出以来,我的应用程序已被下载超过50万次。其次,有很多iPhone开发人员渴望获取信息(这个数字日益增长)。源代码已经下载了数万次,关于开发应用程序的文章已被超过60,000个独立访问者阅读。

从长远来看,网站流量以及从不同地方到您网站的链接将通过提供曝光率和显着提高您的Google网页排名来帮助您。我收取的second application,如果我没有建立我对开源应用程序所做的那种认可,就不会做得那么好。

但是,不要指望对您的开源应用程序做出重大贡献。从我见过的成千上万的代码下载中,只有三个人贡献了任何东西。除了法语本地化之外,这些贡献只是小错误修正。

至于打开源代码的实际问题,我在我的网站上托管最新版本的代码的tarball时没有太多问题。没有人抱怨缺乏存储库。许可方面,由于iPhone上的GPL和LGPL许可证存在问题,我建议使用BSD风格的许可证,以及我认为GPL和LGPL许可证支持许多开源项目(Daniel Jalkut阐述here} )。

答案 1 :(得分:2)

为了开源而开源是纯粹的情感决定。在现实世界中,开源采购是一种应该谨慎使用的策略,同时要充分考虑其对目标的影响。主要问题是“如何从开源代码中获益?”。

因此,您必须弄清楚在编写这些应用时您的目标是什么。你是想通过它们赚钱还是为了娱乐和学习而写它们?

如果答案很有趣并且学习,你可以开源并看看别人会从你的想法中得到什么。从社区中可以学到很多东西;在实际尝试建立社区时,您将获得宝贵的经验。 (“如果你构建它,它们就会来”在现代社会中不是一个有效的原则,在软件行业中也是如此。只是开源你的代码并不一定意味着任何人都会感兴趣;你必须积极建立你的社区以各种方式)

如果您正在尝试通过这些应用获利,只有在应用是为您的获利渠道带来流量的商品的情况下(例如游戏中的礼品购买,激励广告,撰写电子书/关于体验的博客文章/文章)。如果应用程序是货币化渠道的主要引擎,那么开源就可以直接邀请其他人来蚕食您的利润。

答案 2 :(得分:0)

如果你想开源它,并且你有时间,你可能想写一篇关于使用Mono为iPhone编写可扩展框架的小电子书,因为这将有利于社区,如果你的简历需要更多,或许可以给你一些相当可观的东西。

如果您开源,您将编写与使用您自己的框架编写的应用程序竞争的应用程序,并且您希望查看许可证以了解人们如何修改您的代码。我认为任何过于严格的限制都会产生问题,但是,如果他们使用框架并添加它,那么可能需要提供未修改的库,但是他们的修改可以保留为私有。对于商业应用程序,这将最有效,但是,您可能会减少提交错误修复的人数。

您可能希望查看双层版本,因此对于少数版本,他们可以拥有商业许可证,如果他们免费使用它,那么限制性更强。

我想问题是,您希望社区添加多少内容,以及您希望将其用于商业用途的数量,以及人们添加它的位置。

但是,我认为这本电子书可能非常有用,特别是如果你把它作为一个维基,其他人可以继续加入它,所以它可能更有用。