Recent

Author Topic: GContnrs 0.2.6 released  (Read 10551 times)

yamer

  • Jr. Member
  • **
  • Posts: 87
GContnrs 0.2.6 released
« on: June 26, 2014, 09:40:05 am »
GContnrs is a generic container collection for Free Pascal. It implements :
doubly linked lists, hash maps, hash sets, priority queues, queues, stacks,
tree maps, tree sets and vectors.

This version adds support for bitsets (TBitSet class). (I know there is already TBits in RTL. TBitSet is inspired by c++ bitset.)

There is an example program in 'examples/primes.pas'.

http://yann.merignac.free.fr/unit-gcontnrs.html
« Last Edit: June 26, 2014, 09:42:54 am by yamer »

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: GContnrs 0.2.6 released
« Reply #1 on: June 26, 2014, 10:04:06 am »
Sorry, but using it would force GPL on my software, and that is a show stopper for me.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

yamer

  • Jr. Member
  • **
  • Posts: 87
Re: GContnrs 0.2.6 released
« Reply #2 on: June 26, 2014, 10:23:02 am »
Sorry, but using it would force GPL on my software, and that is a show stopper for me.
No, it's  not GPL it's LGPL.  You can use it in any kind of project. You only have to share modifications you make to GContnrs not your own code. You are in the same situation when you use the RTL.

bigeno

  • Sr. Member
  • ****
  • Posts: 266
Re: GContnrs 0.2.6 released
« Reply #3 on: June 26, 2014, 10:36:12 am »
it under the terms of the GNU General Public License as published by the Free Software Foundation
vs
it under the terms of the GNU Library General Public License as published by the Free Software Foundation

so it is GPL

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: GContnrs 0.2.6 released
« Reply #4 on: June 26, 2014, 10:41:50 am »
Sorry, but using it would force GPL on my software, and that is a show stopper for me.
No, it's  not GPL it's LGPL.  You can use it in any kind of project. You only have to share modifications you make to GContnrs not your own code. You are in the same situation when you use the RTL.

That is a common misconception in fact lgpl does not allow either sharing of the library with a proprietary software nor static linking that your library requires in order to be compiled in an application.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: GContnrs 0.2.6 released
« Reply #5 on: June 26, 2014, 11:13:40 am »
No, it's  not GPL it's LGPL.  You can use it in any kind of project. You only have to share modifications you make to GContnrs not your own code. You are in the same situation when you use the RTL.
Perhaps the confusion comes from what is mentioned on the web site:
http://yann.merignac.free.fr/unit-gcontnrs.html
Quote
This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License
... perhaps that needs to be updated.

(It looks like the GPL+linking exception instead of the LGPL+linking exception, but I'm no expert)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Blaazen

  • Hero Member
  • *****
  • Posts: 3237
  • POKE 54296,15
    • Eye-Candy Controls
Re: GContnrs 0.2.6 released
« Reply #6 on: June 26, 2014, 11:19:41 am »
Quote
That is a common misconception in fact lgpl does not allow either sharing of the library with a proprietary software nor static linking that your library requires in order to be compiled in an application.

Here is more info: http://wiki.lazarus.freepascal.org/FPC_modified_LGPL

I thought the difference is formal. I'll change the licence of EC-Controls from LGPL to modified-LGPL in the next release.

Thanks.
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

yamer

  • Jr. Member
  • **
  • Posts: 87
Re: GContnrs 0.2.6 released
« Reply #7 on: June 26, 2014, 11:24:24 am »
 %)

Maybe I've made some mistake copying the license texts. My goal was really to allow linking with any kind of program.

Anyway these licensing issues begin to annoy me. I will review everything. Or maybe put everything under BSD or FPC modified LGPL.


taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: GContnrs 0.2.6 released
« Reply #8 on: June 26, 2014, 11:36:40 am »
Personally I prefer to use 2 licenses either BSD or MPL (mozilla public license), in case of lcl I make an exception and accept the modified lgpl as well.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: GContnrs 0.2.6 released
« Reply #9 on: June 26, 2014, 11:59:27 am »
Anyway these licensing issues begin to annoy me. I will review everything. Or maybe put everything under BSD or FPC modified LGPL.
Yep, they're annoying. +1 for BSD, very clear, and permissive. Much less complicated than others (e.g. FPC modified LPGL, straight LPGL etc)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

yamer

  • Jr. Member
  • **
  • Posts: 87
Re: GContnrs 0.2.6 released
« Reply #10 on: June 26, 2014, 03:47:59 pm »
I remember now. The license is GPL + linking exeption (http://en.wikipedia.org/wiki/GPL_linking_exception).

Linking exception is :
Quote
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules,and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

As I understand it, I think there is no problem, you can link it with any kind of project without being contaminated by GPL. Tell me if I'm wrong.

This is exactly the same licence that the FreePascal RTL (see COPYING.txt and COPYING.FPC in the rtl directory of FPC sources).
« Last Edit: June 26, 2014, 03:52:53 pm by yamer »

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: GContnrs 0.2.6 released
« Reply #11 on: June 26, 2014, 04:44:27 pm »
This is exactly the same licence that the FreePascal RTL (see COPYING.txt and COPYING.FPC in the rtl directory of FPC sources).
Sorry, no FPC RTL is LGPL+linking exception. See copying.txt [1]: GNU LESSER GENERAL PUBLIC LICENSE=what is later renamed as the LGPL/Library GPL license.

Edit: also mentioned in copying.fpc:
Quote
The source code of the Free Pascal Runtime Libraries and packages are
distributed under the Library GNU General Public License
(see the file COPYING) with the following modification:

[1] http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/COPYING.txt?revision=24986&view=markup
« Last Edit: June 26, 2014, 04:48:16 pm by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

yamer

  • Jr. Member
  • **
  • Posts: 87
Re: GContnrs 0.2.6 released
« Reply #12 on: June 26, 2014, 04:51:24 pm »
 %) You're right.

So I'm going to put all my units under LGPL+linking exception.

Can someone explain differences between LGPL+linking exception and GPL+linking exception ?

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: GContnrs 0.2.6 released
« Reply #13 on: June 26, 2014, 05:06:32 pm »
Hmmm, I'd suggest doing
Lazarus menu/Source/Insert general/MIT notice
and just forgetting about everything.
People who want to use the code in LGPL,GPL,BSD, whatever projects can do so and you're done...

My 2 cents

PS: I thought Jonas Maebe had given a good explanation of the differences on the FPC? Lazarus? mailing list... I dare not say something that may contradict him because he's usually right ;)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

bigeno

  • Sr. Member
  • ****
  • Posts: 266
Re: GContnrs 0.2.6 released
« Reply #14 on: June 26, 2014, 05:18:07 pm »
%) You're right.

So I'm going to put all my units under LGPL+linking exception.

Can someone explain differences between LGPL+linking exception and GPL+linking exception ?

From my point of view (developer of commercial soft.) under LGPL your code is not derivative work in my software.
With GPL+exception it is, so if I modify your code (fix, or add some features) my software becomes GPL because of derivative work.
I think this is the main difference.
No one who have commercial software probably not use the code under GPL (+ exceptions), too risky.

 

TinyPortal © 2005-2018