Open source 我应该在我的商业应用程序中使用开源软件吗?

Open source 我应该在我的商业应用程序中使用开源软件吗?,open-source,Open Source,这一点一直让我对开源软件感到困惑。通常,我从头开始写。我想知道的是什么样的许可证允许我这么做?你为什么想做更多的工作?你当然应该。你所要做的就是用你的应用程序重新发布操作系统技术源(我不是律师,但我就是这么理解的) 假设 1) 您所说的是一个成熟的开源解决方案,比如hibernate,您可以合理地假设它运行良好 2) 你正在开发的产品并不是将开源技术作为你赚钱的“秘方”。否则,您可能必须开放应用程序的这一特殊部分的源代码。如果该软件确实适合您的尝试,那么它确实可以缩短开发时间。如果软件基本上符合

这一点一直让我对开源软件感到困惑。通常,我从头开始写。我想知道的是什么样的许可证允许我这么做?

你为什么想做更多的工作?你当然应该。你所要做的就是用你的应用程序重新发布操作系统技术源(我不是律师,但我就是这么理解的)

假设

1) 您所说的是一个成熟的开源解决方案,比如hibernate,您可以合理地假设它运行良好


2) 你正在开发的产品并不是将开源技术作为你赚钱的“秘方”。否则,您可能必须开放应用程序的这一特殊部分的源代码。

如果该软件确实适合您的尝试,那么它确实可以缩短开发时间。如果软件基本上符合你要做的事情,你可能会花更多的时间尝试使用它,而不是解决它要解决的问题

我不是律师,因此如果有疑问,一定要通过法律委员会获得执照


就许可而言,有许多许可证允许您将软件合并到您的商业应用程序中。大多数情况下,只要许可证不是类型许可证(即GPL),您就可以按原样分发软件。如果您必须进行与应用程序一起分发的更改,某些许可证将要求源代码也随应用程序一起分发,并说明与核心项目的不同之处。

远离GPL(LGPL可以),您将不会遇到任何问题。如果您想在应用程序中包含GPLed包,事情会变得棘手。BSD和MIT风格的许可证将使您承担最少的义务。通常,找到要使用的软件包并阅读许可证。他们通常非常直截了当地说明什么是可以接受的,什么是不可以接受的。

“通常,我从零开始写所有东西”?语言?操作系统?数据库文件系统?图书馆?真正地一切。多么惊人的工作量啊。为什么这么多?为什么不使用现有的操作系统或语言呢?你似乎因为想要改变你的方式而患上了“非发明于此”综合症:+1。集中你的问题。当然,与从头开始编写这些库相比,使用开源库可以显著缩短开发时间。听起来你真正的问题是第一个:在我的封闭源代码、商业发行的软件中,法律允许我使用哪些许可证类型?@S.Lott如果你不能理解我的问题,也许你应该考虑不回答这个问题。我投票把这个问题作为一个话题来讨论,因为它涉及法律或许可问题而不是编程。好的,谢谢。D。我几乎被吓跑了,直到我看到你的答案。上面的人就像巨魔一样。GPL不应阻止您使用软件构建产品。例如,GCC和Make是很好的工具。只需确保您没有发送GPL'd代码。那是你开始有义务的时候。