1. Licensing
|
This document is currently under development.
|
The main license used in this project is the Apache License, Version 2.0.
There are strict rules around the licenses used with open source RTL. OCAH will only permit incorporation of material governed under the liberal Apache 2.0 or equivalent licenses such as Solderpad.
This avoids the restrictions which come with licenses such as GPL.
The licences discussed above are documented here. Others may be added to the project over time.
| Do not attempt to commit material which was distributed under any other license without discussing first with OCAH project managers. |
2. Third Party Code
The OCAH project leverages third party open source RTL code whenever practical in order to boost productivity and not "reinvent the wheel". The primary projects we reference are:
This is not an exclusive list and there will inevitably be other open source projects added. We also leverage open source tools which are discussed elsewhere.
Third party components will be forked into the OCAH repository to decouple them from the originating project. We may still track the original project and update these forked versions if there is a good reason. Some reasons include incorporating bug fixes and feature enhancements.
We fully expect that third party components will be modified to some extent. This would be done by adding a wrapper around the design or portions of it, attempting to leave the core functionality unmodified. This may not always be possible, so the exact method of modification will vary.
An example modification would be that OpenTitan components use TileLink for their system bus interfaces. OCAHwill use AMBA APB and AXI4, so again, these will need to be replaced.
When adopting and potentially modifying third party modules, make sure to follow all of the license rules such as keeping all attribution comments in the file headers.