Contributing to RMF
======================

Thanks for your interest in this project.

Project description:
--------------------

RMF is a framework for working with textual requirements, structured as ReqIF models, the industry standard for exchanging requirements. RMF uses natively ReqIF, the open standard for requirements exchange, allowing you to exchange requirements with many industry applications like Rational DOORS® or PTC integrity®.

What is ProR?

ProR is the GUI that allows comfortable working with Requirements. It opens ReqIF files with a click, allowing you to immediately inspect and edit files. Powerful extensions exist for dealing with rich text, ReqIFz-Archives, and much more.

ProR is designed explicitly for integration and extendability. An Extension Point exists that allows tools to integrate their own renderer or even editor. Some integrations are publicly available, including a UML/SysML integration and an integration with the formal modeling tool Rodin.
 
- http://www.eclipse.org/rmf/

Contributor Guide:
--------------------

Information regarding source code management, builds, coding standards, and more.

- https://wiki.eclipse.org/Category:RMF/Contributor_Guide

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/rmf-dev

Search for bugs:
----------------

This project uses Bugzilla to track ongoing development and issues.

- https://bugs.eclipse.org/bugs/describecomponents.cgi?product=MDT.RMF

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/describecomponents.cgi?product=MDT.RMF