| 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 |