Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I won't release my software source code, and it will be a commercial application. Can I use the MySQL without paying any fee to MySQL? if it is illegal, any alternative database suggest?
Yes, and you don't have to release your project's source (but you do have to release any modification you make to MySQL itself (only those not the whole program) if you also release your project in binary form containing the modified MySQL code)
In more simple terms, if you modify MySQL and those modifications end up being distributed in binary form you have to publicly release the aforementioned modifications.
MySQL itself is open source and can be used as a standalone product in a commercial environment. If you're running mySQL on a web server, you are free to do so for any purpose, commercial or not. If you run a website that uses mySQL, you won't need to release any of your code. You'll be fine.
mySQL has enterprise licenses with (I think) a different code base, and premium support by Sun, but those are entirely optional.
There are limitations on redistribution of mySQL within a closed source product, and linking against mySQL libraries as was pointed out in a different comment. As for redistribution:
OEMs, ISVs, VARs and other
distributors that combine and
distribute commercially licensed
software with MySQL software and do
not wish to distribute the source code
for the commercially licensed software
under version 2 of the GNU General
Public License (the "GPL") must enter
into a commercial license agreement
with Sun.
if you are looking to redistribute mySQL along with a commercial product, check their legal page. I think most companies circumvent this by installing the mySQL server separately.
GPL and linking against client libraries?
I don't know what the fact that the GPL (the license mySQL is distributed under) forbids linking against closed source software means for applications that do not link against mySQL directly, but ship with mySQL client libraries. Do those have to be Open Source? If anybody would like to shed a light on this, in a separate answer or a comment, I'd be most interested.
From what I understood:
If you use MySQL "as is" just for the testing purposes - you are free to use it.
If you modify the MySQL
you are still free to use it BUT you have to make the modifications you made public (GPL is "transfering")
If you redistribute MySQL or work derivated from MySQL in any way, then this says it all:
Q3: As a commercial OEM, ISV or VAR, when should I purchase a commercial license for MySQL software?
A: OEMs, ISVs and VARs that want the benefits of embedding commercial binaries of MySQL software in their commercial applications but do not want to be subject to the GPL and do not want to release the source code for their proprietary applications should purchase a commercial license from Oracle. Purchasing a commercial license means that the GPL does not apply, and a commercial license includes the assurances that distributors typically find in commercial distribution agreements.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm currently working on a closed-source commercial web-project which uses MariaDB as the database. I wonder about the licensing of MariaDB. Do we have to get a license to use it with our commercial project? On the website, they mention the "GNU General Public License, version 2". What exactly does that mean?
http://kb.askmonty.org/v/mariadb-license
The GPL (GNU General Public License) states that you can use the software free of charge, but you cannot modify and sell it unless you release the source code. This means you can use it in your closed-source project.
MySQL was originally under the GPL, but has some different licensing issues since it was bought up by Oracle. You may still use it under the GPL, but Oracle also offers commercial licenses.
There is a couple of ways to use MariaDB with your commercial closed source software:
You can buy a license from Oracle to MySQL and then ask Monty Program Ab to give you the right to use all the changes MariaDB have done to MySQL with your project.
You can use a connector to MySQL that is not GPL and which provides access to more than one database. In this case the GPL of the server does not affect you. You can get such a connector for example from SkySQL.
Read also: http://kb.askmonty.org/en/licensing-faq
MariaDB is only distributed with the GNU GPLv2 license. There is not a commercial license, and there will never be for legal reasons.
However, why do you think you need a commercial license?
You need it only in 2 cases:
Your application uses some plugins that are commercial, or use a license which is not compatible with GPL2.
MariaDB is embedded in your application.
But usually applications just connect to a MariaDB server, and there is no legal issue, even if they are non-free.
I might be wrong, but i don't think that is going to be possible: MariaDB is a branch from MySQL GPLed version. Only MySQL (i.e: Oracle) holds the copyright, and hence is allowed to license the code under a different license. MariaDB does not (up to my knowledge) holds any copyright to the original MySQL source, and hence they cannot relicense it.
I do not think the provided answer is fully correct. The key issue here is how you use the DB, i.e. how you make DB requests, if you in any way link your code to the client library then you are required to release your project under a license compatible with GPL (i.e. the license compatible with the library you link to), I am not sure how it is when you just use a command line tool, but considering the spirit of GPL it would be the same.
Your situation depends on a technology used, but I believe you would use some kind of html middleware, the license of which would be the key issue here - if apache, then you are free to go on with your closed source project. If you are going to buy a host service for your project, then it is not your problem to worry about the license.
Can I use mySQL in my commercial windows project? Are there any license issues? Which version should I use?
Surprisingly, since the server is not linked with your application directly, you can distribute the MySQL Community server unmodified or modified, as long as you follow the GPL terms. (in short, if you modify the server, you need to make the modified source available)
The client library is another story, however. If you are distributing your commercial project, you cannot distribute the MySQL client libraries freely along with your software if your software is not GPL-licensed or another OSI-approved open-source license.
This is called the MySQL FOSS license exemption, more can be found out about it here:
http://www.mysql.com/about/legal/licensing/foss-exception/
http://www.mysql.com/about/legal/licensing/index.html
You will either need to purchase a license to distribute the mysql client libraries, use another client library (highly unlikely to happen, as there aren't many good libraries that don't wrap the official one) or make your software open-source.
(I am not exactly sure on the legality, but it might be possible to have your customers download the mysql client libraries themselves, but I think it will still constitute 'linking' against a closed source app, therefore still violating the terms. In either case, this is definitely an added hassle for a commercial app.)
It might not be an option for you, but it's worth noting that PostgreSQL is licensed under the BSD license, and sqlite3 is in public domain. Both are a bit more friendly towards linking with commercial code.
As per their explanation, you can use it for free but you will be obligated to release your commercial windows project under the GPL. To keep your code proprietary, you need a commercial license.
Have you every try to search the official site of MySQL for license information?
-- (update) --
OK, since you are "not confirm", let me summarize in short:
"If you want to use MySQL in your commercial program, you must either make your program GPL (i.e., open source, which apparantly not your choice) or Pay Them For a Commercial License".
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I have a software which wrote and includes within several components each of which comes with its own license.
In sum, all 24 components in use are sharing the following licenses:
Public Domain
GPL
LGPL
BSD
MPL
Questions I ask are:
Am I allowed to sell a compiled version of this software which links to all these components?
What is this is installed on a server (being a service) does this make any difference?
What if I modify the code, must I tell the world what did I do?
Public Domain
GPL
LGPL
BSD
MPL
Be careful with these licenses here. In particular, the MPL is not compatible with the GPL. Now, many (probably most) pieces of MPL licensed software are distributed under a dual license, in which you may choose to use and distribute the software under the terms of the MPL or under the terms of the GPL (or sometimes LGPL). But in that case, you shouldn't list the MPL in the list of licenses you are distributing software under, because in order to link to software released under the GPL, you must be using the GPL (or LGPL) option of the dual-license.
Am I allowed to sell a compiled version of this software which links to all these components?
Yes (and the other licenses don't affect this, either).
What is this is installed on a server (being a service) does this make any difference?
If you are selling a service, in which you only run the software on your own computers and don't distribute the software to anyone outside of your company or organization, then none of these licenses impose any significant restrictions on what you may do. In particular, the GPL and LGPL do not require you to provide source code to anyone else in these cases.
If you are using a lot of third party software, it's still generally a good idea to contribute your patches back to the upstream project. Diverging from the upstream can cause a lot of problems in the future when you try to upgrade, and contributing code upstream will mean you get more people who are familiar with the projects you are modifying to review your code, which can help improve its quality.
What if I modify the code, must I tell the world what did I do?
If you distribute the software to anyone outside of your company or organization, then you must provide them with the source code, or provide them with a written offer to provide the source code at a later date, for no more than the cost of physically transferring the data to them.
If you do not distribute the software, then none of the licenses above impose any significant restrictions on you. The GNU Affero GPL, or AGPL, is the only license I know of that imposes significant restrictions on people who run software as a network service, and as you did not list that license in your question, I don't think it's something you need to be concerned about.
Note that I am answering these questions from the point of view of the GPL, which is the most restrictive license that you list. Effectively, when you link several pieces of software with these licenses together, you can consider the whole to be licensed under the terms of the GPL (except for the MPL, which as I've mentioned, is incompatible). See the following slide for a visual depiction of compatibility between common licenses:
(source: dwheeler.com)
Yes, but see (3).
Yes, depending on your reading of the GPL. If it is your own server, you are argualbly OK.
If you distribute (i.e. sell) the executable, the fact that one of the components is GPL'd means you must also distribute your code.
Yes, but you must have a notice somewhere saying that some of the code(ie, everything but public domain) was under so-and-so license and it's source is available here.
No, shouldn't matter
Only for the GPL and LGPL code
AFAIK, you can't link to GPL code unless you use GPL on your software too (see http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem ). If you're linking some other software together with GPL code, it must have a "compatible license" (see http://en.wikipedia.org/wiki/License_compatibility ). This matched, you can sell your software for any price you want, assuming you deliver the source code or offers this delivery for no charge.
You can put GPL software on a server, with changes made on your own, without delivering the source code, as long as you don't give the binary to anyone. Google explore this possibility a lot, using GPL code to deliver proprietary services over the web. However, this behaviour is not possible with GPLv3 if it uses the "Affero clause" (aka AGPL)
If you distribute your changes as a binary, yes, you must. Otherwise, check (2).
1 : yes, cf earlz or Neil Butterworth answers.
2 : ??
3 : if you modify the GPL/LGPL libraries and you provide (give/sell) your product, you must distribute the code (more precisely, the modifications you did to the library).
My opinion : have these libraries in separate projects from yours, so there is a clear separation and you can easily provide a patch if asked.
DISCLAMER : I am not a lawyer, consult a lawyer if in doubt
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
There seems to be a lot of press regarding the announcement that Intellij is being made available for free as an open source tool. Yet from what I read of the licenses, that's only true if the end product is open source and free. If you plan on selling your end product, you can't use the free community version.
Have I misread something?
Only a subset of IntelliJ, the IntelliJ community edition has been released as open source software. The page that you linked to describes a special license of the "Ultimate" edition (which is not open source), that they are specifically giving for free to people who promise that they will only use it for writing open source software for non-commercial purposes.
According to the FAQ, the new open source version of IntelliJ is available under an Apache license.
To clarify:
The community edition of IntelliJ is available under the Apache license, which means you can use it for whatever purposes you want, including writing proprietary, commercial software. It also mean you can modify the code of IntelliJ yourself, sell modified versions of it, anything like that, as long as you abide by the Apache license.
The community edition does not have all of the functionality of the ultimate edition. It only has some of the functionality; for instance, it has support for Java and Groovy, but not Python or Scala. But the community edition can be used for any purposes you want, as long as you follow the terms of the Apache license.
The ultimate edition (which includes extra functionality as listed in their comparison) normally costs money. However, they are also offering the ultimate edition for free to people who promise that they are using it for non-commercial purposes for an open source project (I have no idea how they would actually enforce this, but that's beside the point). I believe this is an offer that they've had since before they released IntelliJ community edition as open source software; as a way of helping out open source development, without giving away everything to everyone.
So, go ahead and download the community edition, and use it for anything you want, from developing free software to developing commercial software to modifying IntelliJ yourself and selling it.
IntelliJ has a licenses folder that you can check out; For instance mine is located under here JetBrains\IntelliJ IDEA 129.111\license
You can see that there is a file called IDEA_OpenSource_license.txt
GRANT OF LICENSE
Subject to the terms, conditions, and limitations set forth in this
Agreement, including any amendments thereto, Licensor hereby grants to
Licensee a limited, non-exclusive, non-transferable,royalty-free
license to use the Software for a period of 1 (one) year as follows:
(a) Licensee may: (i) install the version of the Software that has
been specified in License Certificate on multiple Clients and
operating systems; (ii) use the Software by Authorized Users solely
for the purpose of development of non-commercial open source projects
that meet the Open Source Definition at
http://www.opensource.org/docs/definition_plain.html, and (iii) make
one back-up copy of the Software solely for archival purposes.
(b) Licensee may not: (i) sell, redistribute (except as set forth in
Paragraph 5 herein), encumber, give, lend, rent, lease, sublicense, or
otherwise transfer the Software, or any portions of the Software, to
anyone without the prior written consent of Licensor; (ii) reverse
engineer, decompile, disassemble, modify, translate, make any attempt
to discover the source code of the Software, or create derivative
works from the Software, or (iii) use the Software for any commercial
purpose.
Which seems to completely go against what the Apache License allows you to do
I wonder if this is a relic of a previous License before it was open sourced?
Edit
Dmitry Jemerov has posted on the following on the Jetbrains blog [source]
IntelliJ IDEA Community Edition is completely free and open-source,
licensed under the Apache 2 license and can be used for any kind of
development. Android Studio has the same licensing terms.
You will find that the free version has most of the features of IntelliJ removed, so you can get experience with IntelliJ, but if you really want to do anything of complexity with it you will need to buy the full-featured version.
But, if you use the free version how can anyone tell which IDE you used to create the java source?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'd like to use gSOAP in a product which will be distributed commercially. The use I have in mind is what I suspect is a pretty typical workflow—generating a header using wsdl2h, consuming the header with soapcpp2, and then calling the functions generated in the stub in my code.
I'm not 100 percent sure which license(s) I need to use to be able to do this. Has anybody here already gone through this and figured out the solution?
I hope the following clarification helps. Please contact us at contact#genivia.com for questions.
The gSOAP software requires a commercial license for commercial product development if any one of the following conditions hold:
If you use wsdl2h to generate code. Because the generated code is GPL by default, you should obtain a commercial license from Genivia (www.genivia.com/Products/gsoap/contract.html). The wsdl2h tool itself is GPL, and we hold the copyright rights to it.
Or you use the web server code in gsoap/samples/webserver. This component is GPL by default.
Or you use the UDDI components in gsoap/uddi2, which are also GPL by default.
The commercial license is a development site license. There is a one-time fee for perpetual use of gSOAP to develop a product (a "target application"). No royalties.
The other good news is that all other parts of the software are released under the gSOAP public license, which allows commercial use without fees.
So the answer is that as long as you do NOT use wsdl2h, do NOT use the web server code, and do NOT use the UDDI code then you can use the gSOAP public license for free (which is based on the MPL1.1 open source license and a copy of the gSOAP public license is included in the package).
Hope this clarifies our licensing model.
Robert van Engelen, Genivia Inc.
From the site:
Important note: the wsdl2h WSDL
parser, UDDI code, and sample
applications such as the stand-alone
web server are distributed ONLY under
the GPL or the proprietary license.
This means either your product will have to be entirely licensed under GPL (hence you would need to opensource your app if not so already), or you have to purchase a commercial license.
You have to purchase a commercial license -- one per project in which gSOAP is to be used. We've been using it very successfully in a few of our projects here.
The gSoap licence is quite unclear, and I think part of it is even wrong. For example, GPL use and commercial use are opposed in the licencing, which is plain wrong.
Moreover, a code generator which is GPL doesn't necessarily produce GPL code:
http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
As I understand the GPL, as long as you release all derived products under the GPL, the code is free for even commercial use. Of course most companies don't want to release their source code for anyone to copy freely, hence the commercial license. I think Genivia's summary is not as clear as it could be on this one point.