Contributing to Mylyn Versions
=============================

Thanks for your interest in this project.

Mylyn Project description:
--------------------

Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy.

- https://projects.eclipse.org/projects/mylyn

Mylyn Versions Sub-Project description:
--------------------

Eclipse integration for source code and configuration management tools and bi-directional linking to change management tools. This project and APIs it provides builds on the existing Eclipse Team APIs.

Developer resources:
--------------------

Information regarding source code management, builds, coding standards, and more.

- http://wiki.eclipse.org/index.php/Mylyn_Contributor_Reference
- https://projects.eclipse.org/projects/mylyn/developer

Contributor License Agreement:
------------------------------

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

- http://www.eclipse.org/legal/CLA.php

Contact:
--------

Contact the project developers via the project's "dev" list.

- https://dev.eclipse.org/mailman/listinfo/mylyn-dev

Search for bugs:
----------------

This project uses Bugzilla to track ongoing development and issues.

- https://bugs.eclipse.org/bugs/buglist.cgi?product=Mylyn Versions

Create a new bug:
-----------------

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!

- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Mylyn Versions
