我正在敲定我的第一个iPhone应用程序; 并想知道我应该在哪里放置我在iPhone应用程序中使用的开源信用信息?我应该直接将它放在我的应用程序中(如果用户按下"关于"按钮,用户可以看到它)或将其放在文件中随附捆绑包吗?
我使用的2个开源框架有"新BSD许可证"和"Apache许可证".
你对这个问题的做法是什么?
谢谢.
我正在尝试为符合多个标准的商业产品开发数据管理解决方案.标准和我的推理如下:
要求#1:我的应用程序是用C#编写的,我希望任何解决方案都不涉及与其他语言的应用程序,库或代码集成.
要求2:我想要使用几个基于JSON的工具和库,所以我需要一个解决方案,其中数据可以容易地转换为JSON或从JSON转换.
要求3:我想避免使用关系数据库解决方案带来的架构维护.我更喜欢在代码中管理不匹配的数据到对象映射,并让代码更新旧数据,而不是单独管理模式更新.
要求#4:我要求始终将部分或全部数据加载到内存中,并将所有数据保存到磁盘.数据是否在内存中持续存在应该是每种数据类型可选的.
要求#5:安装我的产品时,我不希望进行任何二次安装或运行除我的应用程序之外的任何外部服务.一个完全独立的解决方案是最好的.
要求#6:预期用途是用于分布式商业产品.我宁愿避免许多第三方解决方案带来的任何额外费用或许可问题.
到目前为止,我尝试了几种解决方案 最初我没有那么多限制,并且使用了SQLite.NET并且它的使用并不令人不愉快,但架构维护和数据格式的开销超出了我的预期.我调查了很多NoSQL解决方案(例如RavenDB),其他第三方解决方案(Karvonite)和简单的JSON文件存储实现,但我对它们中的任何一个都不满意.
是否存在我缺少的自定义方法或解决方案,其他人已成功使用?我希望我只是忽略了我所追求的选项,并且那些NoSQL和.NET专家在这方面有足够的经验指出我正确的方向.
编辑:如果任何原始评论员感到困惑,我更新了问题和标题,以更好地遵守SO的政策.
以下是这个问题的背景:我有代码可以出售以获取利润,但我希望将其提供给个人和非营利组织,只要他们的代码仍然免费.
当一个库在GPL v2下发布时,公司可以在内部免费使用它吗?如果他们开发基于它的软件,他们是否必须在GPL下发布它,即使他们不分发它?他们是否可以通过使用(不分发)内部开发的软件来赚钱,这些软件链接到GPL的图书馆,而对作者没有任何补偿?
我正在寻找一个只允许非商业用途的软件许可证(复制,修改,链接); 由此产生的衍生程序也必须是免费的非商业用途.是否有任何软件许可证用于非商业用途,并阻止任何商业用途(包括使用该软件以赚钱)?看起来Creative Commons许可证足够灵活,可以做到接近这一点,但我反对将它们用于软件.你怎么看?
或者也许可以简单地写下面的内容?
"这项工作是在双重许可下发布的:
这是否有效地使该计划免费用于非营利性用途(复制,修改,使用......),同时保持商业用途的大门?
编辑:PS:在阅读完所有答案并在网上查找信息后,我认为这个问题的相关概念是双重许可.互联网上有大量关于它的信息,特别是关于GPL如何适合(或不适用)双重许可.
我想在应用程序中添加许可系统.例如:用户购买许可证1个月,并在该程序到期后(Kinda Anti-Virus风格?).
问题是应用程序应该在可能连接或未连接到互联网的系统中运行,那么如何防止日期时间变化?
将应用程序启动和关闭时间存储在加密文件中将不起作用,因为日期可以更改(每天8小时的程序正常运行时间,在理想情况下可以将许可证扩展到近300% - 更改应用程序关闭时间+ 1在启动计划之前的第二个).
另一个问题 - 有没有办法保护像http://en.wikipedia.org/wiki/Deep_Freeze_(software)这样的软件?(也许扫描司机?)
编辑:
我目前正在使用智能卡来存储许可信息,并将在关键功能上使用代码虚拟器(我知道在API调用上创建断点并检查传递的数据 - 不需要隐藏这些数据,只是为了确保事情如同计划)
如果一些不完整的软件作为GPL发布,它是永远的GPL吗?或者你可以重新许可吗?
假设所有代码都只由一个人编写,他们没有收到任何贡献.
这是我所知道的唯一一个消费者必须同意只有律师才能理解的东西的产品.我确信车祸每年都会比软件事故造成更多人死亡.但是当我买车时,我没有像EULA那样签名.
那么为什么软件有EULA?是否发生了一次意外事故,导致软件公司需要保护自己?(第一个有EULA的软件是什么?)
[更新]只是为了清楚我的观点:我不明白为什么软件有EULA.没有其他我能想到的产品(甚至不是枪)!那么是什么让软件与众不同,这个产品需要某种"责任限制"?
顺便说一句,维基百科说"美国收缩包装许可证的法律地位有些不明确."
虽然有一些很棒的ISV Startups程序(BizSpark,Emplower ISV等),但非初创公司的唯一选择似乎是Visual Studio w/MSDN.它不是那么昂贵(我为8位开发人员引用了10,080美元/年),但我很确定没有它我们会一样好.
我们需要非常标准的开发工作站(Windows,Office,VS2008),少量实际服务器(应用程序,文件,域等),以及一大堆"一次性"测试服务器(用于测试软件的安装/使用)产品).
这是计划:
如果我的数学对我有用,第一年的成本约为4500美元,接下来的几年则为300美元.不仅如此,我们还得到了所有那些很酷的塑料盒子.
缺点(我认为)是我们必须每120天回收"一次性"服务器(也许是好事,所以我们可以测试我们的安装?)而且我们没有得到微软制造的每一件软件(我不知道我们用它做了什么.
所以我想知道......这是一个疯狂的想法吗?我只是一个完整的小偷?这实际上有用吗?
我已经"继承"了一个新的(旧的?)Winforms项目,并希望将它放到我们的构建服务器(Bamboo)上.该构建服务器只安装了绝对最小值(.NET 3.5,而不是更多),我们希望保持这种状态.
作为第一步,我将Infragistics组件的所有汇编文件(*.dll)解压缩到一个单独的目录中,并从该本地目录引用它们(而不是依赖它们安装在GAC中).工作正常.
但是当我尝试在Bamboo(使用MSBuild)上运行此构建时,我不断收到错误:
Properties\licenses.licx(1):错误LC0004:创建类型'Infragistics.Win.UltraWinToolbars.UltraToolbarsManager,Infragistics2.Win.UltraWinToolbars.v7.2,Version = 7.2.20072.61,Culture = neutral,PublicKeyToken = 7dd5c3163f2cd0cb'系统发生异常.ComponentModel.LicenseException
经过一些谷歌搜索,似乎licenses.licx项目中的那些文件是某种许可方案,以防止工具安装在几台机器上.
但是,我如何摆脱那些,以便我的构建服务器构建将工作,而无需在构建服务器上安装完整的Infragistics组件集(这不是一个选项)?
嗯....经典的捕获22 - 任何出路?
build-automation licensing infragistics emptylicenseslicx licenseslicx
我发现了一些根据知识共享署名3.0(CC-BY 3.0)获得许可的代码.
我想选择它并将其放入我下载的程序中,该程序是根据GPL v2 +许可的.
然后我想再次在GPL v2 +(GPL v2或用户希望更高版本)下的一个软件包中公开发布混音作品.
我想知道是否可能.我一直在寻找GNU网站上的许可兼容性,但它只有一些关于CC-BY 2.0许可证的信息:
Creative Commons Attribution 2.0许可证(又名CC-BY)
这是一种非copyleft免费许可证,适用于艺术和娱乐作品以及教育作品.请不要将它用于软件或文档,因为它与GNU GPL和GNU FDL不兼容.
在该声明中写道,CC-BY 2.0与GPL不兼容 -
那么Creative Commons Attribution 3.0许可证是否与GNU GPL v2或更高版本不兼容?
更新:有人要求在这个问题上添加一些更具体的细节,它们是:
CC-BY 3.0下的代码示例位于:example-so-5462305.php.
我想将它集成到的代码在这里:Joomla_1.6.1-Stable-Full_Package.zip
我关于许可证兼容性的问题是将[1.]合并到[2.]中(以PHP类成员的形式成为现有代码的一部分),创建补丁,将其添加到正在驱动的项目的公知存储库中[2.]并期望它随后以[2.]的未来版本发布.
阅读许可证时我总是很困惑....
我想实现(说实话已经完成)一个商业iPad应用程序,它利用维基百科的内容.我被允许
licensing ×10
open-source ×3
gpl ×2
c# ×1
cocoa-touch ×1
database ×1
datetime ×1
eula ×1
history ×1
infragistics ×1
iphone ×1
json ×1
licenseslicx ×1
msdn ×1
nosql ×1
offline ×1
security ×1
wikipedia ×1
windows ×1