LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 05-09-2023, 03:46 PM   #1
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416
Blog Entries: 43

Rep: Reputation: 36
LGPL Requirements Clarified When #included C++


This is a licensing question ONLY. It's not meant the be exact legal counsel, except to make the decision at hand, with more confidence than before.

OK. I'll try to ask generally, as I'm not even looking for specifics. If I need to know more specifics, I'll mention that further down.

Let's say you have a library, or what I would call a library. It provides some function to an application or even operating system, where application is the more common. The language is C++. You may have code, that without replacing code in the library, if you remove the library, the code will not work, probably not even compile (and we're also talking about g++ as compiler). For example (fictional example in this case). I don't know off the top of my head whether this will ever be correct or not, or just always fictional.

Code:
...

PNF program("/program.pnf");
program.load();
program.loads2();
program.execute();
Now, the way the library has been currently designed, is to be used like this:

Code:
#include <desLib/deslib.hpp>

...
Perhaps, deslib, contains:

deslib.hpp
Code:
...

#include "classes/PNF.cpp"
PNF.cpp
Code:
#include "PNF.hpp"

PNF::PNF(char * n)
{
 name = n;
}

void PNF::load()
{

}

void PNF::loads2()
{

}

void execute()
{
 for (;;)
 {
  cout << "a..." << endl;
 }
}
PNF.hpp
Code:
class PNF
{
 protected:
  char * name;

 public:
  PNF(char * n);

  void load();
  void loads2();
  void execute();
};
OK. Now we have an example, this is by no means a smart or working program in completeness, but, we have an example...

Now, we put it together as specified above. You try to license the application code, containing main(), as GPLv3 or later. You want the library, containing the means to make it work, to be LGPLv3 or later.

Does this have the effect, of allowing the library, with it's current and stated intended use, to be able to be used in any program, with the lgpl code used however the person wants, including to be used in a non-gpl or lgpl program which is closed source? Or, because of the way it's linked in, must it be used only in GPL or LGPL code?

By the way, I think the thread belongs here, as it's only a license question, I would say.

I'll provide one additional detail: In a case like this, what is wanted, is to allow the program to be used in non-gpl or lgpl places, including commercial programs. It's designed mostly, to be useful to gpl apps, but since it's simply a library, it's desired that it can be used in multiple contexts.

A better understanding of the LGPL is required, in this case for me, and a general, but clear answer would be appreciated. It's a case a lot like bison and flex, when they were created. Regardless of whether I would like most or all software to be exactly free (in FOSS terms), what I'm trying to do, is create some FOSS that has some effect on some new type of license, but I consider it to not quite be proprietory. I want to use traditional FOSS, where I can. It relies on this FOSS, this other type. Both by design and idea. When I was less experienced, I wasn't sure that would work, now I am. But it's just that question that remains in my head. Now if NOT, that it can't be used in the intended way, please provide a general way to call the library to fix that case, but NOT very specific to any one app. Thanks! I hope you understand the question.
 
Old 05-09-2023, 03:48 PM   #2
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
P.S. - Asking here because I think you have some experts on LGPL.
 
Old 05-09-2023, 03:48 PM   #3
des_a
Senior Member
 
Registered: Sep 2006
Posts: 1,416

Original Poster
Blog Entries: 43

Rep: Reputation: 36
I'm attempting programming today, then back to network tommorrow for awhile...
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Long-term Linux support future clarified LXer Syndicated Linux News 0 11-28-2017 06:12 AM
LXer: Long-term Linux support future clarified LXer Syndicated Linux News 0 11-28-2017 12:06 AM
Suggestion: LQ - Ability to post clarified LQ question descriptions cgtueno LQ Suggestions & Feedback 5 12-23-2009 05:40 AM
LXer: Migrating the enterprise to Linux, 10 things clarified LXer Syndicated Linux News 0 03-27-2009 06:50 PM
LXer: Intentions Clarified - Battle Lines Drawn LXer Syndicated Linux News 0 05-14-2007 06:46 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 08:05 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration