Mechanics of Open-Sourcing the Raptor Design Suite
By Alain Dargelas, Ph.D., Vice President of Software Engineering
Welcome to our exploration of the mechanics behind open-sourcing the Raptor Design Suite!
At Rapid Silicon, after 2.5 years of operating in a hybrid fashion—some pieces in the open, some in the private realm—we decided it was time to embrace open-source fully. We realized that this shift not only aligns with our values of transparency and collaboration but also has the potential to foster innovation and community growth. However, making this decision wasn’t without its challenges; convincing both engineers and managers unfamiliar with open-source required thorough deliberation and assurance.
Choosing the Right Licensing Scheme
The first crucial step was selecting a licensing scheme that accommodates various user scenarios. After careful consideration, we opted for a dual licensing approach: GPL3 and Proprietary license. This choice offers flexibility to different user groups:
- GPL3 License: Ideal for academics, tinkerers, and end-users compiling the tool from source. It grants them freedom to utilize the toolchain for their projects, including programming our devices and compatible devices from competitors. Contributions and redistributions are encouraged, provided they comply with GPL3 obligations.
- Proprietary License: Targeted towards FPGA vendors who wish to integrate our toolchain into their proprietary solutions. This license allows for redistribution in compiled form without the obligation to share source code changes.
Technical Preparations
With the licensing scheme in place, we embarked on technical preparations to ensure a smooth transition to open-source:
- Dependency Removal: We meticulously removed dependencies on non open-source components like parsers and license managers, replacing them with open-source alternatives. This ensures that our toolchain remains accessible to all users while respecting licensing agreements.
- Repository Refactoring: We reorganized our repositories, segregating the FPGA Device Model from the software repository. This separation allows us to maintain confidentiality over proprietary elements while facilitating collaboration on open-source components. Additionally, we purged sensitive company hardware data from repository histories to ensure compliance and security.
Transition Process
The transition to open-source was a carefully orchestrated effort, taking approximately a quarter to prepare and a week to execute. During this time, we addressed various tasks such as:
- Accounts and Repository Permissions: Ensuring proper access controls and permissions for all contributors and collaborators.
- Submodule Retargeting: Updating submodule addresses to reflect the open-source repositories.
- GitHub Actions and Builds: Automating build processes and regression testing to maintain code quality and stability.
Future Directions
Looking ahead, we are committed to further enhancing our open-source initiative. Our next priority is to make regressions more publicly accessible through the Private GitHub Runner mechanism. By continually improving transparency and accessibility, we aim to foster a vibrant community of developers and innovators around the Raptor Design Suite.
In conclusion, the journey to open-source the Raptor Design Suite has been both challenging and rewarding. We believe that by embracing open-source principles, we can unlock new opportunities for collaboration, innovation, and growth in the FPGA ecosystem.
Stay tuned for more updates on our open-source journey!
Alain Dargelas, Ph.D.
Vice President of Software Engineering