FAQ 2.1 KB

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