Page 1 of 1
SMBIOS Standalone library
Posted: Mon Aug 15, 2022 12:37 pm
by tretornesp
Hello everyone.
This is my first post, so I wanted to share a bit with the community.
I have published an small library to interface with SMBIOS, it may help you
speed up that tedious part of the project.
It is available under GPLv3 on github
https://github.com/TretornESP/smbios
Please let me know if you are having trouble integrating it with your project, i will be
happy to help (:
Also, pull requests are always welcome!
I'll see you around in the forums.
Re: SMBIOS Standalone library
Posted: Thu Aug 25, 2022 3:06 pm
by eekee
tretornesp wrote:It is available under GPLv3
Doesn't the GPLv3 force everything linked to it to also be GPLv3 or later? It's usual practice to use LGPL for libraries.
On a minor note, I think the Announcements forum is the one to use for projects like this. This forum is all code questions.
Re: SMBIOS Standalone library
Posted: Thu Aug 25, 2022 9:47 pm
by nullplan
eekee wrote:Doesn't the GPLv3 force everything linked to it to also be GPLv3 or later? It's usual practice to use LGPL for libraries.
Whether to use LGPL on libraries depends on the wishes of the creator. But yes, a GPLed library means all programs dependent on it must use the same license. You can of course negotiate a proprietary license with the author. Felix von Leitner GPLed the dietlibc for that reason. He wanted a piece of the pie if any commercial operation out there used his libc. As a result of this and quite a few other problems, musl has now entirely taken its market. (dietlibc is essentially what you would get if you put a programmer who is good at his job, but not specialized at libc implementations, to the task of making the smallest possible implementation of the glibc interface. musl, on the other hand, is what you get from someone who actually reads and understands standards and makes good choices within them.)
Re: SMBIOS Standalone library
Posted: Sat Sep 03, 2022 4:05 am
by tretornesp
Hey guys!
I don't really have any pretensions with licensing, so, if the one i chosen is not suitable or the best option for
an open source project, I don't have any problem changing it!
Any suggestions?
Re: SMBIOS Standalone library
Posted: Sat Sep 03, 2022 7:27 am
by nullplan
It depends entirely upon what you want. You have to think about the topic for yourself. As creator of the work, the right to copy the work and prepare derivative works is exclusively your own. By granting a license, you give those rights to third parties. So if you have feelings on the conditions you want to place upon those third parties, it would be a good idea to get that all thought through ahead of time.
Basically, the question you need to ask yourself is this: If someone copies your library and does stuff with it, what do you want to happen?
- If you don't care at all, and want them to just be able to do whatever they please, you can use highly permissive licenses like Creative Commons 0, WTFPL, or even dedicate the work into the public domain.
- If you would like at least an acknowledgement in the documentation, you can use a slightly less permissive license like the various BSD licenses or the MIT license (and the Apache ones are also in there somewhere). They differ in the details, you will need to read them yourself.
- If you want them to release the source code if they change stuff, a copyleft license like GPL or LGPL might be appropriate. The difference essentially being that the LGPL stops itself at the interface boundary of the library. So if they copy your library, change it, and link it into a program, they have to share their copies of your library under the same terms with their customers.
That last point may be worth reiterating: GPL and LGPL only force those that copy your library to use the same licensing terms when passing on their own copies, changed or not. So I for example work at a company that exclusively deals with industry customers. We are under no obligation to pass on even GPLed source code to the general public, only to those industry customers. And they never come asking.
Anyway, for my kernel project, I chose the GPL. Because Linux uses the GPL and that has had positive effects like the OpenWRT project. See, some company (I believe it was LinkSys) used Linux in one of their routers. But they did not use stock Linux, they modified it to run on that hardware. That was before device trees, so the modifications included things like the available devices and their addresses; essentially the Board Support Package. But since Linux was GPLed, LinkSys customers were entitled to a copy of the source code, as modified by LinkSys. LinkSys tried to fight them in court, and lost. And from those files, the OpenWRT project arose.