doc: add evanlucas to collaborators
[platform/upstream/nodejs.git] / README.md
1 io.js
2 ===
3 [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/iojs/io.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
5 This repository began as a GitHub fork of
6 [joyent/node](https://github.com/joyent/node).
7
8 io.js contributions, releases, and contributorship are under an
9 [open governance model](./GOVERNANCE.md).
10 We intend to land, with increasing regularity, releases which are
11 compatible with the npm ecosystem that has been built to date for Node.js.
12
13 ## Is it io.js or IO.js or iojs or IOjs or iOjS?
14
15 The official name is **io.js**, which should never be capitalized,
16 especially not at the start of a sentence, unless it is being
17 displayed in a location that is customarily all-caps (such as
18 the title of man pages).
19
20 ## To build:
21
22 ### Unix / Macintosh
23
24 Prerequisites:
25
26 * `gcc` and `g++` 4.8 or newer, or
27 * `clang` and `clang++` 3.3 or newer
28 * Python 2.6 or 2.7
29 * GNU Make 3.81 or newer
30 * libexecinfo (FreeBSD and OpenBSD only)
31
32 ```text
33 $ ./configure
34 $ make
35 $ [sudo] make install
36 ```
37
38 If your Python binary is in a non-standard location or has a
39 non-standard name, run the following instead:
40
41 ```text
42 $ export PYTHON=/path/to/python
43 $ $PYTHON ./configure
44 $ make
45 $ [sudo] make install
46 ```
47
48 To run the tests:
49
50 ```text
51 $ make test
52 ```
53
54 To build the documentation:
55
56 ```text
57 $ make doc
58 ```
59
60 To read the documentation:
61
62 ```text
63 $ man doc/iojs.1
64 ```
65
66 ### Windows
67
68 Prerequisites:
69
70 * [Python 2.6 or 2.7](https://www.python.org/downloads/)
71 * Visual Studio 2013 for Windows Desktop, or
72 * Visual Studio Express 2013 for Windows Desktop
73 * Basic Unix tools required for some tests,
74   [Git for Windows](http://git-scm.com/download/win) includes Git Bash
75   and tools which can be included in the global `PATH`.
76
77 ```text
78 > vcbuild nosign
79 ```
80
81 To run the tests:
82
83 ```text
84 > vcbuild test
85 ```
86
87 ### `Intl` (ECMA-402) support:
88
89 [Intl](https://github.com/joyent/node/wiki/Intl) support is not
90 enabled by default.
91
92 #### "small" (English only) support
93
94 This option will build with "small" (English only) support, but
95 the full `Intl` (ECMA-402) APIs.  With `--download=all` it will
96 download the ICU library as needed.
97
98 Unix / Macintosh:
99
100 ```text
101 $ ./configure --with-intl=small-icu --download=all
102 ```
103
104 Windows:
105
106 ```text
107 > vcbuild small-icu download-all
108 ```
109
110 The `small-icu` mode builds with English-only data. You can add full
111 data at runtime.
112
113 *Note:* more docs are on
114 [the joyent/node wiki](https://github.com/joyent/node/wiki/Intl).
115
116 #### Build with full ICU support (all locales supported by ICU):
117
118 With the `--download=all`, this may download ICU if you don't have an
119 ICU in `deps/icu`.
120
121 Unix / Macintosh:
122
123 ```text
124 $ ./configure --with-intl=full-icu --download=all
125 ```
126
127 Windows:
128
129 ```text
130 > vcbuild full-icu download-all
131 ```
132
133 #### Build with no Intl support `:-(`
134
135 The `Intl` object will not be available. This is the default at
136 present, so this option is not normally needed.
137
138 Unix / Macintosh:
139
140 ```text
141 $ ./configure --with-intl=none
142 ```
143
144 Windows:
145
146 ```text
147 > vcbuild intl-none
148 ```
149
150 #### Use existing installed ICU (Unix / Macintosh only):
151
152 ```text
153 $ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
154 ```
155
156 #### Build with a specific ICU:
157
158 You can find other ICU releases at
159 [the ICU homepage](http://icu-project.org/download).
160 Download the file named something like `icu4c-**##.#**-src.tgz` (or
161 `.zip`).
162
163 Unix / Macintosh
164
165 ```text
166 # from an already-unpacked ICU:
167 $ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu
168
169 # from a local ICU tarball
170 $ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz
171
172 # from a tarball URL
173 $ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
174 ```
175
176 Windows
177
178 First unpack latest ICU to `deps/icu`
179 [icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`)
180 as `deps/icu` (You'll have: `deps/icu/source/...`)
181
182 ```text
183 > vcbuild full-icu
184 ```
185
186 ## Resources for Newcomers
187
188 * [CONTRIBUTING.md](./CONTRIBUTING.md)
189 * [GOVERNANCE.md](./GOVERNANCE.md)
190 * IRC:
191   [#io.js on Freenode.net](http://webchat.freenode.net?channels=io.js&uio=d4)
192 * [iojs/io.js on Gitter](https://gitter.im/iojs/io.js)
193
194
195
196 ## Current Project Team Members
197
198 The io.js project team comprises a group of core collaborators and a sub-group
199 that forms the _Technical Committee_ (TC) which governs the project. For more
200 information about the governance of the io.js project, see
201 [GOVERNANCE.md](./GOVERNANCE.md).
202
203 * **Isaac Z. Schlueter** ([@isaacs](https://github.com/isaacs)) <i@izs.me> (Technical Committee)
204 * **Ben Noordhuis** ([@bnoordhuis](https://github.com/bnoordhuis)) <info@bnoordhuis.nl> (Technical Committee)
205 * **Bert Belder** ([@piscisaureus](https://github.com/piscisaureus)) <bertbelder@gmail.com> (Technical Committee)
206 * **Fedor Indutny** ([@indutny](https://github.com/indutny)) <fedor.indutny@gmail.com> (Technical Committee)
207 * **Trevor Norris** ([@trevnorris](https://github.com/trevnorris)) <trev.norris@gmail.com> (Technical Committee)
208 * **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> (Technical Committee)
209 * **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) <cjihrig@gmail.com> (Technical Committee)
210 * **Mikeal Rogers** ([@mikeal](https://github.com/mikeal)) <mikeal.rogers@gmail.com>
211 * **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org>
212 * **Thorsten Lorenz** ([@thlorenz](https://github.com/thlorenz)) <thlorenz@gmx.de>
213 * **Stephen Belanger** ([@qard](https://github.com/qard)) <admin@stephenbelanger.com>
214 * **Jeremiah Senkpiel** ([@fishrock123](https://github.com/fishrock123)) <fishrock123@rocketmail.com>
215 * **Evan Lucas** ([@evanlucas](https://github.com/evanlucas)) <evanlucas@me.com>
216
217 Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in
218 maintaining the io.js project.