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'm building a java project packaged as a jar file, which is partially based on ANTLR generated lexer/parser.
My question is, is it standard practice to redistribute ANTLR's runtime classes within the jar file, or if users need to obtain the ANTLR runtime on their own and ensure it is setup correctly on the classpath?
ANTLR's license (http://www.antlr.org/license.html) states the following:
"Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution."
However the runtime package doesn't seem to include a license file. Does this mean it's ok to re-distribute the binary, as long as the ANTLR license is added?
Thanks!
Yes, if you're selling or otherwise distributing a packaged jar or executable, it's standard practice to include the ANTLR runtime. You can include a README file in your distribution explaining that the ANTLR runtime is included and providing a copy of the license.
If you need to, the ANTLR license allows you to zip the ANTLR runtime classes in with your own classes, so that you can have a single executable jar file.
Related
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 8 years ago.
Improve this question
We are developing an enrollment system through asp.net (c#), we are required to generate PDF reports and be deployed on a Web Host. We are going to use iTextSharp since it can be used for free but under Affero General Public License (AGPL). How can we deploy oursystem that is under Affero General Public License (AGPL) or more likely the free versions of iTextSharp ?
You need to distribute the complete source code of the project using iTextSharp using the same medium you use to distribute your software. For instance: in old days, software was distributed on a CD. In that case, the complete source code had to be distributed on the same CD(-set).
In your case, you are distributing the code on a Web Host (the main difference between the AGPL and the GPL is that putting code on a web site is also considered as distribution). This means that you should host the complete source code on the same site where you deploy your application.
Everybody visiting your site needs to have access to your complete source code. As many companies wish to avoid this, they purchase a commercial license.
There is also a persistent misconception where some project manager think "we did not modify iText, hence we do not have the obligation to share our code." That is wrong: linking to an AGPL library is generally considered being a modification of the library.
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'm about to publish a free software written with Qt 4.8 GUI, can I publish the stand-alone version with dlls such as QtCore? Do I have to publish my code also?
If possible, could you make some examples of using GPL license legally?
Thanks very much!
If you want to publish your software using GPL then you have to provide the source code no matter is it free or you charge money for it. In GPL "Free" doesn't mean cost free but freedom to change the code etc.
In your case if you don't wish to give away your source code, then you you should use LGPL license. Qt is available under LGPL license too. The only restriction it puts is that you cannot statically link with Qt libs. You ought to use dlls as you are using. And if you only use Qt dlls then you can even charge money for your application.
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License#Differences_from_the_GPL
You can use LGPL library in your commercial, closed source, non-free/free application provided you link to the LGPL library dynamically (using .dlls, .so etc.).
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 want to start a cross-platform project. I had my researches and now I am almost certain Qt is the right deal. There is a big obstacle here though: licensing.
I want to sell my project and I also don't want to give out any source related to my work or pay for a license. I checked and noticed Qt offers both commercial and open source solutions. I have heard too many conflicting sayings on Qt licensing which confused me a lot. Some say that even if I use LGPL version of Qt, I still need to submit my code. Is this true?
Can someone give me a simple explanation on Qt licenses and tell me if I can sell my application without any kind of restrictions at all or not? Would anyone tell me any other equivalents to Qt for cross-platform development without any restrictions?
Just dynamically link to Qt. If you dynamically link to LGPL libraries, there's nothing to worry about.
If you statically link to them, you can just distribute your object files (not your source code), and you'll be fine.
The idea of the LGPL is that the end user has to be able to replace the LGPL library with a version they want. Dynamically linking to the LGPL library lets you do that, as does statically linking and distributing your object files. So long as you do this, you can sell your closed source program all you want.
Of course, there's more to the LGPL than just this, but that's the relevant part.
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
Suppose I have a commercial license for Qt (say, for 4.5.2 ), is it possible to reuse part of the QtCreator (say, version 2.0) source code to develop a completely proprietary software? I read the QtLicensing information, but it doesn't provide any information about QtCreator licensing.
QtCreator is licensed under the LGPL just like Qt - check the Gitorious QtCreator source tree for details, specifically LICENSE.LGPL, LGPL_EXCEPTION.TXT, and the README where the various third party libraries used by QtCreator are detailed.)
Thus you can reuse the QtCreator source code in the same conditions that apply to any other LGPL-licensed product - see my answer here for additional details.
As klez said, the best thing to do would be to ask Nokia. However, if your commercial license is for Qt 4.5.2, I seriously doubt you can apply the same license to QtCreator 2.0, because QtCreator 2.0 is based on Qt 4.7. You will want to stick to QtCreator 1.3 with Qt 4.5.
Using the LGPL, you can include unmodified code from Qt Creator in a proprietary application, but if you modify any of the Qt Creator code, you must make that code (just the modified code, not your entire application) available under the LGPL.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Most of the places on the internet say it stands for WEB INFormation.
I rather doubt it. The folder contains executables. Information is not a suitable name for it.
As far as I know, "INF" stands for "Information", as you said. It probably was named WEB-INF for similarity with the META-INF directory in JAR files. Sometimes the meaning of a directory changes so much over time that it no longer makes sense. For example, bin directories in Unix/Linux often contain non-binary "executable" files, such as shell scripts.
I believe it's really named WEB-INF to mirror the META-INF directory in a jar file, which contains meta information. I do see what you mean about it being as much about executables as "information" but the main point is that it doesn't contain the documents of the application.
It's a directory to store private application content. Anything your app needs but your client doesn't can be stored there. Anything in that directory is not visible to the web.
Source:
http://tomcat.apache.org/tomcat-7.0-doc/appdev/source.html#Directory_Structure
http://docs.oracle.com/cd/E13222_01/wls/docs70/webapp/basics.html#136976
I think, the only logical definition is WEB-INF is mirror of META-INF. Naming is really important for beginners and if it is confusing then the subject is getting harder to understand.
The WEB_INF folder contains the web.xml (deployment descriptor) file, the classes, external libs etc and as web.xml file contains the information about the container urls, files etc, the folder is known as WEB-INF.