Difference between revisions of "Contributing Code to TinyOS"

From TinyOS Wiki
Jump to: navigation, search
m (http://roladarh.strefa.pl/news-1542.html)
(Contributing to TinyOS 2.x)
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[http://roladarh.strefa.pl/news-1542.html psychedelic video] [http://saererg.0lx.net/20081109-michigan-movie.htm michigan movie novi theater] [http://relquaca.is-the-boss.com/20081228-pirate-of-the-caribbean.html pirate of the caribbean casting] [http://fademon.0lx.net/article-1175.htm i stand alone godsmack video] [http://chifire.strefa.pl/news-1573.html nagasaki video clips]
+
__FORCETOC__
[http://sematild.qsh.eu/resource1864.htm savior movie soundtrack] [http://dronoubr.0lx.net/adam-sandler-music.html adam sandler music video secret] [http://lifokdron.0lx.net/639.html starz movie listing] [http://acsitzar.0lx.net/news-loch-monster-2008-11-11.html loch monster ness new video] [http://spfortne.qsh.eu/20090103-antarctica-ken.html antarctica ken movie]
 
[http://acsitzar.0lx.net/news-er-diagram-video-2008-11-20.html er diagram video store] [http://betheres.qsh.eu/comment-755.htm http] [http://varpasz.is-the-boss.com/article967.htm multisim 8 trial serial] [http://golxando.0lx.net/1055117291.html movie trailers superman] [http://zelgetgo.0lx.net/new1343.htm melissa joan hart video clips]
 
[http://naceceli.qsh.eu/sitemap.html url] [http://huruple.qsh.eu/20090103-mary-poppins-movie.htm mary poppins movie quotes] [http://golxando.0lx.net/1043208351.html rent movies download online] [http://tarobasal.strefa.pl/article881.htm jitterbug dance video] [http://hencnac4t.is-the-boss.com/news-pqdvd-serial-2008-12-28.html pqdvd serial]
 
[http://licawol.strefa.pl/resource301.htm movies showtime] [http://saererg.0lx.net/20081120-launch-yahoo-com.htm com launch music video yahoo] [http://sakonze.qsh.eu/sitemap.html site] [http://betheres.qsh.eu/comment-755.htm top] [http://golxando.0lx.net/1082257303.html emmett till movie]
 
[http://tacataca.strefa.pl/comment-240.htm asian spanking videos] [http://caraines.qsh.eu/acelpasv.htm postal service we will become silhouettes music video] [http://relquaca.is-the-boss.com/20081226-edonkey-109-crack.html edonkey 1.0.9 crack] [http://brc4tdro.is-the-boss.com/sitemap.html index] [http://tacataca.strefa.pl/comment-555.htm ebaum videos]
 
=Using TinyOS 1.x Projects=
 
  
The contributed project for TinyOS 1.x are located in the [http://tinyos.cvs.sourceforge.net/tinyos/tinyos-1.x/contrib/ contrib] directory of the TinyOS 1.x CVS repository. To access the projects check out a copy of the "tinyos-1.x" CVS repository (instructions [http://sourceforge.net/cvs/?group_id=28656 here]).
+
=Contributing to TinyOS 2.x =
 
 
To receive updates by e-mail to the TinyOS-1.x contrib section, join the commit mailing list:<br>
 
http://mail.millennium.berkeley.edu/pipermail/tinyos-contrib-commits/
 
 
 
=Using TinyOS 2.x Projects=
 
 
 
Contributed TinyOS 2 projects are organized in [[TinyOS 2.x index of contributed code| The TinyOS 2.x Index of Contributed Code]]. This index provides a short description and a contact for each project as well as a link to detailed instructions. To access the projects check out a copy of the [http://tinyos.cvs.sourceforge.net/tinyos/tinyos-2.x-contrib/ tinyos-2.x-contrib] CVS repository (instructions [http://sourceforge.net/cvs/?group_id=28656 here]).
 
 
 
To receive updates by e-mail to the TinyOS-2.x contrib section, join the commit mailing list:<br>
 
https://www.millennium.berkeley.edu/pipermail/tinyos-2-contrib-commits/
 
 
 
=Contributing Code=
 
  
 
We welcome code contributions to the TinyOS source code base and have tried to make contributing as easy as possible. In order to contribute code, you must first obtain a SourceForge developer account. If you don't have an account yet, see [http://sourceforge.net/account/newuser_emailverify.php SourceForge] for details on how to get one.
 
We welcome code contributions to the TinyOS source code base and have tried to make contributing as easy as possible. In order to contribute code, you must first obtain a SourceForge developer account. If you don't have an account yet, see [http://sourceforge.net/account/newuser_emailverify.php SourceForge] for details on how to get one.
  
Once you have obtained your SourceForge user account send an email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu] indicating your intent to contribute code. TinyOS 1.x and 2.x have slightly different processes for contributing code, as described below.
 
  
It should be noted that since all contributed code is ultimately stored in a CVS repository it is highly discouraged to contribute anything not directly related to the code or documentation supporting a project under development. For example, video, audio, or sensor data gathered using the code contributed for your project should NOT be committed to the CVS repository. If you want others to have access to data of this type, you should instead provide some documentation pointing them to a location where it can be downloaded from (e.g. a webpage maintained on your local server).
+
Once you have obtained your SourceForge user account send an email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu] with the following information.
  
===Contributing Code to TinyOS 1.x===
+
# Your intent to contribute code to TinyOS 2.x and not TinyOS 1.x.
 +
# The name of a directory underneath which all of your contributed code will be contained.
 +
# The name and email address of someone who will act as the point of contact for maintaining that directory
 +
# A list of GitHub developer usernames you would like to be given access for contributing code underneath that directory.
 +
# URLs for the groups, companies, or institutions the contributors are from, if relevant
 +
# A short description of any projects you plan to develop inside of that directory. Please write one to three sentences about each project for inclusion in an index that lists all contributed code. You can always write another email later if you start working on other projects and you want them included in the index as well.
  
If you are contributing code to TinyOS 1.x then you only need to provide the following information in your email:
+
Contributed TinyOS 2.x projects are organized in [[TinyOS 2.x index of contributed code| The TinyOS 2.x Index of Contributed Code]] with the following information.
# Your intent to contribute code to TinyOS 1.x and not TinyOS 2.x
+
# The name of the project
# A list of SourceForge developer usernames you would like to be given access for contributing code
+
# The name and email address of the developer in charge of maintaining the project
Once you receive a confirmation email indicating that your users have been granted developer access, you should be ready to go. Simply checkout the tinyos-1.x source tree from SourceForge following the instructions found [http://sourceforge.net/cvs/?group_id=28656 here], and create your project directory under tinyos-1.x/contrib. Make sure you follow the directions for '''"Developer CVS Access via SSH"''' and that you use ''tinyos-1.x'' as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it, a short tutorial to get you started can be found [http://www.star.bnl.gov/STAR/sds_l/ssd_l/cvs_tutorial.html here].
+
# The name of the institution working on the project
 +
# The date the project was last updated in the index
 +
# A short two or three sentence description of the project
  
Once you have been granted access, you will have free reign to create and modify any directories or files located under tinyos-1.x/contrib. You should create directories of your own in order to organize your code and keep it separate from everyone elses. Some developers like to name their directories after the institution they are affiliated with (e.g. ucb, wustl, motiv, xbow). Others like to name them after the project their code is associated with (e.g. s-mac, mate, nucleus). It is entirely up to you how to organize them. If you would like write access to a particular directory restricted to a specific set of users, please send an email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu] and we will accomodate your request as best we can.
+
The name of the project will contain a link to a local index.html file created for you underneath your top level directory. This file is used to document the projects contained in that directory. Some people will prefer to write their project documentation directly within their local.html file. Others will prefer to use this file to redirect users to another webpage maintained on a different server. It is in your best interest to make this documentation as comprehensive as possible so that other people will know how to use your code.
  
===Contributing Code to TinyOS 2.x===
 
  
The process for contributing code to TinyOS 2.x is a little stricter than for TinyOS 1.x. A set of caretakers have been assigned to ensure that any contributed code follows a certain set of guidelines. When sending an email requesting access to contribute code for TinyOS 2.x please include the following information:
+
Once you receive a confirmation email indicating that your users have been granted developer access, you can checkout the [http://tinyos.cvs.sourceforge.net/viewvc/tinyos/tinyos-2.x-contrib/ tinyos-2.x-contrib] source tree from SourceForge following the instructions found [[TinyOS CVS Repositories|here]]. Make sure you follow the directions for '''"Developer CVS Access via SSH"''' and that you use ''tinyos-2.x-contrib'' as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it to commit your code, a short tutorial to get you started can be found [http://sourceforge.net/apps/trac/sourceforge/wiki/CVS%20client%20instructions here].
  
# Your intent to contribute code to TinyOS 2.x and not TinyOS 1.x.
+
To receive updates by e-mail to the TinyOS-2.x contrib section, join the commit mailing list:<br>
# The name of a directory underneath which all of your contributed code will be contained.
+
https://www.millennium.berkeley.edu/pipermail/tinyos-2-contrib-commits/
# The name and email address of someone who will act as the point of contact for maintaining that directory
 
# A list of SourceForge developer usernames you would like to be given access for contributing code underneath that directory.
 
# A short description of any projects you plan to develop inside of that directory. Please write one to three sentences about each project for inclusion in an index that lists all contributed code. You can always write another email later if you start working on other projects and you want them included in the index as well.
 
 
 
Once you receive a confirmation email indicating that your users have been granted developer access, you can checkout the tinyos-2.x-contrib source tree from SourceForge following the instructions found [http://sourceforge.net/cvs/?group_id=28656 here]. Make sure you follow the directions for '''"Developer CVS Access via SSH"''' and that you use ''tinyos-2.x-contrib'' as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it to commit your code, a short tutorial to get you started can be found [http://www.star.bnl.gov/STAR/sds_l/ssd_l/cvs_tutorial.html here].
 
  
Unlike in TinyOS 1.x where developers have free reign to commit files anywhere they please underneath tinyos-1.x/contrib, commit access is restricted under tinyos-2.x-contrib to the specific directory created for each group. Many developers like to name this directory after the institution with which their project is affiliated. For projects being developed across multiple institutions, however, it may be appropriate to specify a project name instead of an institution. If a directory name is already taken underneath which you would like to contribute code, you can either (1) directly contact the maintainer of that directory to work out a plan for contributing your code underneath it, (2) request the creation of a new directory by the contrib-caretakers. If you choose to follow (1), then it is your responsibility to have the maintainer of that directory send an email to the contrib caretakers requesting that you be given access to it. They should also provide a short description of your project for inclusion in the index. The most common reason for following this course of action is when two different groups at the same institution would like their code included under the same directory name.
+
Commit access is restricted under tinyos-2.x-contrib to the specific directory created for each group. Many developers like to name this directory after the institution with which their project is affiliated. For projects being developed across multiple institutions, however, it may be appropriate to specify a project name instead of an institution. If a directory name is already taken underneath which you would like to contribute code, you can either (1) directly contact the maintainer of that directory to work out a plan for contributing your code underneath it, (2) request the creation of a new directory by the contrib-caretakers. If you choose to follow (1), then it is your responsibility to have the maintainer of that directory send an email to the contrib caretakers requesting that you be given access to it. They should also provide a short description of your project for inclusion in the index. The most common reason for following this course of action is when two different groups at the same institution would like their code included under the same directory name.
  
 
While there is no restriction on how to organize your contributed code, it is highly encouraged to try and mimic the organizational structure used in the tinyos-2.x core. By mimicking this organization, it is easier for anyone wanting to use this code to navigate it and understand it. It is also easier to migrate it into the core if its status ever gets promoted. This does not mean that code from the core should be replicated in these directories, but rather that any newly contributed code should try and follow a similar structure. For example, the directory structure would look like the following for someone at UCLA developing a set of libraries and applications (a skeleton is provide in the [[TinyOS 2.x index of contributed code#Skel| skel]] directory of tinyos-2.x-contrib including a Make setup):
 
While there is no restriction on how to organize your contributed code, it is highly encouraged to try and mimic the organizational structure used in the tinyos-2.x core. By mimicking this organization, it is easier for anyone wanting to use this code to navigate it and understand it. It is also easier to migrate it into the core if its status ever gets promoted. This does not mean that code from the core should be replicated in these directories, but rather that any newly contributed code should try and follow a similar structure. For example, the directory structure would look like the following for someone at UCLA developing a set of libraries and applications (a skeleton is provide in the [[TinyOS 2.x index of contributed code#Skel| skel]] directory of tinyos-2.x-contrib including a Make setup):
Line 100: Line 82:
 
  </nowiki>
 
  </nowiki>
  
If you would like any or all of these directories to be created for you at the time your top level directory is created, please indicate so in your email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu].
+
It should be noted that since all contributed code is ultimately stored in a CVS repository it is highly discouraged to contribute anything not directly related to the code or documentation supporting a project under development. For example, video, audio, or sensor data gathered using the code contributed for your project should NOT be committed to the CVS repository. If you want others to have access to data of this type, you should instead provide some documentation pointing them to a location where it can be downloaded from (e.g. a webpage maintained on your local server).
 
 
As indicated earlier, one of the duties of the TinyOS 2.x contrib caretakers is to maintain an index of all contributed code. This index is located [[TinyOS 2.x index of contributed code| here]]. All contributed projects will be included in this index with the following information:
 
 
 
* The name of the project
 
* The name and email address of the developer in charge of maintaining the project
 
* The name of the institution working on the project
 
* The date the project was last updated in the index
 
* A short two or three sentence description of the project
 
 
 
The name of the project will contain a link to a local index.html file created for you underneath your top level directory. This file is used to document the projects contained in that directory. Some people will prefer to write their project documentation directly within their local.html file. Others will prefer to use this file to redirect users to another webpage maintained on a different server. It is in your best interest to make this documentation as comprehensive as possible so that other people will know how to use your code.
 
  
 
Depending on the status of each project, different projects will be organized into different categories.
 
Depending on the status of each project, different projects will be organized into different categories.
Line 121: Line 93:
  
 
Note that if code has existed in the repository in either the "Stable" or "Experimental" categories for more than 6 months without any new commits to it, an email will be sent to whoever is in charge of maintaining it. If there is no response after 1 week, a second email will be sent. If after another week there is still no response, the project will be demoted to either the "Unsupported" or "Stable but Unsupported" categories depending on how it had been categorized previously. In order to make sure that this doesn't happen to you, please keep the contrib caretakers up to date on the current maintainer of your project.
 
Note that if code has existed in the repository in either the "Stable" or "Experimental" categories for more than 6 months without any new commits to it, an email will be sent to whoever is in charge of maintaining it. If there is no response after 1 week, a second email will be sent. If after another week there is still no response, the project will be demoted to either the "Unsupported" or "Stable but Unsupported" categories depending on how it had been categorized previously. In order to make sure that this doesn't happen to you, please keep the contrib caretakers up to date on the current maintainer of your project.
 +
 +
=Contributing to TinyOS 1.x =
 +
 +
''['''(Deprecated)''' TinyOS 1.x has been superseeded by TinyOS 2.x.  You should really consider migrating to TinyOS 2.x]''
 +
 +
The contributed project for TinyOS 1.x are located in the [http://tinyos.cvs.sourceforge.net/tinyos/tinyos-1.x/contrib/ contrib] directory of the TinyOS 1.x CVS repository. To access the projects check out a copy of the "tinyos-1.x" CVS repository (instructions [http://sourceforge.net/cvs/?group_id=28656 here]).
 +
 +
To receive updates by e-mail to the TinyOS-1.x contrib section, join the commit mailing list:<br>
 +
http://mail.millennium.berkeley.edu/pipermail/tinyos-contrib-commits/
 +
 +
If you are contributing code to TinyOS 1.x then you only need to send an email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu] with the following information:
 +
 +
# Your intent to contribute code to TinyOS 1.x and not TinyOS 2.x
 +
# A list of SourceForge developer usernames you would like to be given access for contributing code
 +
 +
Once you receive a confirmation email indicating that your users have been granted developer access, you should be ready to go. Simply checkout the tinyos-1.x source tree from SourceForge following the instructions found [http://sourceforge.net/cvs/?group_id=28656 here], and create your project directory under tinyos-1.x/contrib. Make sure you follow the directions for '''"Developer CVS Access via SSH"''' and that you use ''tinyos-1.x'' as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it, a short tutorial to get you started can be found [http://www.star.bnl.gov/STAR/sds_l/ssd_l/cvs_tutorial.html here].
 +
 +
Once you have been granted access, you will have free reign to create and modify any directories or files located under tinyos-1.x/contrib. You should create directories of your own in order to organize your code and keep it separate from everyone elses. Some developers like to name their directories after the institution they are affiliated with (e.g. ucb, wustl, motiv, xbow). Others like to name them after the project their code is associated with (e.g. s-mac, mate, nucleus). It is entirely up to you how to organize them. If you would like write access to a particular directory restricted to a specific set of users, please send an email to [mailto:tinyos-contrib-caretakers@millennium.berkeley.edu tinyos-contrib-caretakers@millennium.berkeley.edu] and we will accomodate your request as best we can.
 +
 +
[[Category:Development]]

Latest revision as of 14:51, 10 November 2014


Contributing to TinyOS 2.x

We welcome code contributions to the TinyOS source code base and have tried to make contributing as easy as possible. In order to contribute code, you must first obtain a SourceForge developer account. If you don't have an account yet, see SourceForge for details on how to get one.


Once you have obtained your SourceForge user account send an email to tinyos-contrib-caretakers@millennium.berkeley.edu with the following information.

  1. Your intent to contribute code to TinyOS 2.x and not TinyOS 1.x.
  2. The name of a directory underneath which all of your contributed code will be contained.
  3. The name and email address of someone who will act as the point of contact for maintaining that directory
  4. A list of GitHub developer usernames you would like to be given access for contributing code underneath that directory.
  5. URLs for the groups, companies, or institutions the contributors are from, if relevant
  6. A short description of any projects you plan to develop inside of that directory. Please write one to three sentences about each project for inclusion in an index that lists all contributed code. You can always write another email later if you start working on other projects and you want them included in the index as well.

Contributed TinyOS 2.x projects are organized in The TinyOS 2.x Index of Contributed Code with the following information.

  1. The name of the project
  2. The name and email address of the developer in charge of maintaining the project
  3. The name of the institution working on the project
  4. The date the project was last updated in the index
  5. A short two or three sentence description of the project

The name of the project will contain a link to a local index.html file created for you underneath your top level directory. This file is used to document the projects contained in that directory. Some people will prefer to write their project documentation directly within their local.html file. Others will prefer to use this file to redirect users to another webpage maintained on a different server. It is in your best interest to make this documentation as comprehensive as possible so that other people will know how to use your code.


Once you receive a confirmation email indicating that your users have been granted developer access, you can checkout the tinyos-2.x-contrib source tree from SourceForge following the instructions found here. Make sure you follow the directions for "Developer CVS Access via SSH" and that you use tinyos-2.x-contrib as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it to commit your code, a short tutorial to get you started can be found here.

To receive updates by e-mail to the TinyOS-2.x contrib section, join the commit mailing list:
https://www.millennium.berkeley.edu/pipermail/tinyos-2-contrib-commits/

Commit access is restricted under tinyos-2.x-contrib to the specific directory created for each group. Many developers like to name this directory after the institution with which their project is affiliated. For projects being developed across multiple institutions, however, it may be appropriate to specify a project name instead of an institution. If a directory name is already taken underneath which you would like to contribute code, you can either (1) directly contact the maintainer of that directory to work out a plan for contributing your code underneath it, (2) request the creation of a new directory by the contrib-caretakers. If you choose to follow (1), then it is your responsibility to have the maintainer of that directory send an email to the contrib caretakers requesting that you be given access to it. They should also provide a short description of your project for inclusion in the index. The most common reason for following this course of action is when two different groups at the same institution would like their code included under the same directory name.

While there is no restriction on how to organize your contributed code, it is highly encouraged to try and mimic the organizational structure used in the tinyos-2.x core. By mimicking this organization, it is easier for anyone wanting to use this code to navigate it and understand it. It is also easier to migrate it into the core if its status ever gets promoted. This does not mean that code from the core should be replicated in these directories, but rather that any newly contributed code should try and follow a similar structure. For example, the directory structure would look like the following for someone at UCLA developing a set of libraries and applications (a skeleton is provide in the skel directory of tinyos-2.x-contrib including a Make setup):

 tinyos-2.x-contrib
 |-- ucla
 |   |-- apps
 |   |   |-- uclaApp0
 |   |   |-- uclaApp1
 |   |-- lib
 |   |   |-- uclaLib0
 |   |   |-- uclaLib1
 

For an institution working on the development of two new platforms that contain a set of new chips and platform specific code, the directory structure might look like this.

 tinyos-2.x-contrib
 |-- institution_name
 |   |-- chips
 |   |   |-- mcuChip
 |   |   |-- chip1
 |   |   |-- chip2
 |   |-- platforms
 |   |   |-- platform0
 |   |   |   |-- .platform
 |   |   |-- platform1
 |   |   |   |-- .platform
 |   |-- support
 |   |   |-- make
 |   |   |   |-- mcuChip
 |   |   |   |   |-- mcuChip.rules
 |   |   |   |-- platform0.extra
 |   |   |   |-- platform1.extra
 

In general, the organizational structure could look like the following:

 |-- apps
 |-- chips
 |-- libs
 |-- platforms
 |-- sensorboards
 |-- support
 |   |-- make
 |   |-- sdk
 |-- system
 |-- tools
 

It should be noted that since all contributed code is ultimately stored in a CVS repository it is highly discouraged to contribute anything not directly related to the code or documentation supporting a project under development. For example, video, audio, or sensor data gathered using the code contributed for your project should NOT be committed to the CVS repository. If you want others to have access to data of this type, you should instead provide some documentation pointing them to a location where it can be downloaded from (e.g. a webpage maintained on your local server).

Depending on the status of each project, different projects will be organized into different categories.

  • Experimental Projects contain code that is in a constant state of flux. Whenever a project is newly created it will be entered into the index under this category.
  • Promoted Projects existed as contributed code at one time, but have since been promoted into the tinyos-2.x baseline. They are now being maintained on the main development branch. Projects get promoted once a working group is formed to push their use forward or they are taken in by an existing working group.
  • Stable Projects contain code that the developers of that project consider to be in a stable operating state. Developers should request to have their projects moved into this category once they are mostly completed and are only maintained by minor bug fixes and improvements.
  • Stable but Unsupported Projects contain code that was previously categorized as stable but is no longer being maintained by anyone.
  • Unsupported Projects contain code that was previously categorized as experimental but is no longer being maintained by anyone.

Note that if code has existed in the repository in either the "Stable" or "Experimental" categories for more than 6 months without any new commits to it, an email will be sent to whoever is in charge of maintaining it. If there is no response after 1 week, a second email will be sent. If after another week there is still no response, the project will be demoted to either the "Unsupported" or "Stable but Unsupported" categories depending on how it had been categorized previously. In order to make sure that this doesn't happen to you, please keep the contrib caretakers up to date on the current maintainer of your project.

Contributing to TinyOS 1.x

[(Deprecated) TinyOS 1.x has been superseeded by TinyOS 2.x. You should really consider migrating to TinyOS 2.x]

The contributed project for TinyOS 1.x are located in the contrib directory of the TinyOS 1.x CVS repository. To access the projects check out a copy of the "tinyos-1.x" CVS repository (instructions here).

To receive updates by e-mail to the TinyOS-1.x contrib section, join the commit mailing list:
http://mail.millennium.berkeley.edu/pipermail/tinyos-contrib-commits/

If you are contributing code to TinyOS 1.x then you only need to send an email to tinyos-contrib-caretakers@millennium.berkeley.edu with the following information:

  1. Your intent to contribute code to TinyOS 1.x and not TinyOS 2.x
  2. A list of SourceForge developer usernames you would like to be given access for contributing code

Once you receive a confirmation email indicating that your users have been granted developer access, you should be ready to go. Simply checkout the tinyos-1.x source tree from SourceForge following the instructions found here, and create your project directory under tinyos-1.x/contrib. Make sure you follow the directions for "Developer CVS Access via SSH" and that you use tinyos-1.x as the module name when checking out the tree. If you are unfamiliar with CVS and how to use it, a short tutorial to get you started can be found here.

Once you have been granted access, you will have free reign to create and modify any directories or files located under tinyos-1.x/contrib. You should create directories of your own in order to organize your code and keep it separate from everyone elses. Some developers like to name their directories after the institution they are affiliated with (e.g. ucb, wustl, motiv, xbow). Others like to name them after the project their code is associated with (e.g. s-mac, mate, nucleus). It is entirely up to you how to organize them. If you would like write access to a particular directory restricted to a specific set of users, please send an email to tinyos-contrib-caretakers@millennium.berkeley.edu and we will accomodate your request as best we can.