Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Button icon licensing issues #883

Open
jonathanolson opened this issue Oct 30, 2024 · 12 comments
Open

Button icon licensing issues #883

jonathanolson opened this issue Oct 30, 2024 · 12 comments

Comments

@jonathanolson
Copy link
Contributor

jonathanolson commented Oct 30, 2024

We're advertising scenery-phet as MIT licensed, which means we can't use font-awesome 5 icons (which are CC-By licensed, explicitly noted at https://github.com/phetsims/sherpa/blob/main/licenses/fontawesome-free-5.15.2-desktop.txt#L8).

It looks like we have licensing issues with:

  • CameraButton
  • CanvasWarningNode
  • ClapperboardButton
  • ContextLossFailureDialog
  • EyeToggleButton
  • InfoButton
  • MoveToTrashButton
  • RefreshButton
  • SoundToggleButton
  • TrashButton

It looks like a lot of these conversions happened as part of phetsims/sherpa#83. I'm including @samreid.

So we can either:

  1. Remove font-awesome 5 content from scenery-phet (maybe a repo for sim-licensed things?)
  2. Change scenery-phet's license (but there's a LOT of content we want MIT licensed in here. If we change the license, we'd need to move a bunch of content and potentially phet-specific stuff to sun (or some new repository in the "middle", e.g. "MIT licensed but not general UI components like Sun"
  3. Undo the conversion to FA-5 that we did earlier.

Thoughts?

@jonathanolson
Copy link
Contributor Author

Also including @brettfiedler, since if we have things using font-awesome 5 icons, they can't be included in scenery-stack.

@jonathanolson
Copy link
Contributor Author

This is also blocking any THREE.js integration (mobius now uses a FA-5 icon with phetsims/mobius@ffad97db).

@jonathanolson
Copy link
Contributor Author

Unblocked by adding FA-4 warning sign back.

@samreid
Copy link
Member

samreid commented Oct 30, 2024

It seems preferable to avoid licensing encumbrances for scenery-stack, so I agree we should avoid FA-5 there.

Font Awesome 4 is licensed as SIL OFL 1.1 https://fontawesome.com/v4/license/, which does not require attribution (though outside of the license text, the author said attribution is not required but much appreciated.

Where the icons look similar, it seems safe to go back to FA-4. We kept a few FA-4 things around in sherpa anyways (checkEmptySolidShape, checkSquareOSolidShape, scissorsShape).

We can also consider open source MIT licensed icons libraries such as https://heroicons.com/ which look nice.

@pixelzoom
Copy link
Contributor

pixelzoom commented Oct 30, 2024

Unassigning myself. PixelZoom does not provide legal advice or consulting on licensing.

@jonathanolson
Copy link
Contributor Author

Sounds like we'll potentially replace some icons. Noting here I'd like to make a lint rule to ensure we don't have them re-occur in our MIT-licensed code.

@amanda-phet
Copy link

amanda-phet commented Dec 13, 2024

I'm redrawing these icons, and here is my list for tracking (in order of priority):

  • homeSolidShape:
    HomeButton (joist)
  • checkSolidShape:
    UpdateNodes (joist)
    MenuItem (sun)
  • checkEmptySolidShape/checkSquareOSolidShape
    (Checkbox, sun)
  • warningSignShape
    (ContextLossFailureDialog)
  • exclamationTriangleSolidShape:
    UpdateNodes (joist)
    CanvasWarningNode (scenery-phet)
  • globeSolidShape
    PreferencesTabs (joist)

Optional (in scenery-phet, commonly used in sims, but could be omitted from scenerystack):

  • videoSolidShape
    ClapperboardButton (scenery-phet)
  • cameraSolidShape
    CameraButton (scenery-phet)
  • eyeSlashSolidShape
    EyeToggleButton (scenery-phet)
  • eyeSolidShape
    EyeToggleButton (scenery-phet)
  • infoCircleSolidShape
    InfoButton (scenery-phet)
  • trashAltRegularShape
    MoveToTrashButton (scenery-phet)
    TrashButton (scenery-phet)
  • syncAltSolidShape
    RefreshButton (scenery-phet)
  • volumeOffSolidShape
    SoundToggleButton (scenery-phet)
  • volumeUpSolidShape
    SoundToggleButton (scenery-phet)
  • scissorsShape

@amanda-phet amanda-phet self-assigned this Dec 13, 2024
@amanda-phet
Copy link

@jonathanolson I have all of the checked items above ready. There are two I'm not sure about though. Can you help me get the svgs for warningSignShape and scissorsShape?

@jonathanolson
Copy link
Contributor Author

scissorsShape
warningSignShape
Attached above.

@amanda-phet
Copy link

scenery icons.zip

Here are the new icons! There are a few extras because I originally thought checkboxes were built differently, so I included them just in case it's helpful. I also made a different globe icon that I thought might look nicer than the solid one.

@amanda-phet amanda-phet removed their assignment Jan 15, 2025
@amanda-phet
Copy link

I also uploaded the ai file to the scenery stack folder in case we ever want to modify the icons (the ai file includes more editable versions than the final svgs).

jonathanolson added a commit to phetsims/sherpa that referenced this issue Jan 16, 2025
jonathanolson added a commit to scenerystack/scenerystack that referenced this issue Jan 16, 2025
jonathanolson added a commit to phetsims/sun that referenced this issue Jan 16, 2025
jonathanolson added a commit to phetsims/perennial that referenced this issue Jan 16, 2025
@jonathanolson
Copy link
Contributor Author

All of the shapes should be integrated! Can you test out the shapes to see how they are looking?

function-builder, molecule-shapes (with ?webgl=false), gravity-and-orbits, and the scenery-phet demo (first screen, buttons) should have the majority of the shapes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants