OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="contributor-ideas"> | 3 <section id="contributor-ideas"> |
4 <span id="ideas"></span><h1 id="contributor-ideas"><span id="ideas"></span>Contr
ibutor Ideas</h1> | 4 <span id="ideas"></span><h1 id="contributor-ideas"><span id="ideas"></span>Contr
ibutor Ideas</h1> |
5 <div class="contents local" id="contents" style="display: none"> | 5 <div class="contents local" id="contents" style="display: none"> |
6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
7 <li><a class="reference internal" href="#contributing-me" id="id8">Contributing?
Me‽</a></li> | 7 <li><a class="reference internal" href="#contributing-me" id="id9">Contributing?
Me‽</a></li> |
8 <li><p class="first"><a class="reference internal" href="#id1" id="id9">Ideas</a
></p> | 8 <li><a class="reference internal" href="#google-summer-of-code" id="id10">Google
Summer of Code</a></li> |
| 9 <li><p class="first"><a class="reference internal" href="#id2" id="id11">Ideas</
a></p> |
9 <ul class="small-gap"> | 10 <ul class="small-gap"> |
10 <li><p class="first"><a class="reference internal" href="#ports" id="id10">Ports
</a></p> | 11 <li><p class="first"><a class="reference internal" href="#ports" id="id12">Ports
</a></p> |
11 <ul class="small-gap"> | 12 <ul class="small-gap"> |
12 <li><a class="reference internal" href="#new-filesystems" id="id11">New Filesyst
ems</a></li> | 13 <li><a class="reference internal" href="#new-filesystems" id="id13">New Filesyst
ems</a></li> |
13 <li><a class="reference internal" href="#open-source-porting" id="id12">Open Sou
rce Porting</a></li> | 14 <li><a class="reference internal" href="#open-source-porting" id="id14">Open Sou
rce Porting</a></li> |
14 </ul> | 15 </ul> |
15 </li> | 16 </li> |
16 <li><p class="first"><a class="reference internal" href="#languages" id="id13">L
anguages</a></p> | 17 <li><p class="first"><a class="reference internal" href="#languages" id="id15">L
anguages</a></p> |
17 <ul class="small-gap"> | 18 <ul class="small-gap"> |
18 <li><a class="reference internal" href="#rust" id="id14">Rust</a></li> | 19 <li><a class="reference internal" href="#rust" id="id16">Rust</a></li> |
19 <li><a class="reference internal" href="#haskell" id="id15">Haskell</a></li> | 20 <li><a class="reference internal" href="#haskell" id="id17">Haskell</a></li> |
20 <li><a class="reference internal" href="#julia" id="id16">Julia</a></li> | 21 <li><a class="reference internal" href="#julia" id="id18">Julia</a></li> |
21 <li><a class="reference internal" href="#scala" id="id17">Scala</a></li> | 22 <li><a class="reference internal" href="#scala" id="id19">Scala</a></li> |
22 <li><a class="reference internal" href="#elm" id="id18">Elm</a></li> | 23 <li><a class="reference internal" href="#elm" id="id20">Elm</a></li> |
23 <li><a class="reference internal" href="#mono" id="id19">Mono</a></li> | 24 <li><a class="reference internal" href="#mono" id="id21">Mono</a></li> |
24 <li><a class="reference internal" href="#perl" id="id20">Perl</a></li> | 25 <li><a class="reference internal" href="#perl" id="id22">Perl</a></li> |
25 </ul> | 26 </ul> |
26 </li> | 27 </li> |
27 <li><a class="reference internal" href="#tcc" id="id21">TCC</a></li> | 28 <li><a class="reference internal" href="#tcc" id="id23">TCC</a></li> |
28 <li><p class="first"><a class="reference internal" href="#llvm-and-pnacl" id="id
22">LLVM and PNaCl</a></p> | 29 <li><p class="first"><a class="reference internal" href="#llvm-and-pnacl" id="id
24">LLVM and PNaCl</a></p> |
29 <ul class="small-gap"> | 30 <ul class="small-gap"> |
30 <li><a class="reference internal" href="#sandboxing-optimizations" id="id23">San
dboxing Optimizations</a></li> | 31 <li><a class="reference internal" href="#sandboxing-optimizations" id="id25">San
dboxing Optimizations</a></li> |
31 <li><a class="reference internal" href="#binary-size-reduction" id="id24">Binary
Size Reduction</a></li> | 32 <li><a class="reference internal" href="#binary-size-reduction" id="id26">Binary
Size Reduction</a></li> |
32 <li><a class="reference internal" href="#vector-support" id="id25">Vector Suppor
t</a></li> | 33 <li><a class="reference internal" href="#vector-support" id="id27">Vector Suppor
t</a></li> |
33 <li><a class="reference internal" href="#atomics" id="id26">Atomics</a></li> | 34 <li><a class="reference internal" href="#atomics" id="id28">Atomics</a></li> |
34 <li><a class="reference internal" href="#security-enhanced-pnacl" id="id27">Secu
rity-enhanced PNaCl</a></li> | 35 <li><a class="reference internal" href="#security-enhanced-pnacl" id="id29">Secu
rity-enhanced PNaCl</a></li> |
35 </ul> | 36 </ul> |
36 </li> | 37 </li> |
37 <li><p class="first"><a class="reference internal" href="#nacl" id="id28">NaCl</
a></p> | 38 <li><p class="first"><a class="reference internal" href="#nacl" id="id30">NaCl</
a></p> |
38 <ul class="small-gap"> | 39 <ul class="small-gap"> |
39 <li><a class="reference internal" href="#auto-sandboxing" id="id29">Auto-Sandbox
ing</a></li> | 40 <li><a class="reference internal" href="#auto-sandboxing" id="id31">Auto-Sandbox
ing</a></li> |
40 <li><a class="reference internal" href="#new-sandbox" id="id30">New Sandbox</a><
/li> | 41 <li><a class="reference internal" href="#new-sandbox" id="id32">New Sandbox</a><
/li> |
41 <li><a class="reference internal" href="#bit-sandbox" id="id31">64-bit Sandbox</
a></li> | 42 <li><a class="reference internal" href="#bit-sandbox" id="id33">64-bit Sandbox</
a></li> |
42 </ul> | 43 </ul> |
43 </li> | 44 </li> |
44 </ul> | 45 </ul> |
45 </li> | 46 </li> |
46 </ul> | 47 </ul> |
47 | 48 |
48 </div><h2 id="contributing-me">Contributing? Me‽</h2> | 49 </div><h2 id="contributing-me">Contributing? Me‽</h2> |
49 <p>NaCl and PNaCl are very big projects: they expose an entire operating system
to | 50 <p>NaCl and PNaCl are very big projects: they expose an entire operating system
to |
50 developers, interact with all of the Web platform, and deal with compilers | 51 developers, interact with all of the Web platform, and deal with compilers |
51 extensively to allow code written in essentially any programming language to | 52 extensively to allow code written in essentially any programming language to |
52 execute on a variety of CPU architectures. This can be daunting when trying to | 53 execute on a variety of CPU architectures. This can be daunting when trying to |
53 figure out how to contribute to the open-source project! This page tries to make | 54 figure out how to contribute to the open-source project! This page tries to make |
54 contributing easier by listing project ideas by broad area of interest, and | 55 contributing easier by listing project ideas by broad area of interest, and |
55 detailing the required experience and expectations for each idea.</p> | 56 detailing the required experience and expectations for each idea.</p> |
56 <p>This isn’t meant to constrain contributions! If you have ideas that are
n’t on | 57 <p>This isn’t meant to constrain contributions! If you have ideas that are
n’t on |
57 this page please contact the <a class="reference external" href="https://groups.
google.com/group/native-client-discuss">native-client-discuss</a> mailing list.<
/p> | 58 this page please contact the <a class="reference external" href="https://groups.
google.com/group/native-client-discuss">native-client-discuss</a> mailing list.<
/p> |
58 <p>If you like an idea on this page and would like to get started, contact the | 59 <p>If you like an idea on this page and would like to get started, contact the |
59 <a class="reference external" href="https://groups.google.com/group/native-clien
t-discuss">native-client-discuss</a> mailing list so that we can help you find a
mentor.</p> | 60 <a class="reference external" href="https://groups.google.com/group/native-clien
t-discuss">native-client-discuss</a> mailing list so that we can help you find a
mentor.</p> |
60 <h2 id="id1">Ideas</h2> | 61 <h2 id="google-summer-of-code">Google Summer of Code</h2> |
| 62 <p>PNaCl participates in the <a class="reference external" href="https://www.goo
gle-melange.com/gsoc/homepage/google/gsoc2015">2015 Google Summer of Code</a> (s
ee the <a class="reference external" href="https://www.google-melange.com/gsoc/o
rg2/google/gsoc2015/pnacl">PNaCl GSoC |
| 63 page</a>). <a class="reference external" href="https://www.google-melange.com/gs
oc/document/show/gsoc_program/google/gsoc2015/help_page#4._How_does_a_student_ap
ply">Student applications</a> are open March 16–27. Discuss project ideas no |
| 64 <a class="reference external" href="https://groups.google.com/group/native-clien
t-discuss">native-client-discuss</a>, and submit your proposal on the GSoC page
by the |
| 65 deadline.</p> |
| 66 <h2 id="id2">Ideas</h2> |
61 <p>We’ve separated contributor ideas into broad areas of interest:</p> | 67 <p>We’ve separated contributor ideas into broad areas of interest:</p> |
62 <ul class="small-gap"> | 68 <ul class="small-gap"> |
63 <li><strong>Ports</strong> encompass all the code that <em>uses</em> the PNaCl p
latform. Put simply, | 69 <li><strong>Ports</strong> encompass all the code that <em>uses</em> the PNaCl p
latform. Put simply, |
64 the point of ports is to make existing open-source code work.</li> | 70 the point of ports is to make existing open-source code work.</li> |
65 <li><strong>Programming languages</strong> sometimes involves compiler work, and
sometimes | 71 <li><strong>Programming languages</strong> sometimes involves compiler work, and
sometimes |
66 requires getting an interpreter and its APIs to work well within the Web | 72 requires getting an interpreter and its APIs to work well within the Web |
67 platform.</li> | 73 platform.</li> |
68 <li><strong>LLVM and PNaCl</strong> requires compiler work: PNaCl is based on th
e LLVM | 74 <li><strong>LLVM and PNaCl</strong> requires compiler work: PNaCl is based on th
e LLVM |
69 toolchain, and most of the work in this area would occur in the upstream LLVM | 75 toolchain, and most of the work in this area would occur in the upstream LLVM |
70 repository.</li> | 76 repository.</li> |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 and updating the code generation for each platform.</li> | 326 and updating the code generation for each platform.</li> |
321 <li><strong>Expected results:</strong> The new sandbox’s design and implem
entation successfully | 327 <li><strong>Expected results:</strong> The new sandbox’s design and implem
entation successfully |
322 pass a review with the Chrome security team. Existing NaCl code successfully | 328 pass a review with the Chrome security team. Existing NaCl code successfully |
323 runs in the new sandbox.</li> | 329 runs in the new sandbox.</li> |
324 <li><strong>Knowledge Prerequisite:</strong> Security, low-level assembly, compi
lers, LLVM.</li> | 330 <li><strong>Knowledge Prerequisite:</strong> Security, low-level assembly, compi
lers, LLVM.</li> |
325 <li><strong>Mentor:</strong> David Sehr.</li> | 331 <li><strong>Mentor:</strong> David Sehr.</li> |
326 </ul> | 332 </ul> |
327 </section> | 333 </section> |
328 | 334 |
329 {{/partials.standard_nacl_article}} | 335 {{/partials.standard_nacl_article}} |
OLD | NEW |