LASlib licensing

434 views
Skip to first unread message

André Jalobeanu

unread,
Jan 15, 2015, 6:51:48 PM1/15/15
to last...@googlegroups.com
Hi,

I have a question about the licensing of LASlib (including LASzip).

How can this library be used within a commercial software? From my understanding LGPL means that any proprietary software can use it, but it's not clear if it's free or not:


thanks,

Dr. André Jalobeanu, Founder
BayesMap Solutions, LLC


3532 Brookdale Blvd
Castro Valley CA 94546 - USA

Martin Isenburg

unread,
Jan 15, 2015, 7:25:52 PM1/15/15
to LAStools - efficient command line tools for LIDAR processing

Hello,

Great question. My understanding of LGPL is

* for open source software where the code is openly redistributed you need to be at least LGPL as well or modularize the code into portions that can be licensed differently

* for in-house commercial software where the code is not redistributed you can do as you please

* for commercial software that is distributed you must make any change to the LGPL code available and only link dynamically so the "freedom" aspect is preserved that should allow any buyer of your software to improve the open source part on their own
For example, someone who bought QTModeler or uses QTReader should be able to replace the existing LASlib DLL with their own version in order to add multi-threading to LASzip decompression to speed up their loading files for viewing without needing to go back to the vendor. This is why any changes to the code need to be made available.

For only the LASzip DLL, however, we are happy to provide a static linking exception to allow use of the LAZ compressor and decompressor on mobile devices. Simply turn your head towards Redlands, CA (use the OSM layer in QGIS for directions) as you say three times: "Don't be evil, ESRI!" and the static linking exception for the LASzip DLL is granted ... (-;

Martin @rapidlasso

Simone Rapposelli

unread,
Apr 11, 2016, 11:41:12 AM4/11/16
to LAStools - efficient tools for LiDAR processing
Hello,

sorry if I am reopening this post but I would have some doubt concerning the use of LASlib.dll in a commercial application:
- As far as I know, it seems to me is necessary to add some kind of a factory functions in order to get a reference pointer of an object, for example LASreader, ...: this means that lasreader.hpp must be modified. Consequently, if anyone would use its own LASlib.dll, it surely won't working due to these factory functions missing. Is it necessary to add and provide to customers the updated LASTools solution besides the commercial application?
- How can I access to class member variables like for example npoint of LASreader?There is not a function like get_number_of_points for the class LASreader.

Sorry for my confusion and thank you in advance for your replies.

Evon Silvia

unread,
Apr 11, 2016, 7:19:24 PM4/11/16
to last...@googlegroups.com
I believe the factory function you're looking for is in the laszip_dll header. Use laszip_create(reader) to generate the reference pointer, open with laszip_open_reader, then retrieve the header object with laszip_get_header_pointer.

For your second question, the information you're looking for is in the header, not the reader. The header object you retrieve with that last function call should give you access to the number of points (etc).

I have found EXAMPLE_SEVEN in the laszipdllexample.cpp file to be the most educational for following step by step.

Evon
Reply all
Reply to author
Forward
0 new messages