Dist contrib/doxygen/.
[libidn.git] / FAQ
blob3375087a3b8891ce46f158fcc6bbe8e2e8a573b6
1 Libidn FAQ -- Anticipated Frequently Asked Questions.
2 Copyright (C) 2002, 2003 Simon Josefsson
3 See the end for copying conditions.
5 Q#1: Why doesn't Libidn use a separate library for the Unicode
6      operations?
8 A#1: Separate libraries (Glib, QT, libiconv) seldom mark the
9      Unicode tables with the corresponding Unicode version they
10      implement, nor do they provide a interface where a specific
11      version can be requested.  This violates the stringprep
12      specification which requires that a specific version must be
13      used.  Also, some of these third party libraries depend on
14      non-portable behavior (e.g. threads).
16 Q#2: Why do Libidn include several stringprep profiles?  They waste
17      space!
19 A#2: The stringprep profiles included are usually derived from the
20      generic stringprep tables, and doesn't waste more than say a few
21      hundred bytes (see profiles.c).  The Unicode normalization tables
22      and the generic stringprep tables are roughly equivalent in size,
23      although the latter tables can surely be compressed much further.
25 Q#3: I thought GNU was encouraging libraries to be licensed under the GPL?
27 A#3: The reasoning for this was for libraries that provide unique
28      functionality to encourage more free programs.  Since there are
29      several IDN libraries out there, using the GPL for Libidn would
30      only encourage people not to use Libidn which would not help the
31      spread of free software.
33 Q#4: How do I add a new stringprep profile?
35 A#4: Add the profile definition to profiles.c, export the symbol and
36      optionally add a CPP macro in stringprep.h.in documented in
37      reference/dummy.c.  If you want to add self tests, do it through
38      tst_stringprep.c.  Mention it in NEWS.
40 ----------------------------------------------------------------------
41 Copying and distribution of this file, with or without modification,
42 are permitted in any medium without royalty provided the copyright
43 notice and this notice are preserved.