summaryrefslogtreecommitdiffstats
path: root/htdocs/source/index.html
blob: 6f8dcb955ea161213ca890f513b14f1e902b0e41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<!--#set var="revision" value="\$Id: index.html,v 1.28 2003-02-24 23:33:19 ville Exp $"
--><!--#set var="date" value="\$Date: 2003-02-24 23:33:19 $"
--><!--#set var="title" value="Source Code Availability for The W3C Markup Validation Service"
--><!--#set var="relroot" value="../"
--><!--#include virtual="../header.html" -->

    <p id="skip">
      The source code for the <a
        href="../">W3C Markup Validation Service</a> is available under the
      terms of the <a
        href="http://www.w3.org/Consortium/Legal/copyright-software">W3C
      Software Copyright</a>.
    </p>
    <p>
      The purpose of making the source code available is partly to allow
      others to set up mirrors of the service (either publicly or within
      an intranet behind a firewall), but also to allow us to collaborate
      on making the service better -- there are <a
        href="../todo.html">many ways the service could be improved</a>!
    </p>

    <div id="getting">
      <h2>Retrieving the Code</h2>
      <p>You can retrieve the code a number of ways:</p>
      <ul>
        <li>
          <p>
            If you just want to glance at the code, or see its revision
            history, you can
            <a href="http://dev.w3.org/cvsweb/validator/">browse it on
              the web</a>.
          </p>
          <p>
            The most interesting files are currently
            <a href="http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/check">a
              CGI script called "check"</a> that does pretty much everything,
            and possibly also <a
              href="http://dev.w3.org/cvsweb/validator/httpd/conf/httpd.conf">the
              httpd.conf</a>. (Select the topmost revision numbers on these
            pages to see the most recent revision of each file.)
          </p>
        </li>
        <li>
          <p>
            If you want a copy of all the files that make up the
            service, you can <a href="../validator.tar.gz">grab a tar
              ball</a> (~2.8MB).
          </p>
        </li>
        <li id="CVS">
          <p>
            If you intend to actively mirror the code and/or contribute
            patches to the code, you should install and become familiar
            with <a href="http://www.cvshome.org/">CVS</a>;
            this is the tool we use for revision control and is generally
            a good thing to get to know. <a
              href="http://www.loria.fr/~molli/cvs-index.html">More
              information on CVS</a> is available courtesy of <a
              href="http://www.loria.fr/~molli/">Pascal Molli</a>.
          </p>
          <p>
            Our CVS base is available read-only, using CVS pserver
            authentication a la:
          </p>
          <pre>
    bash$ <kbd>export CVSROOT=":pserver:anonymous@dev.w3.org:/sources/public"</kbd>
    bash$ <kbd>cvs login</kbd>
    (Logging in to anonymous@dev.w3.org)
    CVS password: <kbd>anonymous</kbd>
    bash$ <kbd>cvs get validator</kbd>
    cvs server: Updating validator
    cvs server: Updating validator/htdocs
    U validator/htdocs/about.html
    ...
          </pre>
        </li>
      </ul>
    </div>

    <div>
      <h2>Prerequisites</h2>
      <p>
        Before you will be able to get the code to run, you will need a few
        things already installed on your system:
      </p>
        <ul>
          <li>
            A Unix-like operating system. It may also work with Windows
            NT, Mac OS X or other systems. It has worked on Linux,
            Solaris, FreeBSD, HP-UX, and Digital UNIX. If you try it on other
            systems and get it to work, please <a href="../feedback.html">let
            us know</a> (and <a href="../feedback.html">send us patches</a>,
            if they are needed to get it to work elsewhere).
         </li>
         <li>
           <a href="http://openjade.sourceforge.net/">OpenSP</a>, version 1.5
           or newer.  OpenSP is the SGML and XML parser used by the service.
         </li>
         <li>
           <a href="../sgml-lib.tar.gz">A collection of DTDs and other
             files</a> to validate against. (You do not need to download this
           if you mirror everything using <a href="#CVS">CVS</a>.)
         </li>
         <li>
           A web server: we are currently running <a
             href="http://httpd.apache.org/">Apache</a> version 1.3.27, but
           likely any version will work, and other web servers may work as
           well with some tweaking.  In particular, the server needs to be
           able to run <a href="http://www.w3.org/CGI/"><acronym
           title="Common Gateway Interface">CGI</acronym></a> scripts and
           have support for
           <a href="http://httpd.apache.org/docs/howto/ssi.html"><acronym
           title="Server Side Includes">SSI</acronym></a>.
         </li>
         <li>
           <a href="http://www.perl.org/">Perl</a>: the <a
             href="http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/check">main
             CGI script</a> that does everything is written in Perl.
             You'll need version 5.6.0 or newer.  Additionally, the following
             <a href="http://www.cpan.org/"><acronym
             title="Comprehensive Perl Archive Network">CPAN</acronym></a>
             distributions are needed:
          <ul>
           <li>
            <a href="http://search.cpan.org/dist/CGI.pm/">CGI.pm</a>,
            version 2.81 or newer
           </li>
           <li>
            <a href="http://search.cpan.org/dist/Config-General/">Config-General</a>,
            version 2.06 or newer
           </li>
           <li>
            <a href="http://search.cpan.org/dist/HTML-Parser/">HTML-Parser</a>,
            version 3.25 or newer
           </li>
           <li>
            <a href="http://search.cpan.org/dist/libwww-perl/">libwww-perl</a>,
            version 5.60 or newer
           </li>
           <li>
            <a href="http://search.cpan.org/dist/Set-IntSpan/">Set-IntSpan</a>
           </li>
           <li>
            <a href="http://search.cpan.org/dist/Text-Iconv/">Text-Iconv</a>
           </li>
           <li>
            <a href="http://search.cpan.org/dist/URI/">URI</a>
           </li>
          </ul>
         </li>
       </ul>
       <p>
         If you try to use the code and succeed (or fail), please <a
           href="../feedback.html">let us know</a>!
       </p>
     </div>

     <div id="dev">
       <h2>Development</h2>
       <p>
         For information on current development activity, see the <a
           href="http://lists.w3.org/Archives/Public/www-validator/">www-validator
           mailing list archives</a>. To join in discussions about the
         Validator, please join us in the <code>#validator</code> IRC channel
         on <code>irc.freenode.net</code>.
       </p>
       <p>
         Any changes to the service will attempt to maintain
         compatibility with a <a href="../dev/tests/">list of test cases</a>.
         Any changes to the code or documentation related to the service cause
         a notification message to be sent to the <a
           href="http://lists.w3.org/Archives/Public/www-validator-cvs/">www-validator-cvs
           mailing list</a>.
       </p>
     </div>
<!--#include virtual="../footer.html" -->
  </body>
</html>