My favorites | Sign in
Logo
v8
                
Search
for
Updated Feb 02, 2009 by ager@chromium.org
Contributing  
How to contribute to V8

Here you will find information that you'll need to be able to contribute to V8. Be sure to read the whole thing before sending us a contribution, including the small print at the end.

Before you contribute

Before you start working on a larger contribution V8 you should get in touch with us first through the V8 contributor mailing list so we can help out and possibly guide you; coordinating up front makes it much easier to avoid frustration later on.

Getting the code

To work with the V8 code you need to download and build the development branch. Active development of V8 takes place on a branch, branches/bleeding_edge, from which we push "green" versions that have passed all tests to trunk/ every week or so. To get a read-only version of the development branch use:

svn checkout http://v8.googlecode.com/svn/branches/bleeding_edge/ v8

If you're a member of the V8 project you can get a writable version over HTTPS:

svn checkout https://v8.googlecode.com/svn/branches/bleeding_edge/ v8 --username <your username>

This requires your generated googlecode.com password.

Submitting code

The source code of V8 follows the Google C++ Style Guide so you should familiarize yourself with those guidelines. Before submitting code you must pass all our tests, and have to successfully run the presubmit checks:

tools/presubmit.py

The presubmit script uses a google-internal linter, cpplint.py. External contributors can disable this by passing the --no-lint option.

All submissions, including submissions by project members, require review. We use the same code-review tools and process as the chromium project. In order to submit a patch, you need to get the depot_tools and follow these instructions on requesting a review (using your V8 workspace instead of a chromium workspace).

The small print

Before we can use your code you have to sign the Google Individual Contributor License Agreement, which you can do online. This is mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things, for instance that you'll tell us if you know that your code infringes on other people's patents. You don't have to do this until after you've submitted your code for review and a member has approved it, but you will have to do it before we can put your code into our codebase.

Contributions made by corporations are covered by a different agreement than the one above, the Software Grant and Corporate Contributor License Agreement.


Comment by g.c.prasad, Sep 10, 2008

Will V8 be supporting E4X? This is very important for me when building applications that talk to SOA backends.

Regards, Ganesh Prasad

Comment by odtool, Apr 21, 2009

I use javascript a lot in my webpages. It would be useful for web designers if v8 could implement a safeguard against infinite looping statements which freeze the browser. (which would occur if the programmer makes a coding mistake)


Sign in to add a comment