[Dcmlib] Re : GDCM Library: License

Mathieu Malaterre mathieu.malaterre at kitware.com
Thu Jan 27 16:44:12 CET 2005


>> 1. You wrote that you solved a huge number of memory leaks. It would 
>> be interesting to know roughly where the memory leaks were? The 
>> classes I used for my project are       gdcmDict,       gdcmDictEntry,
>>       gdcmHeader,       gdcmHeaderHelper,
>>       gdcmSerieHeaderHelper,       gdcmFile (mainly for getting the 
>> image data).
>> It would be very helpful if you could remember if there were any 
>> (major) memory leaks in one of those classes.


Well I do not need to remember since we use CVS. CVS has much better 
memory than any of us, so if you are ready to backport avery single 
memory patch we did. You do it using basic CVS commands :

cvs dif -r1.45 -r.1.46 gdcmFile.cxx

This gives you the patch you need to apply to go from 1.45 to 1.46.

Thefore you can work around the namespace change if you really want to 
keep your initial work.

>> 2. The class structure of the newest version compared to version 0.4 
>> (the one I have) is quite different. Also some of the classes I used 
>> are not part of GDCM any more. 


There is a good chance they have been renamed. Thankfully gdcm is 
distributed with nightly tests which shows -almost- every possible way 
to use the library to achieve different goals. All you need to do then 
is figure out which test best represent the goal you are seeking.

So my question is, in future, are you
>> planning to implement newer versions in a way that one could easily 
>> upgrade to the newer version without changing a lot of GDCM-related 
>> code, or is there not much guarantee that the class diagram (names and 
>> hierarchy) will stay more or less the same? This is good to know in 
>> order to estimate if it is worth upgrading to the newer version.

Going from 0.4 to 1.0 (well CVS right now) is IMHO a serious need ! 
There has been way to many changes to try to stay with 0.4 right now.
After 1.0, gdcm should -hopefully- stabilize and the API would not be as 
murderer as it has been in between 0.4 to 1.0


>> Maybe these questions have been answered before, if so, could you 
>> please point at the mailing list archive or the web resources?
>> If the questions sound very new to you, then it would be very nice 
>> from you all, if you could provide answers for my important questions 
>> and I am looking forward to hearing from you.

Unfortunaltey 99% of our Mailing list is in french. So unless you speak 
french you may not find the answers you are looking for.


Also without going too much into the licensing issues. I would suggest 
you -seriously- read the license that comes with GDCM. gdcm 0.4 was 
release with LGPL license (*)

http://www.gnu.org/copyleft/lgpl.html

Which is IMHO quite restrictive. *In particular* you need to send us 
back any patch you applied to gdcm.

Newer GDCM version are released with BSD like license which should allow 
you to redistribute the code (even modified) providing you keep the 
license. Also this is mandatory that you mark gdcm as being modified if 
you plan to modify it. BTW even if it not compulsory any feedback or 
patch is more than welcome :)


I hope you won't discard the licensing issues.
Mathieu



More information about the Dcmlib mailing list