www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Updates to D graph library

reply "Joseph Rushton Wakeling" <joseph.wakeling webdrake.net> writes:
Hello all,

Today I pushed a number of major (and breaking) changes to the 
master repository of the D graph library.  I've provided a brief 
summary on my blog, which also describes how to revise any 
programs to work with the new code:
http://braingam.es/2013/09/d-graph-library-updates/

I hope that these changes don't unduly inconvenience anyone 
currently using the library.  My own take was that it's worth it 
in terms of moving to a generic design and offering some new 
higher-performance graph data structures, which I'll be 
describing in more detail some time soon.

Feedback on the new code is welcome.  I would also like to offer 
thanks to all the nice people on D.learn who contributed useful 
ideas that helped with this update :-)

Thanks & best wishes,

     -- Joe
Sep 12 2013
parent reply "ilya-stromberg" <ilya-stromberg-2009 yandex.ru> writes:
On Thursday, 12 September 2013 at 20:11:30 UTC, Joseph Rushton 
Wakeling wrote:
 Hello all,

 Today I pushed a number of major (and breaking) changes to the 
 master repository of the D graph library.  I've provided a 
 brief summary on my blog, which also describes how to revise 
 any programs to work with the new code:
 http://braingam.es/2013/09/d-graph-library-updates/

 I hope that these changes don't unduly inconvenience anyone 
 currently using the library.  My own take was that it's worth 
 it in terms of moving to a generic design and offering some new 
 higher-performance graph data structures, which I'll be 
 describing in more detail some time soon.

 Feedback on the new code is welcome.  I would also like to 
 offer thanks to all the nice people on D.learn who contributed 
 useful ideas that helped with this update :-)

 Thanks & best wishes,

     -- Joe
Do you have any plans to change license from GPLv3 to something more liberal like Boost, MIT or BSD? Without this it's impossible to use your library for commercial purposes.
Sep 13 2013
parent reply "Joseph Rushton Wakeling" <joseph.wakeling webdrake.net> writes:
On Friday, 13 September 2013 at 07:49:49 UTC, ilya-stromberg 
wrote:
 Do you have any plans to change license from GPLv3 to something 
 more liberal like Boost, MIT or BSD? Without this it's 
 impossible to use your library for commercial purposes.
The licence is GPLv3+ because the code is closely influenced by igraph, which is GPLv3-licensed. It's not like there's copy-pasting, but it's not clean-room either, so offering a permissive licence might put users in an invidious situation if the igraph authors chose to make an issue of it. Unlikely, but better safe than sorry. If anyone wants to use it in a commercial application the best thing probably to let me know and I can discuss with the igraph authors. I will probably do so anyway once the library is more feature-complete, less out of concern for commercial apps than in order not to be incompatible with other free licenses.
Sep 13 2013
parent reply "ilya-stromberg" <ilya-stromberg-2009 yandex.ru> writes:
On Friday, 13 September 2013 at 08:20:38 UTC, Joseph Rushton 
Wakeling wrote:
 On Friday, 13 September 2013 at 07:49:49 UTC, ilya-stromberg 
 wrote:
 Do you have any plans to change license from GPLv3 to 
 something more liberal like Boost, MIT or BSD? Without this 
 it's impossible to use your library for commercial purposes.
The licence is GPLv3+ because the code is closely influenced by igraph, which is GPLv3-licensed. It's not like there's copy-pasting, but it's not clean-room either, so offering a permissive licence might put users in an invidious situation if the igraph authors chose to make an issue of it. Unlikely, but better safe than sorry. If anyone wants to use it in a commercial application the best thing probably to let me know and I can discuss with the igraph authors. I will probably do so anyway once the library is more feature-complete, less out of concern for commercial apps than in order not to be incompatible with other free licenses.
I see. You can use Boost Graph Library (BGL) as a initial point. It's under Boost license that allows commercial usage. http://www.boost.org/doc/libs/1_54_0/libs/graph/doc/index.html Also, it would be nice to have graph library in Phobos in a future, and in that case module must be under Boost license. But yes, you can try to contact igraph authors - maybe they let you change the license.
Sep 13 2013
parent "Joseph Rushton Wakeling" <joseph.wakeling webdrake.net> writes:
On Friday, 13 September 2013 at 08:45:45 UTC, ilya-stromberg 
wrote:
 I see. You can use Boost Graph Library (BGL) as a initial 
 point. It's under Boost license that allows commercial usage.
 http://www.boost.org/doc/libs/1_54_0/libs/graph/doc/index.html
I'm aware of the BGL, but I didn't find it a very nice design. I was also influenced by the fact that among colleagues who work with the various graph libraries, none of them seem to favour it -- whereas igraph seems both popular and high-performing (I believe it can scale to larger data size than any other solution out there). But of course I may revisit that in future.
 Also, it would be nice to have graph library in Phobos in a 
 future, and in that case module must be under Boost license.
Understood, although I never particularly saw Dgraph as being a Phobos candidate, it feels a bit too specialized. My impression is that graph libraries tend in practice to sprawl out into massive constructions, rather too extended for something like a standard library. But if the core functionality is something people are interested in for Phobos, then again, I'm happy to open up the licensing discussion. I'm sure that the igraph authors would be supportive.
Sep 13 2013