Live data from Hacker News

SDSL – Succinct Data Structure Library for C++

github.com

11–20 of 41 posts

Re: SDSL – Succinct Data Structure Library for C++

#11
post #3

Very nice! Why did you choose GPLv3 instead of LGPLv3?

The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case? Additionally, we (the main authors) have lots of contributions from other researchers which we would ask for permission to the change the license (I think?).

>The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case?

Pretty sure the end user is still required to gpl their project if they use your header files.

edit: the more I think about this, the sadder I get. You prevented the majority of people from including your software and it doesn't sound like you meant to do it. Might be worth a rethink in the next version.

Re: SDSL – Succinct Data Structure Library for C++

#13
post #3

Earlier quoted context omitted.

The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case? Additionally, we (the main authors) have lots of contributions from other researchers which we would ask for permission to the change the license (I think?).

>The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case? Pretty sure the end user is still required to gpl their project if they use your header files. edit: the more I think about this, the sadder I get. You prevented the majority of people from including your software and it doesn't sound like you meant to do it. Might be worth a rethink i…

In spite of its good intentions, a restrictive license such as the GPL is always a weakness and a flaw. I would like to pose the conjecture that any library with a GPL license will eventually be replaced by a library with a more liberal license; the reason is simply because it has one feature extra, which is the more liberal license.

Re: SDSL – Succinct Data Structure Library for C++

#14
post #4
post #3

Earlier quoted context omitted.

The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case? Additionally, we (the main authors) have lots of contributions from other researchers which we would ask for permission to the change the license (I think?).

Also, using GPL for a library is often the better choice! Many people believe that GPL is for programs and LGPL for libraries - as if the "L" would stand for "Library". But that's wrong! This was never the intention. The "L" stands for "Lesser" and means less protection than GPL, for very special circumstances. According to FSF, you should use LGPL only for libraries that are competing with widely accepted proprietar…

It makes the library unusable for anyone, but open source software.

If you write any sort of software, and link against this library, boom all the code needs to be GPL'ed.

I don't think that's a good thing for promoting a library's use. Most people will just not use the library, and leave a bad taste in there mouth rather than spread the use of GPL.

If you want your library to popular don't use GPL.

What happens is that someone else comes a long and creates a MIT version. Eventually it gets replaced with the MIT version.

Re: SDSL – Succinct Data Structure Library for C++

#15
post #14
post #4

Earlier quoted context omitted.

Also, using GPL for a library is often the better choice! Many people believe that GPL is for programs and LGPL for libraries - as if the "L" would stand for "Library". But that's wrong! This was never the intention. The "L" stands for "Lesser" and means less protection than GPL, for very special circumstances. According to FSF, you should use LGPL only for libraries that are competing with widely accepted proprietar…

It makes the library unusable for anyone, but open source software. If you write any sort of software, and link against this library, boom all the code needs to be GPL'ed. I don't think that's a good thing for promoting a library's use. Most people will just not use the library, and leave a bad taste in there mouth rather than spread the use of GPL. If you want your library to popular don't use GPL. What happens is t…

> It makes the library unusable for anyone, but open source software.

Well, the author is free to dual-license it to propriertary software for some fee - if they want.

> I don't think that's a good thing for promoting a library's use

But it's a good thing for promoting Open Source!

That's the tactic question here: Do you want to promote your name and your library, or do you want to encourage more people to open source their stuff? In general you achieve both, but the question is: Which aspect is more important to you?

> If you want your library to popular don't use GPL. What happens is that someone else comes a long and creates a MIT version.

See https://news.ycombinator.com/item?id=10158535

Re: SDSL – Succinct Data Structure Library for C++

#16
post #9
post #7

Earlier quoted context omitted.

I beg to differ. I'm always happy to use external GPL libraries as an excuse for making stuff Open Source. Whenever I talked to unsure customers or managers, this was the single most convincing argument. Of course, this only works if people aren't strictly against creating Free Software, but in that case you have lost anyway.

So you actively use the viral aspect of the GPL to make more stuff Open Source. Probably what Stallman intended. :)

> Probably what Stallman intended.

Probably? Is is exactly what he intended and what he asks the community to do. :-)

Re: SDSL – Succinct Data Structure Library for C++

#17
post #13

Earlier quoted context omitted.

>The library is very template heavy and thus most of the code is in the header files so I guess it wouldn't change much in this case? Pretty sure the end user is still required to gpl their project if they use your header files. edit: the more I think about this, the sadder I get. You prevented the majority of people from including your software and it doesn't sound like you meant to do it. Might be worth a rethink i…

In spite of its good intentions, a restrictive license such as the GPL is always a weakness and a flaw. I would like to pose the conjecture that any library with a GPL license will eventually be replaced by a library with a more liberal license; the reason is simply because it has one feature extra, which is the more liberal license.

> any library with a GPL license will eventually be replaced with a library with a more liberal license

That's probably true, but it is not an argument against using the GPL.

If your GPL library is original and useful, the cost of reimplementing it will probably higher than the cost of making some depending piece of software Open Source.

So during the time until somebody else wrote that ISC/MIT/BSD version (which may be decades, think of GCC versus clang!), lots of other software may have been made Free Software that would otherwise have been proprietary.

Re: SDSL – Succinct Data Structure Library for C++

#18
post #14
post #4

Earlier quoted context omitted.

Also, using GPL for a library is often the better choice! Many people believe that GPL is for programs and LGPL for libraries - as if the "L" would stand for "Library". But that's wrong! This was never the intention. The "L" stands for "Lesser" and means less protection than GPL, for very special circumstances. According to FSF, you should use LGPL only for libraries that are competing with widely accepted proprietar…

It makes the library unusable for anyone, but open source software. If you write any sort of software, and link against this library, boom all the code needs to be GPL'ed. I don't think that's a good thing for promoting a library's use. Most people will just not use the library, and leave a bad taste in there mouth rather than spread the use of GPL. If you want your library to popular don't use GPL. What happens is t…

> It makes the library unusable for anyone, but open source software.

Using the GPLv3 is more restrictive than that -- it makes it unusable except for GPLv3 software. Even a preference for open source -- even copyleft -- software doesn't mean a preference for the use-based discrimination in the GPLv3's so-called anti-Tivoization provisions.

> If you want your library to popular don't use GPL.

Lots of GPL libraries are popular, though perhaps in some cases less so than they would be if they were not GPL.

> What happens is that someone else comes a long and creates a MIT version. Eventually it gets replaced with the MIT version.

IF you do permissive (MIT/BSD/etc) and a sizable fraction of the people interested in your library are also GPL partisans, the reverse happens (and potentially much more quickly) -- some relicenses your library as GPL, and the active community ends up there. So, making decisions on that basis can go either way.

Use GPLv3 if you want to control what downstream users do and you prefer the particular controls in the GPLv3. Use a different copyleft license if you want to control downstream users and don't prefer the controls in the GPLv3. Use a permissive license if you don't feel the need to control downstream users.

Re: SDSL – Succinct Data Structure Library for C++

#19
post #17
post #13

Earlier quoted context omitted.

In spite of its good intentions, a restrictive license such as the GPL is always a weakness and a flaw. I would like to pose the conjecture that any library with a GPL license will eventually be replaced by a library with a more liberal license; the reason is simply because it has one feature extra, which is the more liberal license.

> any library with a GPL license will eventually be replaced with a library with a more liberal license That's probably true, but it is not an argument against using the GPL. If your GPL library is original and useful, the cost of reimplementing it will probably higher than the cost of making some depending piece of software Open Source. So during the time until somebody else wrote that ISC/MIT/BSD version (which may…

[deleted]

Re: SDSL – Succinct Data Structure Library for C++

#20
post #17
post #13

Earlier quoted context omitted.

In spite of its good intentions, a restrictive license such as the GPL is always a weakness and a flaw. I would like to pose the conjecture that any library with a GPL license will eventually be replaced by a library with a more liberal license; the reason is simply because it has one feature extra, which is the more liberal license.

> any library with a GPL license will eventually be replaced with a library with a more liberal license That's probably true, but it is not an argument against using the GPL. If your GPL library is original and useful, the cost of reimplementing it will probably higher than the cost of making some depending piece of software Open Source. So during the time until somebody else wrote that ISC/MIT/BSD version (which may…

gcc vs. clang is probably a special case. Code compiled with gcc doesn't become GPL, which is part of why it is so popular.
Post reply on HN