Open-source is a catch-phrase, business model, status symbol, and a cause that the Free Software Foundation promotes to ensure that “users have the freedom to run, edit, contribute to, and share the software” (FSF, 2021). We realize and respect the transformative power an open-source approach can have with software developers, primarily for debugging new programs and transparency for security teams. Traditionally, software publishers in the CAD industry have dismissed the idea of being open-source, perceiving it as inferior technology, or giving away the high-value intellectual property for free (this industry isn’t shy to license the technology for over ten-thousand dollars for a single user). We posit that by making the core of our technology open-source we’re going to appeal to the next generation of developers and researchers that will democratize industry 4.0’s access to 3D visualization, we’ll be able to charge a fair price for it and foster a community of developers that otherwise would have trouble aligning on an accessible platform. In this post, we’ll provide our list of the top 5 benefits of including open-source software in your tech stack and why they’re emblematic of quality and transparency for development teams.
Why is open-source important?
Consider the following statement by Mark Russinovich CTO, Microsoft Azure: “Open source software is core to nearly every company’s technology strategy and securing it is an essential part of securing the supply chain for every company, including our own” (Microsoft , 2020). If you’re more of the Google mindset, you can be proud to know that Google uses thousands of open source projects to build scalable and reliable products (Google, 2021).
Furthermore, open-source projects pioneered remote software development. At the time of writing this post, we’re 1-year into a global pandemic where teams are still struggling to collaborate on projects remotely. The open-source community has been thriving with remote teams for over 20 years. In the future, we expect teams to be challenged to increase productivity with a decentralized model, and we think that open-sourcing the Zea Engine is a first step and a way for us to learn how to embrace the open-source model.
If you’re not already convinced that taking a position on open-source is critical, consider the key findings from a 2020 Open Source Security and Risk Analysis (OSSRA) of over 1,250 commercial codebases and found that 99% of codebases audited in 2019 contained open-source components, 75% contained vulnerabilities, and 67% had licensing conflicts. While choosing a reputable, well-maintained, and well-documented open-source project will save time and headaches, the converse also holds true.
Our top 5 benefits of using maintained open-source projects
1 Complete Transparency
It’s open. There’s nothing to hide. When you have guests over, you tidy the place up, right? Open-source is like having guests over all the time, and some even pay you to be there. The transparency that this model brings, puts a lot of pressure on the initial project developers to expose their code-baby to the world, continue to deliver on their KPIs, improve the repository, address issues, and support a community. This transparency and accessibility also lead to better quality and code documentation. Companies can also run their own security and vulnerability audits and manage code-quality more accurately in their projects.
2 Easier Technology Evaluations
If you consider the typical experience of licensing software components for your next application which includes discovery, contacting sales, getting a demo, starting an evaluation, negotiating terms, and finally executing the partnership, it’s clear that open-source means quicker and more thorough software evaluations. Under this model, we think that, within a few days, any evaluator will feel confident they have seen enough to make an informed decision, without having to contact sales beforehand.
3 Better Developer Experience
Open source allows for a more personalized connection with the project. As soon as you create a pull request into the base branch, you’re initiating a conversation with the development team that’s responsible for the project. To some, this isn’t important, but allow me this short anecdote: I used to work for the company that designs and manufactures the Ski-Doo Snowmobile and the company offered factory tours in partnership with the local museum. Everybody on that tour cared enough to take an hour out of their day to see how one of their favorite toys is assembled. Of course, not everybody who rides a snowmobile cares enough about how one works to visit the factory, but those who do never forget. I’ll never forget, my son will never forget.
By choosing an open-source project, not only are you solving a problem quickly, but you’re also swiping right on the project’s publisher and taking the first step in growing your network.
Anecdotes aside, when it comes to developing an application, we agree with Simon Willison who founded Datasette when he says “open source forces me to write good code. It forces me to write really good documentation" which in turn benefits the entire community.
4 Standard Licensing Terms
The most common open-source licenses are well documented and [more or less] understood by non-lawyers. As found in the same OSSRA report above, some open-source licenses are in conflict with the software publisher’s commercial applications. In those cases companies, like Zea, use a “dual-licensing” model in order to accommodate the business needs of their clients.
These dual-licensing models receive their fair share of criticism because of the use of the open-source community to gain traction yet not providing the software for free. It’s a valid point for side-projects but doesn’t work well for the requirements of a highly technical and professional audience. MongoDB and Elastic have explored this topic and strategy very publicly with well-documented situations with AWS.
A rule of thumb is if the open-source license falls under the copyleft category like AGPL, and you don’t intend to publish your project under AGPL, it’s better to contact the publisher and get permission to use their code in your project in a written agreement.
5 Security for CAD data
CAD data is very sensitive and companies protect their intellectual property, usually to the detriment of productivity. The CAD industry is built on stability and controlling access. Publishing CAD models for viewing on the web is a counter-culture for most companies that are over 10 years old. By using open-source projects, the company can perform or outsource comprehensive security audits and immediately request and or propose changes to the software in order to address security vulnerabilities. Something we should all take seriously given the recent CAD data leak of the Williams FW43B Formula 1 car.
Finally, it’s important to understand why a particular software library is open-source. With some exceptions the general rule of thumb for everything is: If it’s good and fast, it ain’t cheap, if it’s cheap and fast it ain’t good, if it’s cheap and good it ain’t fast. This definitely applies to 3D rendering CAD models on the web.
We hope that our top 5 reasons for using professionally maintained open-source projects in your organization resonate with you, happy coding!
If you like open-source 3D engines, you can get started with our open-source template and build your own 3D web-app here.
- Microsoft joins Open Source Security Foundation
- Open Source Initiative
- The Pros and Cons of Open Source Software Development
- Quality of Open Source Software: how many eyes are enough?
- Open Source business models:
- The author presents different business models - open core is used by Confluent, Elastic, and Github.
- Does open source or closed software projects lead to better code in the long term?
- The author argues that open source leads to better code
- Why would an organization choose to use closed-source code for their project instead of open-source?
- The author states that IT needs to sign off on the use of open-source code
- The total cost of using open-source code can actually higher than using proprietary code (training, support, features)
- Open-source is viewed as “free” and people are of the mentality that “you get what you pay for”
- Free Software Foundation (FSF)
- Open source license usage on GitHub.com
- Choose an open-source license
- Choosing an Open Source License
- Licensing a repository on Github
- Adding terms to a GPLv3 license
- FOSS FAQ
- Strategy: What makes a Free Software company?
- Business Models for Free and Open Source Software: Insights from a Delphi Study
- Open Source License on Github
- NPM Proprietary Licenses
- Mapbox GL JS Is No Longer Open Source
- New Licensing Option Satiate User’s Appetite for Design Tool Flexibility
- Introducing the New Chef: 100% Open, Always
- 4 open source lessons for 2021
- Releasing the Unity C# source code