f67f8e8c |
1 | PEAR Libraries |
2 | ==================================================================== |
3 | |
4 | |
1e074660 |
5 | This directory (lib/pear) contains unmodified copies of some |
f67f8e8c |
6 | libraries from the standard PEAR distribution (http://pear.php.net). |
7 | |
1e074660 |
8 | We include these in Moodle solely for the convenience of sites that |
f67f8e8c |
9 | may not have PEAR installed. |
10 | |
1e074660 |
11 | If this directory is DELETED from Moodle then Moodle will search |
f67f8e8c |
12 | the standard PHP directories and use the PEAR libraries there instead. |
13 | |
6aaa17c7 |
14 | |
15 | In detail, the libraries added here are: |
16 | |
f67f8e8c |
17 | - PEAR HTML_Quickform: |
18 | - Current version: 3.2.6 |
19 | - by Bertrand Mansion, Adam Daniel, Alexey Borzov |
a3d23679 |
20 | - License: PHP (Permission given to Moodle to redistribute under GPL) |
f67f8e8c |
21 | - http://pear.php.net/package/HTML_Quickform |
22 | - PEAR HTML_Quickform_Renderer_Tableless: |
23 | - Current version: 0.3.4 |
24 | - by Mark Wiesemann |
d22130f3 |
25 | - License: PHP (Permission given to Moodle to redistribute under GPL) |
f67f8e8c |
26 | - http://pear.php.net/package/HTML_QuickForm_Renderer_Tableless |
d22130f3 |
27 | - PEAR HTML_QuickForm_DHTMLRulesTableless: |
28 | - Current version: 0.1.2 |
29 | - by Alexey Borzov, Adam Daniel, Bertrand Mansion, Justin Patrin, Mark Wiesemann |
30 | - License: PHP (Permission given to Moodle to redistribute under GPL) |
31 | - http://pear.php.net/package/HTML_QuickForm_DHTMLRulesTableless |
f67f8e8c |
32 | - PEAR HTML_Common: |
33 | - Current version: 1.2.2 |
34 | - by Adam Daniel, Bertrand Mansion, Klaus Guenther, Alexey Borzov, |
a3d23679 |
35 | - License: PHP (Permission given to Moodle to redistribute under GPL) |
f67f8e8c |
36 | - http://pear.php.net/package/HTML |
6aaa17c7 |
37 | - PEAR main class: |
38 | - Current version: 1.4.5 |
1e074660 |
39 | - by Stig Bakken, Thomas V.V.Cox, Pierre-Alain Joye, |
6aaa17c7 |
40 | Greg Beaver and Martin Jansen |
41 | - License: PHP |
42 | - http://pear.php.net/package/PEAR |
1e074660 |
43 | - PEAR HTML_AJAX: |
44 | - Current version: 0.5.6 |
45 | - by Elizabeth Smith, Arpad Ray, Joshua Eichorn, David Coallier and Laurent Yaish |
46 | - License: LGPL |
47 | - http://pear.php.net/package/HTML_AJAX/ |
3b8c2482 |
48 | - PEAR Crypt_CHAP: |
49 | - Current Version: 1.0.1 (2007-03-14) |
50 | - by Michael Bretterklieber |
51 | - License: BSD |
52 | - http://pear.php.net/package/Crypt_CHAP |
f67f8e8c |
53 | |
54 | ---------------------------------------------------------------- |
55 | A NOTE TO DEVELOPERS |
56 | ================================================================ |
57 | |
1e074660 |
58 | We must not use these classes directly ever. Instead we must build |
f67f8e8c |
59 | and use wrapper classes to isolate Moodle code from internal PEAR |
1e074660 |
60 | implementations, allowing us to migrate if needed to other |
61 | libraries in the future. For an example of wrapped classes, |
62 | see the excel.class.lib file, that includes code to build |
6aaa17c7 |
63 | Excel files using the cool library inside PEAR, but using |
64 | the old calls used before Moodle 1.6 to maintain compatibility. |
65 | |
66 | Please, don't forget it! Always use wrapper classes/functions! |
67 | |
1e074660 |
68 | Ciao, |
f67f8e8c |
69 | Eloy Lafuente, 2005-12-17 :-) |
7e73ff00 |
70 | |
71 | |
72 | |
73 | ---------------------------------------------------------------- |
74 | A NOTE ON THE PHP LICENSE AND MOODLE |
75 | ================================================================ |
76 | |
f67f8e8c |
77 | Everything in Moodle in pure GPL. This pear directory is the only |
78 | part of the distribution that is not. |
79 | |
1e074660 |
80 | There is some question about how PHP-licensed software can be |
7e73ff00 |
81 | included within a GPL-licensed distribution like Moodle, specifically |
1e074660 |
82 | the clause that annoyingly says no derivative of the software can |
83 | include the name PHP. |
f67f8e8c |
84 | |
1e074660 |
85 | We don't intend to rename Moodle to anything of the sort, obviously, |
86 | but to help people downstream who could possibly want to do so, |
87 | we have sought special permission from the authors of these classes |
88 | to allow us an exemption on this point so that we don't need to |
f67f8e8c |
89 | change our nice clean GPL license. |
7e73ff00 |
90 | |
1e074660 |
91 | Several authors have given Moodle explicit permission to distribute |
92 | their PHP-licensed PEAR classes in the Moodle distribution, allowing |
a3d23679 |
93 | anybody using these classes ONLY as part of the Moodle distribution |
7e73ff00 |
94 | exemption from clauses of the PHP license that could cause |
95 | conflict with the main GNU Public License that Moodle uses. |
96 | |
1e074660 |
97 | We are still waiting to hear back from the others but we assume |
f67f8e8c |
98 | for now that it will likewise be OK. |
99 | |
1e074660 |
100 | If you are at all worried about this situation you can simply delete |
101 | this directory from Moodle and it will use your installed PEAR |
f67f8e8c |
102 | libraries instead. |
7e73ff00 |
103 | |
104 | Cheers, |
105 | Martin Dougiamas, 2 April 2006 |