Third Party Packages

GRIEF development would not be possible without the work of others.

The following packages are normally only required for Windows builds as all are generally available on other targets, either as standard or optional installations.

Summary
Third Party PackagesGRIEF development would not be possible without the work of others.
Common ModulesA number of source modules have been sourced from current BSD distributions, which are under the BSD-License.
CrispCRISP-Custom Reduced Instruction Set Programmers Editor.
ND+ - Natural Docs PlusND+ is an open-source documentation generator for multiple programming languages.
ucppGRIEF utilises ucpp as its preprocessor, integrated into the Macro Compiler as an external stand-alone program as the initial stage of macro compilation.
makedependModified version of makedepend 1.0.5
mandocThe mandoc UNIX manpage compiler toolset.
extagsExuberant Ctags.
flexVersion 2.5.10 released 2002-7-24
OnigurumaOniguruma is a regular expressions library.
TRETRE, The free and portable approximate regex matching library.
libregexHenry Spencer’s libregex
libtekenlibteken: terminal emulator library
libmagicfile-5.29, sourced from OpenBSD.
libcharudetMozilla Universal Charset Detector.
libguessHigh-speed character set detection.
hunspellhunspell 1.3.2 and 1.7.0
libarchivelibarchive 3.3.3 and 3.6.1
iconvNetBSD intl/iconv implementation from the Citrus Project
libzZlib Data compress library.
libbzip2bzip2 is a freely available, patent free, high-quality data compressor.
liblzmaXZ Utils is free general-purpose data compression software with a high compression ratio.

Common Modules

A number of source modules have been sourced from current BSD distributions, which are under the BSD-License.

The specific modules are located thru-out the code base.

Copyright (c) 1991, 1993
The Regents of the University of California. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

Crisp

CRISP-Custom Reduced Instruction Set Programmers Editor.

Available on a number of archive sites.

Source: http://www.filewatcher.com (crisp2.2e-src.tar.gz)

/pub/Linux/apps/editors

crisp2.2e-bin.tar.gz clone of the DOS programmer's editor BRIEF [bin]
crisp2.2e-src.tar.gz clone of the DOS programmer's editor BRIEF [src]

Crisp Copyright

The code in this file is part of the CRISP package which is (C) P Fox.

This code may be freely used in any product but the copyright
remains that of the author.

This copyright notice is present to avoid a conflict of interest and
to ensure that CRISP can continue to be a part of the public domain.

ND+ - Natural Docs Plus

ND+ is an open-source documentation generator for multiple programming languages.

The html version of the GRIEF documentation is generated using ND+.

Source: http://sourceforge.net/projects/ndplus/

ucpp

GRIEF utilises ucpp as its preprocessor, integrated into the Macro Compiler as an external stand-alone program as the initial stage of macro compilation.

A C preprocessor is a part of a C compiler responsible for macro replacement, conditional compilation and inclusion of header files.  It is often found as a stand-alone program on Unix systems.

ucpp is such a preprocessor; it is designed to be quick and light, but anyway fully compliant to the ISO standard 9899:1999, also known as C99.

ucpp can be compiled as a stand-alone program, or linked to some other code; in the latter case, ucpp will output tokens, one at a time, on demand, as an integrated lexer.

Operational Modes

lexer modeucpp is linked to some other code and outputs a stream of tokens (each call to the lex() function will yield one token)
on-lexerucpp preprocesses text and outputs the resulting text to a file descriptor; if linked to some other code, the cpp() function must be called repeatedly, otherwise ucpp is a stand-alone binary. ucpp was written by Thomas Pornin.

Source: http://code.google.com/p/ucpp

(c) Thomas Pornin 2002

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
4. The name of the authors may not be used to endorse or promote
products derived from this software without specific prior written
permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

makedepend

Modified version of makedepend 1.0.5

makedepend was developed as part of MIT’s Project Athena.  It was used extensively in building X11 and ancillary packages, but has since become superseded by the dependency generation facilities of various compilers, and is now used primarily as a worst-case fallback, e.g. by depcomp and GNU Automake.

The master development code repository can be found at.

Copyright (c) 1993, 1994, 1998 The Open Group

Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.

mandoc

The mandoc UNIX manpage compiler toolset.

Modified version of mandoc 1.13.4 (July 10, 2016) using sqlite3 (version 3.16.2).  Minor modifications to allow win32 builds.

mandoc is a suite of tools compiling mdoc, the roff macro language of choice for BSD manual pages, and man, the predominant historical language for UNIX manuals.  It is small, ISO C, ISC-licensed, and quite fast.

The main component of the toolset is the mandoc utility program, based on the libmandoc validating compiler, to format output for UNIX terminals (with support for wide-character locales), XHTML, HTML, PostScript, and PDF.

mandoc has predominantly been developed on OpenBSD and is both an OpenBSD and a BSD.lv project.  We strive to support all interested free operating systems, in particular DragonFly, NetBSD, FreeBSD, Minix 3, and GNU/Linux, as well as all systems running the pkgsrc portable package build system.

Source: http://mdocml.bsd.lv/

mandoc Copyright

Copyright (c) 2011, 2012, 2013 - 2016 Ingo Schwarze <schwarze@openbsd.org>
Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>

Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

extags

Exuberant Ctags.

Author, Darren Hiebert <dhiebert at users.sourceforge.net>

Exuberant Ctags is a multilanguage reimplementation of the much-underused ctags(1) program and is intended to be the mother of all ctags programs.  It generates indexes of source code definitions which are used by a number of editors and tools.  The motivation which drove the development of Exuberant Ctags was the need for a ctags program which supported generation of tags for all possible C language constructs (which no other ctags offers), and because most were easily fooled by a number of preprocessor contructs.

No components of Exuberant Ctags are included within GRIEF, other then the public domain readtags.c module, which is utilised to read tags file generated by Exuberant.

Exuberant Ctags is seperately licensed under the GNU GPL; see the source for details.

Source: http://ctags.sourceforge.net

flex

Version 2.5.10 released 2002-7-24

Flex carries the copyright used for BSD software, slightly modified because it originated at the Lawrence Berkeley (not Livermore!)  Laboratory, which operates under a contract with the Department of Energy:

        Copyright (c) 2001 by W. L. Estes <wlestes@uncg.edu>

Copyright (c) 1990, 1997 The Regents of the University of California.
All rights reserved.

This code is derived from software contributed to Berkeley by
Vern Paxson.

The United States Government has rights in this work pursuant
to contract no. DE-AC03-76SF00098 between the United States
Department of Energy and the University of California.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.

This basically says "do whatever you please with this software except
remove this notice or take advantage of the University's (or the flex
authors') name".

Note that the "flex.skl" scanner skeleton carries no copyright notice.
You are free to do whatever you please with scanners generated using flex;
for them, you are not even bound by the above copyright.
(code)

-------------------------------------------------------------

Topic: dlmalloc

This is a version (aka dlmalloc) of malloc/free/realloc written by
Doug Lea and released to the public domain.

Source: http://g.oswego.edu/dl/html/malloc.html

Dlmalloc Copyright:

(code)
The person who associated a work with this deed has dedicated the work to
the public domain by waiving all of his or her rights to the work
worldwide under copyright law, including all related and neighboring
rights, to the extent allowed by law.

Oniguruma

Oniguruma is a regular expressions library.

Oniguruma by K.  Kosako is a BSD licensed regular expression library that supports a variety of character encodings.

The Ruby programming language, since version 1.9, as well as PHP’s multi-byte string module (since PHP5), use Oniguruma as their regular expression engine.  It is also used in products such as Tera Term, TextMate, Sublime Text and SubEthaEdit.

Oniguruma is Japanese for “Devil’s Chariot”.

Source: http://www.geocities.jp/kosako3/oniguruma

TODO!

Migrate to Oniguruma-mod

Onigmo is a regular expressions library forked from Oniguruma.  Some of new features introduced in Perl 5.10+ can be used.

Source: https://github.com/k-takata/Onigmo

Oniguruma Copyright

Copyright (c) 2002-2007  K.Kosako (sndgk393@ybb.ne.jp)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

TRE

TRE, The free and portable approximate regex matching library.

TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.

The matching algorithm used in TRE uses linear worst-case time in the length of the text being searched, and quadratic worst-case time in the length of the used regular expression.  In other words, the time complexity of the algorithm is O(M2N), where M is the length of the regular expression and N is the length of the text.  The used space is also quadratic on the length of the regex, but does not depend on the searched string.  This quadratic behaviour occurs only on pathological cases which are probably very rare in practice.

Source: http://laurikari.net/tre/

Features

TRE is not just yet another regexp matcher.  TRE has some features which are not there in most free POSIX compatible implementations.  Most of these features are not present in non-free implementations either, for that matter.

  • Approximate matching.
  • Strict standard conformance.
  • Predictable matching speed.
  • Portable.
  • Free.

TRE Copyright

This is the license, copyright notice, and disclaimer for TRE, a regex
matching package (library and tools) with support for approximate
matching.

Copyright (c) 2001-2009 Ville Laurikari <vl@iki.fi>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

libregex

Henry Spencer’s libregex

Source: http://www.arglist.com/regex

Libregex Copyright

Copyright 1992, 1993, 1994 Henry Spencer.  All rights reserved.
This software is not subject to any license of the American Telephone
and Telegraph Company or of the Regents of the University of California.

Permission is granted to anyone to use this software for any purpose on
any computer system, and to alter it and redistribute it, subject
to the following restrictions:

1. The author is not responsible for the consequences of use of this
software, no matter how awful, even if they arise from flaws in it.

2. The origin of this software must not be misrepresented, either by
explicit claim or by omission. Since few users ever read sources,
credits must appear in the documentation.

3. Altered versions must be plainly marked as such, and must not be
misrepresented as being the original software. Since few users
ever read sources, credits must appear in the documentation.

4. This notice may not be removed or altered.

libteken

libteken: terminal emulator library

It is currently used by FreeBSD’s console driver. libteken is a terminal emulator, which implements a fair amount of escape sequences used by VT100, xterm and cons25.

Traditionally the FreeBSD console driver (syscons) uses the cons25 terminal type.  This terminal type is basically a very compact subset of later VT-devices or graphical terminals like xterm.  There are two problems with this approach.

  • Many other operating systems do not ship cons25 termcap entries.
  • Many embedded devices with serial or telnet interfaces only support VT100-style escape sequences.

Source: http://80386.nl/projects/

Libteken Copyright

Copyright (c) 2008-2009 Ed Schouten <ed@@FreeBSD.org>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

libmagic

file-5.29, sourced from OpenBSD.

This is Release 5.x of Ian Darwin’s (copyright but distributable) file(1) command, an implementation of the Unix File(1) command.

It knows the magic number of several thousands of file types.

This version is the standard “file” command for Linux, *BSD, and other systems.

Libmagic Copyright

Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
Software written by Ian F. Darwin and others;
maintained 1994- Christos Zoulas.

This software is not subject to any export provision of the United States
Department of Commerce, and may be exported to any country or planet.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice immediately at the beginning of the file, without modification,
this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

libcharudet

Mozilla Universal Charset Detector.

This library provides a highly accurate set of heuristics that attempt to determine the character set used to encode some input text.  This is extremely useful when your program has to handle an input file which is supplied without any encoding metadata.

Recognised character set.

  • UTF-8.
  • UTF-16 (BE and LE).
  • UTF-32 (BE and LE).
  • windows-1252 (mostly equivalent to iso8859-1).
  • windows-1251 and ISO-8859-5 (cyrillic).
  • windows-1253 and ISO-8859-7 (greek).
  • windows-1255 (logical hebrew.  Includes ISO-8859-8-I and most of x-mac-hebrew).
  • ISO-8859-8 (visual hebrew).
  • Big-5.
  • gb18030 (superset of gb2312).
  • HZ-GB-2312.
  • Shift-JIS.
  • EUC-KR, EUC-JP, EUC-TW.
  • ISO-2022-JP, ISO-2022-KR, ISO-2022-CN.
  • KOI8-R.
  • x-mac-cyrillic.
  • IBM855 and IBM866.
  • X-ISO-10646-UCS-4-3412 and X-ISO-10646-UCS-4-2413 (unusual BOM).
  • ASCII.

The original code and documentation of the universalchardet library are available at,

This port exposes a C interface and dependency-free interface to the Mozilla C++ UCSD library.

Libcharudet Copyright

The library is subject to the Mozilla Public License Version
1.1 (the "License").

Alternatively, it may be used under the terms of either the
GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later
(the "LGPL").

Usage within GRIEF is under the LGPL 2.1.

libguess

High-speed character set detection.

libguess-1.1 employs discrete-finite automata to deduce the character set of the input buffer.  The advantage of this is that all character sets can be checked in parallel, and quickly.  Right now, libguess passes a byte to each DFA on the same pass, meaning that the winning character set can be deduced as efficiently as possible.

Libguess Copyright

Copyright (c) 2000-2003 Shiro Kawai
Copyright (c) 2005-2010 Yoshiki Yazawa
Copyright (c) 2007-2010 William Pitcock

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the authors nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

hunspell

hunspell 1.3.2 and 1.7.0

Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla Firefox 3 & Thunderbird, Google Chrome, and it is also used by proprietary software packages, like Mac OS X, InDesign, memoQ, Opera and SDL Trados.

Source: http://hunspell.sourceforge.net

Main features

  • Extended support for language peculiarities; Unicode character encoding, compounding and complex morphology.
  • Improved suggestion using n-gram similarity, rule and dictionary based pronunciation data.
  • Morphological analysis, stemming and generation.
  • Hunspell is based on MySpell and works also with MySpell dictionaries.
  • C++ library under GPL/LGPL/MPL tri-license.
  • Interfaces and ports: AndroidHunspellService (for Android, based on he Chromium fork of Hunspell), Enchant (Generic spelling library from the Abiword project), XSpell (Mac OS X port, but Hunspell is part of the OS X from version 10.6 (Snow Leopard), and now it is enough to place the Hunspell dictionary files into ~/Library/Spelling or /Library/Spelling for spell checking), Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2], [3]), UNO, RichEdit.

hunspell Copyright

Copyright (C) 2002-2017 Németh László

The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.

Hunspell is based on MySpell which is Copyright (C) 2002 Kevin Hendricks.

Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.

GRIEF usage is under the LGPL 2.1, dynamically linked.

libarchive

libarchive 3.3.3 and 3.6.1

C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats.

Source: http://www.libarchive.org

Library features

  • Support for a variety of archive and compression formats.
  • Robust automatic format detection, including archive/compression combinations such as tar.gz.
  • Zero-copy internal architecture for high performance.
  • Streaming architecture eliminates all limits on size of archive, limits on entry sizes depend on particular formats.
  • Carefully factored code to minimize bloat when programs are statically linked.
  • Growing test suite to verify correctness of new ports.
  • Works on most POSIX-like systems (including FreeBSD, Linux, Solaris, etc.)
  • Supports Windows, including Cygwin, MinGW, and Visual Studio.
  • Support libz, libbzip and liblmza compression.

Libarchive Copyright

Copyright (c) 2003-2018 <author(s)>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer
in this position and unchanged.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

iconv

NetBSD intl/iconv implementation from the Citrus Project

libcitrus, libintl, libiconv and iconv.

Iconv Copyright

Copyright (c) 2003 Citrus Project,
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

libz

Zlib Data compress library.

A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also Free, Not to Mention Unencumbered by Patents)

zlib 1.2.7 is a general purpose data compression library.  All the code is thread safe.  The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).

Source: http://www.zlib.net/

Acknowledgement

The deflate format used by zlib was defined by Phil Katz.  The deflate and zlib specifications were written by L.  Peter Deutsch.  Thanks to all the people who reported problems and suggested various improvements in zlib; they are too numerous to cite here.

Libz Copyright

(C) 1995-2012 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu

If you use the zlib library in a product, we would appreciate *not*
receiving lengthy legal documents to sign. The sources are provided for
free but without warranty of any kind. The library has been entirely
written by Jean-loup Gailly and Mark Adler; it does not include
third-party code.

If you redistribute modified sources, we would appreciate that you
include in the file ChangeLog history information documenting your
changes. Please read the FAQ for more information on the distribution of
modified source versions.

libbzip2

bzip2 is a freely available, patent free, high-quality data compressor.

The bzip2 file compression program was developed by Julian Seward and launched on the 18th of July in 1996.  It has remained an open source program, available to all for free, for over twenty two years now.  The last stable release was seven years ago.  The version 1.0.6 was released on the 20th of September in 2010. bzip2 compression program is based on BurrowsWheeler algorithm.  The program can compress files but cannot archive them.  Julian Seward is still in charge of maintaining the program.  The compression application works on all major operating systems and is available as a BSD-like license.  The program uses .bz2 as its filename extension, application/x-bzip2 as the media type on internet and public.archive.bzip2 as the uniform type identifier.

It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.

Source: http://www.bzip.org/

Libbzip2 Copyright

This program, "bzip2", the associated library "libbzip2", and all
documentation, are copyright (C) 1996-2010 Julian R Seward. All
rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.

3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.

4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Julian Seward, jseward@bzip.org
bzip2/libbzip2 version 1.0.8 of Jan 2024

liblzma

XZ Utils is free general-purpose data compression software with a high compression ratio.  XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems.  XZ Utils are the successor to LZMA Utils.

The core of the XZ Utils compression code is based on LZMA SDK, but it has been modified quite a lot to be suitable for XZ Utils.  The primary compression algorithm is currently LZMA2, which is used inside the .xz container format.  With typical files, XZ Utils create 30 % smaller output than gzip and 15 % smaller output than bzip2.

XZ Utils consist of several components

  • liblzma is a compression library with an API similar to that of zlib.
  • xz is a command line tool with syntax similar to that of gzip.
  • xzdec is a decompression-only tool smaller than the full-featured xz tool.
  • A set of shell scripts (xzgrep, xzdiff, etc.) have been adapted from gzip to ease viewing, grepping, and comparing compressed files.
  • Emulation of command line tools of LZMA Utils eases transition from LZMA Utils to XZ Utils.

While liblzma has a zlib-like API, liblzma doesn’t include any file I/O functions.  A separate I/O library is planned, which would abstract handling of .gz, .bz2, and .xz files with an easy to use API.

Source: https://tukaani.org/xz/

XZ Utils Copyright

Different licenses apply to different files in this package. Here
is a rough summary of which licenses apply to which parts of this
package (but check the individual files to be sure!):

- liblzma is in the public domain.

- xz, xzdec, and lzmadec command line tools are in the public
domain unless GNU getopt_long had to be compiled and linked
in from the lib directory. The getopt_long code is under
GNU LGPLv2.1+.

- The scripts to grep, diff, and view compressed files have been
adapted from gzip. These scripts and their documentation are
under GNU GPLv2+.

- All the documentation in the doc directory and most of the
XZ Utils specific documentation files in other directories
are in the public domain.

- Translated messages are in the public domain.

- The build system contains public domain files, and files that
are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
in the binaries being built.

- Test files and test code in the tests directory, and debugging
utilities in the debug directory are in the public domain.

- The extra directory may contain public domain files, and files
that are under various free software licenses.

You can do whatever you want with the files that have been put into
the public domain. If you find public domain legally problematic,
take the previous sentence as a license grant. If you still find
the lack of copyright legally problematic, you have too many
lawyers.

As usual, this software is provided "as is", without any warranty.

If you copy significant amounts of public domain code from XZ Utils
into your project, acknowledging this somewhere in your software is
polite (especially if it is proprietary, non-free software), but
naturally it is not legally required. Here is an example of a good
notice to put into "about box" or into documentation:

This software includes code from XZ Utils <http://tukaani.org/xz/>.

The following license texts are included in the following files:
- COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
- COPYING.GPLv2: GNU General Public License version 2
- COPYING.GPLv3: GNU General Public License version 3

Note that the toolchain (compiler, linker etc.) may add some code
pieces that are copyrighted. Thus, it is possible that e.g. liblzma
binary wouldn't actually be in the public domain in its entirety
even though it contains no copyrighted code from the XZ Utils source
package.

If you have questions, don't hesitate to ask the author(s) for more
information.

$Id: contrib.txt,v 1.9 2024/04/18 14:56:48 cvsuser Exp $

To send feedback on this topic email: grie.nosp@m.fedit@gmai.nosp@m.l.com

Copyright © Adam Young All Rights Reserved.