Difference between LAStools, libLAS and PDAL?

The answer by Howard Butler pretty much sums it up. Some more background. When I created the first LAStools and the LASlib library that the tools are build upon I was a postdoc at UC Berkeley and merely needed to prepare LAS files as input for my research on Streaming Delaunay (or Streaming TIN) processing. Because the code seemed useful on its own I zipped it up and published the sources on my Web page in April 2007. It did not have a license because despite having studied Computer Science for 13 years at four different universities I had never learned about how to license source code (Is it on the curriculum at other CS programs?). I was just happy when people used my code. This changed in November 2007 when Howard Butler asked me if he could use LAStools as a starting point for an open source project that would eventually be libLAS.

A few years later - LAStools was more or less a hobby at that point - I lost my job at a high security US lab, was detained for four months in a deportation camp, and eventually deported in handcuffs from the US. This all had to do with my ideas surrounding laser chickens that did not go down well with the nuclear weapons lab I was working at. The "fallout" of this episode set free a lot of energy and resulted in me turning LAStools into a fully featured LiDAR processing suite and LASzip into an industry-strength LiDAR compressor.

In 2012 with LAStools already popular I was able to obtain seed funding from the European Space Agency via one of their Business Incubation Centers. This required me to start a proper company rapidlasso GmbH that would eventually sell commercial and academic licenses to LAStools. At this point LASlib and LASzip also got proper open source licenses (as advised by Howard Butler) which made libLAS somewhat less needed. Then Howard started PDAL (see his answer).

LAStools would probably still be just a hobby project if it were not for US homeland security that keeps you safe from rogue elements like me ... (-; Hope that sheds light from some other angle on the reason why there is LAStools and PDAL and how LASlib, libLAS, and LASzip relate to them.


libLAS was developed to provide read/write support for LAS and it was modeled on LAStools which at the time was not released under an open source license. In the subsequent years, many parts of LAStools were released under an open source license which negated the need for a parallel effort in libLAS. The library portion of this is called LASlib. Yes, I agree we are terrible at naming things.

PDAL was follow-on from our efforts with libLAS to provide a generic point cloud processing toolkit with a geospatial emphasis (to differentiate it from PCL) that had support for a multitude of formats and provided convenient data workflow and orchestration tools. PDAL is designed to leverage other software (PROJ and GDAL, for example) for things like coordinate system support and vector/raster access. It speaks Python and Matlab in addition to C/C++, and it works on OSX, Linux, and Win64.

In regards to PDAL's relationship to libLAS, PDAL provides full support for LAS (and LAZ) 1.4, while libLAS does not. Someone who needs that bad enough can provide a patch, but PDAL provides a much richer toolbox of functionality than libLAS. If all you need is LAS support embedded in your software, I would look to using LASlib or libLAS if they can work for you. If you want something that could handle nearly any potential geospatial format, PDAL is your choice.