Skip to content
This repository has been archived by the owner on Jun 15, 2024. It is now read-only.

Software License and source code access #61

Open
mlesniew opened this issue Jan 18, 2022 · 5 comments
Open

Software License and source code access #61

mlesniew opened this issue Jan 18, 2022 · 5 comments

Comments

@mlesniew
Copy link

Hi,

I couldn't find license information in this repository. Would you mind adding a license file, similar to how it's done in the ebusd repo? This would be useful to clarify how others can use it.

Even if you haven't decided what license to use, is it fair to say that this is open software? If so, how can source code be accessed?

Cheers

@mlesniew
Copy link
Author

Looking around the repo I discovered that it uses the EspSoftwareSerial library, which is LGPL licensed. I think this limits the license choice to just LGPL and anything LGPL-compatible.

@HeikoGr
Copy link

HeikoGr commented Jan 18, 2022

you are wrong:

The LGPL is a weaker form of the GPL that is not contagious over library boundaries. Originally, LGPL was read out as Library General Public License. It has now been reinterpreted to be read out as the Lesser General Public License. I assume they mean lesser, as in less strong in forcing software to be open source.

Applying LGPL to a library ensures that the library itself and any modified versions of it will remain open source. But it can be used by closed source software.

(Source: https://dzone.com/articles/the-lgpl-license)

However: john30 should list the used libraries and their licences.

@mlesniew
Copy link
Author

LGPL is less contagious than GPL, but the rule about not crossing library boundaries only holds for code which is linked dynamically. This is widely discussed online, it's also explained in the GNU License FAQ.

In this project, the EspSoftwareSerial library is linked statically (as usual in the microcontroller world).

Just because of this static vs dynamic linking issue, many projects use a LGPL license with an additional exception about static linking, e.g. wxWidgets or OpenScales. That wouldn't be necessary if they could just use plain LGPL, would it?

@HeikoGr
Copy link

HeikoGr commented Jan 18, 2022

This part of the LGPL is completely new for me. Thank you for pushing me onto it!

But as i read the FAQ john30 could just publish the *.o files to be fine.
There is still no need to open source the whole thing.

Don't get me wrong: i want the source to be free, too! But I think it's john30s decision and we should respect it.

@mlesniew
Copy link
Author

Great to hear we're on the same page now.

To be honest I didn't know that only publishing the object files is sufficient to comply to the LGPL. I assumed disclosing source is always required.

Looks like what the license aims to ensure is that anybody can build their own, potentially modified, version of the library and be still able to use it with the software that uses it. This is easy when linking dynamically. With static linking, relinking is required, but for that just the object files are needed.

Looking through comments in other (closed) issues in this project it seems that so far there were no plans to release the source.
That's a pity, but as you mentioned, opening the source code is only up to the author.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants