Fix widget and GLSL licenses
Opened this issue · 3 comments
We've been waiting for months for this to happen: beyond-all-reason/Beyond-All-Reason#3020
As far as I can tell, the statement means that the shaders are effectively GPLv2 (the BAR GPL version), but nobody has pushed the button to actually change it. I don't want these licenses to stick around forever, so what do we do? Just change them? PR to BAR? Any ideas @sprunk?
Official Admin Position of BAR asset and code licencing within BAR repository
(reposting from BAR Discord) Recently, there has been extensive discussion within the contributor team about the licensing policy governing our code and art assets. Several team members and representatives from partnered projects have raised concerns about the potential conflict with the Recoil Engine policy by using a proprietary license for the GLSL shaders. According to the discussion, the rationale for such licenses was driven by Beherith’s intent to protect BAR’s identity against malicious forks, similar to what happened with Mars: Total Warfare or 0 A.D. This decision was based on the assumption that projects within the Recoil infrastructure would maintain good relations, communicate openly, and seek permission before using Beherith’s shader work, thereby avoiding any conflicts. As time has shown, this has not always been the case and led to some unnecessary stress.
The contention arose because it’s unclear whether GLSL shaders fall under the engine recommendation requiring all code linking to the engine to be GPLv2, given that GLSL neither compiles nor executes on the engine, but rather the GPU driver. Legal advice we received also highlighted this as a gray area in terms of interpretation.
We recognize that this issue has dampened the open-source spirit within the team and doesn't align with the vision of several contributors who joined with different assumptions about content licensing. After considering everyone’s opinions for and against this policy, and to avoid further contention and mental burden, we decided that we will progressively remove proprietary licenses from all GLSL authored by Beherith.
There have also been suggestions that all assets in the BAR repository should be GPL-licensed. We need to clarify why this isn’t feasible, particularly for artwork such as models, textures, sound, music, and similar assets. It is important to allow artists to decide whether to open source their work for the following reasons:
* There are thousands of assets sourced from commercial packages, sounds, graphics effects, textures, and such, which contribute to BAR’s look and feel. By definition, these assets must remain proprietary and cannot be shared outside of our projects because the purchases don’t authorize redistribution. Replacing these with our own GPL-compatible assets would set the project back several years in some areas, and in many cases, we simply can't match the quality of these industry-standard creations. * Keeping the art assets proprietary is essential for protecting BAR’s identity, which was also a motivation behind keeping the shader work under similar terms. We want to maintain control over BAR’s image, and this is the best way we know of to do so. * Experience shows that many artists won't contribute their top-quality work without a proprietary license. They want to create art for BAR because they are inspired by it. For instance, it is hard to imagine composers contributing their music to BAR if it were to become royalty-free tracks for use anywhere on the internet.
We strongly believe that this policy serves the best interests of the BAR project, ensuring the best results going forward. It keeps BAR appealing to current and potential contributors while preserving its integrity and the high quality we strive for. From Day 1 we've set out to aim for the next-level. Putting the 'bar' as high as possible to reach that next level of quality and polish, not before seen in Spring. BAR would not have existed without this aim & vision and we strongly believe that this is also one of the reasons BAR has grown to what it is today.
We hope this position will be understandable and well-received by the team.
Regarding the suggestion to split proprietary and non-proprietary components of BAR into separate repositories for clarity and to avoid accidental breaches, we currently don't deem this necessary. We believe checking individual licenses while exploring the repository isn’t too burdensome. However, we are open to revisiting this idea in the future if needed.
IMO:
- the ZK copy of each shader should reflect its actual licence, but BAR has not specified what non-proprietary licence the shaders are going to end up as. I don't expect anything other than GPLv2 but technically they could licence them as anything compatible, like MIT or whatever.
- we've always considered the actual effective licence to be some sort of stealable, with the extra notes being just courtesy towards BAR. So the BAR admin declaration didn't really change anything in that regard, in that extending this courtesy has always been our initiative that we never had to do. In that vein I think I'll make a PR to BAR as a sort of closure and then we adjust the ZK-side code accordingly after that's merged (or if the PR gets ignored).
BAR PR 3568