SvarDOS comes currently with TREE v3.7.2 from the FreeDOS project, itself being a 1995 commercial code by Dave Dunfield, GPL-ized somewhere in the 2000s.
There is also pdTree: a public domain version written by @PerditionC
https://web.archive.org/web/20011212151852/http://www.darklogic.org/fdos/projects/tree/
https://github.com/FDOS/tree
Glancing at the source code it appears to be a very clean and memory-efficient implementation. Perhaps SvarDOS could use it instead of the current GPL tree after some minor work:
- "port" it from TCC to OpenWatcom, this should be a formality, code looks very nice and standard
- replace CPP parts with ANSI C (did not investigate this, but main file is CPP so I guess there must be some C++ hidden somewhere)
- create a proper makefile
- drop all Windows-related stuff
- maybe remove LFN support, if it leads to any significant simplification
- replace CATGETS with SvarLANG
- add a few translations (DE, FR, PL, TR, ...)
- remove (/reimplement) all GPL-tainted code (DB.C, DB.H, GET_LINE.C ? perhaps these are only CATGETS dependencies)
- drop libc, reimplement necessary (few) std functions and link with WMINCRT
- add some documentation/notes that explains where this TREE comes from and to avoid any confusion with KJD's original
SvarDOS comes currently with TREE v3.7.2 from the FreeDOS project, itself being a 1995 commercial code by Dave Dunfield, GPL-ized somewhere in the 2000s.
There is also pdTree: a public domain version written by @PerditionC
https://web.archive.org/web/20011212151852/http://www.darklogic.org/fdos/projects/tree/
https://github.com/FDOS/tree
Glancing at the source code it appears to be a very clean and memory-efficient implementation. Perhaps SvarDOS could use it instead of the current GPL tree after some minor work: