bevy-website
bevy-website copied to clipboard
Add licenses to Bevy Assets
As previously discussed, this is critical information, and important to quickly show to users who are browsing (and eventually filter by).
I think it would useful here to emphasize the one or more license(s) bevy uses (cf. https://github.com/bevyengine/bevy/discussions/2358) and group any other licenses into a warning-like "other" category with a bright/scary color. This could help nudge the ecosystem into license consistency with bevy, and would call attention to resources that require special inspection of their license.
Hmm, I think a color and text-based system could work fairly well - so green for permissive and commonly accepted licenses, yellow for copyleft and red for anything else, such as custom "ethical source" licenses etc. One thing I'm not sure how to classify would be a very permissive license that's not well-accepted, such as Unlicense.
While I am in favor of permissive licenses, I don't like the idea of using potentially stigmatizing colors. I think green for permissive and white for others is good enough. It just "tells" the user to go read the license to learn more.
Following a discussion on discord, there's a few other options to color coding. I think the goal I'd personally like to put forward is to encourage authors of plugins for Bevy to use the same license structure that Bevy uses, to make integrating their plugins a legal no-brainer and to promote a healthier, headache-free ecosystem. Post-relicense (hopefully!), if I have to use Bevy under an Apache 2.0 license for organizational reasons, that would lock me out of third party Bevy plugins that are available only under MIT, and vice versa.
With that in mind, I think the Bevy Assets page could have a star, or checkbox icon of some sort prominently displayed on the cards for assets that follow the same 1-, 2-, or 3-license structure as Bevy (whatever that ends up being), as well as making it an option to filter hide/gray out assets that don't have that checkbox. That page will likely need filters anyway as it's already grown quite large.
All of that said, I still think it's important to notify users of potentially complicated licenses (copyleft licenses, licenses with ethical/moral strings attached, etc.). Game engines tend to attract hobbyist novices for whom this may be their first dip into this world, and who may not have the savvy to check on these things without first being hinted to them. The Bevy Assets page is curated, as it should be, but that means the links on there are implicitly endorsed (in my eyes) by Bevy as an organization. I understand the need to be diplomatic, but I feel there's also a responsibility there.
We can just filter by default for permissive licenses. If someone wants a broader choice, they have to explicitly remove that filter. In that case, they implicitly acknowledge the fact that the terms of use of certain assets are not trivial.
Is it worthwhile to distinguish between permissive licenses broadly, and the one or two (or three) permissive licenses that bevy specifically uses? If bevy intends to multi-license like the Rust compiler does, then that's an admission of sorts that not all permissive licenses are the same.
IMO the distinction between permissive licenses only matters for very serious teams. I'm okay with making them do their own due diligence to verify the licenses in favor of making the hobbyist experience better.
This has been solved by #394! 🎉