Question about GNU Lesser General Public License
Question about GNU Lesser General Public License
(OP)
Hello,
I have embedded in my FORTRAN main code a set of subroutines which are provided under Lesser General Public License. I intend to exploit the software code commercially and the source code is not to be disclosed. What are my legal obligations in this case?
- Am I required to provide the source code of the Lesser General Public License libraries/routines together with the main application closed source?
- Is it required to mention/reference the Lesser General Public License libraries being used (e.g. in software user agreement or alike place holder)
Please note that the source is compiled as DLL library.
In addition, I am curious - how do typically people find out about any (3rd party) external libraries being used as part of a main application, when they are not told so, if not by reverse engineering the main (obfuscated) code; however, this by itself constitutes a breach of terms of use unless done by someone legally authorized.
Thanks
I have embedded in my FORTRAN main code a set of subroutines which are provided under Lesser General Public License. I intend to exploit the software code commercially and the source code is not to be disclosed. What are my legal obligations in this case?
- Am I required to provide the source code of the Lesser General Public License libraries/routines together with the main application closed source?
- Is it required to mention/reference the Lesser General Public License libraries being used (e.g. in software user agreement or alike place holder)
Please note that the source is compiled as DLL library.
In addition, I am curious - how do typically people find out about any (3rd party) external libraries being used as part of a main application, when they are not told so, if not by reverse engineering the main (obfuscated) code; however, this by itself constitutes a breach of terms of use unless done by someone legally authorized.
Thanks
RE: Question about GNU Lesser General Public License
If you've copied these subroutines into your code you need to release your modified code as I'd imagine that constitutes modification in term of the license. If you simply are using the LGPU licensed external code in its original form like using an original external library with that unmodified code, then you don't need to release your own source code that references this external library. So if it's in the middle of your code then you are required to release your code as I understand it. If you modified the original work but kept it separate, then you just release that separate rework of the original licensed material.
RE: Question about GNU Lesser General Public License
From your response:
"....you can incorporate someone else's work that is licenced under LGNU provided you do not modify it... then you don't need to release your own source code.
However, if you .... incorporate it in any way into your own code you need to release your modifications."
That just seems a bit confuse to me, sorry.
I also do not understand the difference between incorporating routines into (the middle of) main code and using the routines as referenced external libraries.
In both cases the LNGU routines are unchanged. Do you mean difference between Case A and B as follows:
Case A
======
Main Code Start
'
'
LGNU Coding (modified or not)
'
'
End Main Code
Case B
======
Main Code Start
'
'
Call LGNU
'
'
End Main Code
LNGU Code Start (unchanged)
'
'
'
LNGU Code End
Case A would be release code source
Case B no release
Is this what you meant?
My main code calls the LGNU routines as third party subroutines (interacting via Inputs/Outputs dummy parameters).
The LGNU routines are not touched/modified in any way. They are just plugged "as is" to the main code.
Does this mean I have to release the main source code?
Thanks
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
If I read the article here
https://copyleft.org/guide/comprehensive-gpl-guide...
Finally, the preamble introduces two terms used throughout the license to clarify between the different types of combined works: “works that use the library,” and “works based on the library.” Unlike the GPL, the LGPL must draw some lines regarding permissibly proprietary combined works. We do this here in this license because we specifically seek to liberalize the rights afforded to those who make combined works. In the GPL, we reach as far as copyright law allows. In the LGPL, we want to draw a line that allows some derivative works copyright law would otherwise prohibit if the copyright holder exercised his full permitted controls over the work.
....
Thus, a two-question test that will help indicate if a particular work is a “work that uses the library” under LGPLv2.1 is as follows:
1.Is the source code of the new copyrighted work, I, a completely independent work that stands by itself, and includes no source code from L?
2.When the source code is compiled, does it combine into a single work with L, either by static (compile-time) or dynamic (runtime) linking, to create a new binary work, L+I?
If the answers to both questions are “yes,” then I is most likely a “work that uses the library.” If the answer to the first question “yes,” but the answer to the second question is “no,” then most likely I is neither a “work that uses the library” nor a “work based on the library.” If the answer to the first question is “no,” but the answer to the second question is “yes,” then an investigation into whether or not I is in fact a “work based on the library” is warranted.
I have in my case:
1=[no]
2=[yes]
So investigation is needed.
Why can't they make the matter clear in one sentence.
It gets so complicated!
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
If they say "investigation is needed" if the work is not "completely independent" then is seems the situation is not clear.
The most certain way to solve it may be to extract all the LGPL source code and replace it with function calls to an independent library, but there might be a lot of work in that.
Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/
RE: Question about GNU Lesser General Public License
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
Thanks for taking time to look at this.
Your quoted statement from copyleft.org, was preceded by:
This scenario, defined in LGPL as “a work that uses the library,” works as follows:
So what you quoted is applicable when you fall in the category "a work that uses the library". Agreed?
I propose to look at this statement that I previously mentioned:
1.Is the source code of the new copyrighted work, I, a completely independent work that stands by itself, and includes no source code from L?
2.When the source code is compiled, does it combine into a single work with L, either by static (compile-time) or dynamic (runtime) linking, to create a new binary work, L+I?
If the answers to both questions are “yes,” then I is most likely a “work that uses the library.” If the answer to the first question “yes,” but the answer to the second question is “no,” then most likely I is neither a “work that uses the library” nor a “work based on the library.” If the answer to the first question is “no,” but the answer to the second question is “yes,” then an investigation into whether or not I is in fact a “work based on the library” is warranted.
I distinguish the following variants (all with configured 'functions calls') and revisit my previous answer:
Scenario A: Separate compilations:
Source Code (I) -> Compiled: DLL (I)
Source Code (L) -> Compiled: DLL (L)
Functions calls: DLL(I) <-> DLL(L)
We have [1]=Yes ; [2]=No => “work that uses the library” nor a “work based on the library.”
Scenario B: Combined compilation:
Source Code (I) + Source Code (L) -> Compiled: Combined DLL (I+L)
We have [1]=Yes ; [2]=Yes => "work that uses the library"
Then there is interpretation concern with this:
1.Is the source code of the new copyrighted work, I, a completely independent work that stands by itself, and includes no source code from L?
The very fact that my code (I) wont work without the addition of (L) makes it unclear how to answer this question. So if I do remove (L) the work does not stand by itself.
Thoughts?
I think best is to compile both DLL's independently to be on safe side (everyone agree), but that is some work - but in my case doable.
Is this what you meant IDS?
Thanks
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
Including no source code from L (in your code) I would have thought would be the key here. As soon asyou do this you need to open source your code.
Sorry for earlier confusion, re-reading it I meant it how you interpreted it despite my poorly worded reply!
RE: Question about GNU Lesser General Public License
Thanks.
Just to reconfirm my understanding of your latest post:
What you are saying is:
If I include source code from L (in my code) => I would have to open my code.
Is this correct?
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
If the DLL's are not physically provided to the user. For example, the program is run from remote via the cloud.
Do I have to disclose the source code to the user?
Case at hand is where LGPL is statusing that - for the counterpart situation where the DLL is physically provided - source code has to be opended.
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
I don't think that a cloud version obviates the license; if the LGPL software is not standalone in your program, then you're obligated by your acceptance of the LGPL to disclose your code. The fact that they might not have foreseen that eventuality does not negate the intent of the license.
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
Got it. Thank you very much indeed.
I think it is more or less clearer for me that I have to compile my code and the LGPL code separately so to make for two separated DLL's which interface via function calls. Then I would disclose that I am using LGPL covered software as you have indicated.
One drawback is that such LGPL disclosure (which I assume has to be enough detailed) will give to the user a strong hint on how my code work.
I would have preferred a pure black box/trade secret approach with the core procedures being undocumented.
But now this secrecy seems to be compromised to a certain extent.
Any hint how I could still mitigate this aspect?
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
"We use xxx software licensed under LGPL"
Ala,
Software Copyright
Copyright © 2015 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
...
Lesser General Public License (LGPL): The following is distributed under GNU Lesser General Public License (LGPL) which is at http://www.gnu.org/copyleft/lesser.html and is provided AS IS by authors with no warranty therefrom without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE (see the GNU LGPL for more details). Upon request, PTC will provide the source code for such software for a charge no more than the cost of performing this distribution. Said source code is likewise provided under the LGPL:
• FOX Toolkit Library (http://www.fox-toolkit.org).
• JACOB, Copyright (c) 1999-2004 Sourceforge JACOB Project. (http://sourceforge.net/)
• SimpleSAMLphp
• TinyRadius Copyright (c) Matthias Wuttke (http://sourceforge.net/projects/tinyradius/)
• xhtml2odt Copyright (C) 2009-2010 Aurelien Bompard (http://xhtml2odt.org/)
• JRegistryKey - A JNI wrapper of the Windows® Registry functions. Copyright © 2001, BEQ Technologies Inc. #205, 3132 Parsons Road Edmonton, Alberta T6N 1L6 Canada (780) 430-0056 (780) 437-6121 (fax) http://www.beq.ca
• Hibernate, Relational Persistence for Idiomatic Java. Copyright (c) 2011, Red Hat Inc. or third-party contributors as indicated by the @author tags or express copyright attribution statements applied by the authors. All third-party contributions are distributed under license by Red Hat Inc.
• SysTray for Java
• Hibernate
• JBoss
• Objectweb
• Regular Expressions for Java – package gnu.regexp
• StrutsTestCase for JUnit
• libodbc++
• eXist, an Open Source Native XML Database. You may obtain a copy of the source code at http://exist.sourceforge.net/index.html. The source code is likewise provided under the GNU LGPL.
• GTK+ - The GIMP Toolkit. You may obtain a copy of the source code at http://www.gtk.org/, which is likewise provided under the GNU LGPL.
• Java Port copyright 1998 by Aaron M. Renn (arenn@urbanophile.com). You may obtain a copy of the source code at http://www.urbanophile.com/arenn/hacking/download..... The source code is likewise provided under the GNU LGPL.
• Pentaho Data Integration. Copyright (C) 2007 - 2012 Pentaho Corporation. All rights reserved.
• JCommon (http://www.jfree.org/jcommon/).
• http://wiki.pentaho.com/display/EAI/PDI+License+FA...
• JCommon (http://www.jfree.org/jcommon/).
• xpp3, Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. (http://www.extreme.indiana.edu/dist/java-repositor...)
• OmniORB Libraries (OmniOrb is distributed under the terms and conditions of the GNU Lesser General Public License).
• The generic AIM library provided pursuant to the JAIMBot project (http://jaimbot.sourceforge.net/). JAIMBot is a modular architecture for providing services through an AIM client. It contains a generic AIM library and a Bot that uses this library to provide such services as Offline Messaging and Weather. PTC does not use the Bot.
• JExcelApi (http://jexcelapi.sourceforge.net/).
• 7-Zip Copyright 1999-2006 Igor Pavlov (http://www.7-zip.org).
• libiconv Copyright 1991 Free Software Foundation, Inc. (http://www.gnu.org/software/libiconv/).
• NHibernate © 200x, Red Hat Middleware, LLC. All rights reserved (http://www.hibernate.org/343.html).
• MPXJ © 2000-2008, Packwood Software (http://mpxj.sourceforge.net/).
• Java Server Faces V3.0.1 (http://java.sun.com/javaee/javaserverfaces/).
• DevlL Image Lib 0.1.6.7 (http://openil.sourceforge.net/).
• Zip Master Component Lib 1.79 (http://www.delphizip.org).
• Exadel RichFaces 3.0.1 (http://www.exadel.com).
• JFree and JFreeChart (http://www.jfree.org/). Copyright (C) 1991, 1999 Free Software Foundation, Inc.
• Memory DLLLoading code 0.0.1 (http://www.dsplayer.de/open source probjects/BTMemoryModule.zip).
• libiconv and libcharset libraries only (http://www.gnu.org/software/libiconv/).
• Jboss serialization (http://www.jboss.org/serialization/).
• JGroups (http://www.jgroups.org/).
• Java Getopt.jar file, copyright 1987 1997 Free Software Foundation, Inc.
• FindBugs™ (http://findbugs.sourceforge.net/index.html).
• wz_jsgraphics (http://swik.net/wz_jsgraphics).
• wz_dragdrop (http://swik.net/wz_dragdrop).
• The Ex-"Coolest" JSCalendar DHTML Calendar © Dynarch.com (http://www.dynarch.com/projects/calendar/old/).
• jTDS JDBC Driver: http://ebr.springsource.com/repository/app/bundle/...
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
Yes, fair enough.
Thanks for the example of how LGPL's are listed.
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
Do I have to disclose LGPL copyright aspects when the software is released in trial mode.
Per se, no contract is made commercially wise at that point.
I would expect the answer is 'yes', but just wanted to double check.
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm
RE: Question about GNU Lesser General Public License
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
When these error messages happen, they are causing the main code to crash and I do not want this.
If I edit/ delete these "write(*,*)" and recompile the subject LGPL DLL, does this mean I have to release my source code?
Thanks
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.
RE: Question about GNU Lesser General Public License
RE: Question about GNU Lesser General Public License
Thanks Agent666.
If you plan an escape, you must succeed as if you fail, you will be punished for trying. Never say or write down your plan. Heart is the only place where secrecy is granted.