Thelounge: Upgrade to Font Awesome 5

Created on 11 Dec 2017  路  28Comments  路  Source: thelounge/thelounge

Font Awesome 5 was released a few days ago, and is really good.
Some icons we use have been redesigned and look much slicker, for example https://fontawesome.com/icons/users?style=solid vs. http://fontawesome.io/icon/users/. Really good stuff.

The transition is not painless though. I tried it a couple days ago and did not complete. If someone wants to give it a shot, you're welcome to do so :)

It would be really cool if we could land this for v3!

Feature help wanted

Most helpful comment

I would really rather we didn't use font awesome 5 because I (and many others) disagree with their stance on open source. I have nothing against people getting paid for this, but that means that we aren't going to use them.

I'm also open to a premium license fee like $200ish for unlimited redistribution if that's what it takes to have TL use the best one unconditionally without compromising on privacy)

I'd really rather not. Even if it was just $1, I would be against us paying for something for our open source project just out of principle.

All 28 comments

I'm on mobile, and away from my dev PC, but what "did not complete"? Curious what the pain points were.

Yeah, I wondered if I should detail or let people run my branch and figure it out, but since it's late and I want to go to bed I went for the former. My bad :D

There were a few things and I'm sure I already forgot some, but from what I remember:

  • They split some icons in different CSS and this might be a pain for us. For example, 4.7 had a few icons ending in -o (for "open" I guess?). These were wire-style (now called "regular"), like http://fontawesome.io/icon/hdd-o/ and http://fontawesome.io/icon/file-o/. Non--o equivalents were "plain" (now called "solid"), like http://fontawesome.io/icon/file/. We use a mix of both.
    So I figured, heh, let's make some design decisions during the v5 transition and use either all plain icons or all wire icons (all wire looks really nice) but... their free/pro offering gets in the way. For example, https://fontawesome.com/icons/power-off in solid is free but pro in regular, but https://fontawesome.com/icons/hdd?style=solid looks too big and fat in solid. I suspect some icons are free in regular but pro in solid, which would totally screw us as well lol.

  • Some icons have a different size. For example, the footer icons looked bigger. I did not investigate that. Maybe it's fine, but overall I noticed some size differences which might bite us where we align things.

  • Our shared snippet for all icons, which is is pretty much the .fa class definition might need adapting to match the new CSS they use in v5. I know they did stuff differently when it comes to grid alignment, so the smoothing might be different or something.

  • Their pro version is very affordable so I would be very much okay to check it out as this would solve the "regular" style issues. Their "light" style is also really good, and none is free. So yeah, $60 totally reasonable except... we're not SaaS, we're open source. We could consider it only if their pro license came with a re-distributable agreement. FA is really good in the OSS world, so I'm sure they thought about it, I just didn't look into it at all.

@dgw, hope that helps. I'll let you know if I think of something else. Overall, it's not impossible, and it shouldn't be too difficult, but it's not going to be a 30-second upgrade either :) Happy to help

https://fontawesome.com/help#use-opensource 馃槱

Can I use Font Awesome 5 Pro in open source projects?
We're still figuring out how best to make the Pro version of Font Awesome 5 available for open source projects and popular plugins like yours. We think the CDN we're building for V5 will help with that and we're hoping to get a version out later this year. Until then, we prefer that you not redistribute Pro assets/services and think your best bet for integration is to use Font Awesome 5 Free.

So at worst, we can't use pro version at all, and at best we'd have to rely on their CDN, which is a no-no either (we don't rely on externally-sourced third parties). I might try to email them and see what kind of options are available (I'm also open to a premium license fee like $200ish for unlimited redistribution if that's what it takes to have TL use the best one unconditionally without compromising on privacy). After all, we are a fully-grown project with 1.5k stars and a few thousand users, they might be open to discussion. Let me know if you want to be involved in the discussion.

I'm also very tempted to switch altogether to http://ionicons.com/ for example, because their icons are really really slick, and it looks a bit more custom in apps since everyone out there seems to use FA or MDI. I mean, look at these beautiful icons!

I would really rather we didn't use font awesome 5 because I (and many others) disagree with their stance on open source. I have nothing against people getting paid for this, but that means that we aren't going to use them.

I'm also open to a premium license fee like $200ish for unlimited redistribution if that's what it takes to have TL use the best one unconditionally without compromising on privacy)

I'd really rather not. Even if it was just $1, I would be against us paying for something for our open source project just out of principle.

I would really rather we didn't use font awesome 5 because I (and many others) disagree with their stance on open source.

they don't even know how they want to handle licencing for FOSS projects yet (from their faq):

Can I use Font Awesome 5 Pro in open source projects?
We're still figuring out how best to make the Pro version of Font Awesome 5 available for open source projects and popular plugins like yours. We think the CDN we're building for V5 will help with that and we're hoping to get a version out later this year. Until then, we prefer that you not redistribute Pro assets/services and think your best bet for integration is to use Font Awesome 5 Free.

they don't even know how they want to handle licencing for FOSS projects yet (from their faq):

Exactly

I (and many others) disagree with their stance on open source.

It's interesting you say that. I feel like I missed something. What is their stance on open source?

It is clear that if a project is not trying to support open source, we can't really open our arms to them, fully agree. I'm just not sure if you mean that just because they now have a paid offering, or because of something else.

I have nothing against people getting paid for this, but that means that we aren't going to use them.
Even if it was just $1, I would be against us paying for something for our open source project just out of principle.

These are very strong statements and I'm not sure I agree (again, assuming you said that just because they have a paid offering, if there is a deeper reason due to how they treat open source, feel free to discard the rest of this paragraph 馃檪).
If a project we use and like has a great free/open source offering, and an even greater paid offering that we can use and we can afford, I don't think that just because they have a paid offering we should ditch them (any version, free or paid). In the end, FA v5 icons are nicer-looking than v4.7 and it would be a shame to stick to not-great just because.
It seems reasonable to me to expect professional services not to be free (as in money, not software), and as we get more mature we'll have to pay for things, like domain, infra for demo, etc.


That being said, I am totally up for exploring new ideas. I am personally very very attracted to Ionicons :D
The problem is... nothing out there is super great right now...
When we look at the most known and used projects:

  • Material Design Icons is very poorly managed. We're using that at work right now, and we're having a blast... No releases, no proper changelog, super hard to track previous releases, authors jump major/minor/patch versions like it comes from Math.random. No thanks.
  • Ionicons is in a weirdly messy state. Their website shows icons for v2. The icons on the Ionic website are... different, but they don't say which version. Someone started work on a v4 in September and stopped 2 days later. v3 is... well, I'll let you judge, it was never released.
  • Glyphicons can only be used with Bootstrap (hello #638). Also, they're ugly lol.
  • Octicons could work, but it seems to me that their offering is a bit small and that could limit us now or in the near future. Or maybe not.

There are also a bunch of just-as-big projects that have had no activity for months/years or are not officially available through npm. And there are a gazillion of other smaller libs out there, but it's a gamble as you don't really know if they have enough traction to add new icons, etc.

Anyway, yeah, a mess. I still want us to try something different for v3, but I'm not sure what. It might take whoever attempts a few tries before we get it right (like testing a couple libs), but in the end, I think it could be really nice.

Damn I write a lot :)

What is their stance on open source?

Well, it's about the fact that they don't have a way to solve the issue of using it with open source no matter what.

These are very strong statements and I'm not sure I agree (again, assuming you said that just because they have a paid offering, if there is a deeper reason due to how they treat open source, feel free to discard the rest of this paragraph :slightly_smiling_face:).

Oh no, maybe I've not come across correctly.

I'm not saying that just because they have a paid offering, means we shouldn't use their free offering. I'm saying I wouldn't want us having the paid offering in the lounge, whether or not we can bundle it ourselves. Even if they allow us to bundle it, then there will be some restrictions on that, and I'm not happy with it.

It seems reasonable to me to expect professional services not to be free

I'm not saying that. And there are obviously things we may need to pay for. But something like an asset which will have restrictions on it (I mean, apart from anything, it looks like they'll never allow open source projects to bundle pro at all, we'll have to use the CDN) I'm not ok with.

I'm fine with us using the free version, and I'm fine that the pro version exists (although, I think they should have gone for a free/pro way of doing things in that if you aren't using it commercially you can use it and if you are using it commercially you have to pay) but I don't think we should use it.

Sorry, my wording was probably far too broad and I should have taken more time to explain my points.

I agree with the sentiments about not purchasing a license to use the new version of FA without knowing how it will eventually integrate with The Lounge in production. A CDN is certainly not the way to go, given that so many design decisions in TL have been made to explicitly remove external dependencies on any service other than the machine/node hosting the TL instance.

At one point, I backed an icon pack on Kickstarter (IIRC, it was years ago) that now has an open icon set available. According to the GitHub repo, the SVG icons are MIT-licensed (just like The Lounge itself) and the icon font releases are SIL/OFL. Iconic's open icon set has a mere 223 icons at this time, compared to Font Awesome's 893 (in FA5 free), but is completely free to use in open source projects unless I've missed something in reading their docs.

That said, in the interest of full disclosure, the license for Iconic's paid version specifically disallows redistribution with open source code, so that may let out using the open icon set on principle as well.

Well, it's about the fact that they don't have a way to solve the issue of using it with open source no matter what.

Gotcha. Totally agree, too. I can understand that projects get things done one at a time, and maybe they decided it was better to get things out and find solutions later. On the other hand, it's been a while in the making, and they are notorious to be open source projects' first picks!

Plus that statement that they might allow use through a CDN... sorry but that's not good enough. That's open source software vs. free software right there: encourage projects to rely on loading a third-party resource. No no.

There are so many paid projects and services out there that completely lift fees and don't ask questions/don't impose restrictions for open source projects (Travis, Netlify, etc. etc.). It's a very admirable approach and you'd hoped that FA did the same :man_shrugging:

Oh no, maybe I've not come across correctly.

Ahah, legit 9 times out of 10, our disagreements are just miscommunication :) It's hard IRL sometimes, so through screens and timezones...

I'm not saying that just because they have a paid offering, means we shouldn't use their free offering.

Your first sentence started with "I would really rather we didn't use font awesome 5" so I took it you meant let's completely skip it, and kept that in mind for the rest of the message. My bad, though I did give you the benefit of the doubt because that seemed too harsh of a stance 馃榿

Even if they allow us to bundle it, then there will be some restrictions on that, and I'm not happy with it.

Yes, totally agree. I would only remotely consider it if it was a no-questions-asked type of thing with no restriction whatsoever. I believe selling free software isn't bad and actually better than offering free products that resell your data.
But yep, that's not where they're going with this, and we can't afford putting up with third-parties restrictions.

I think they should have gone for a free/pro way of doing things in that if you aren't using it commercially you can use it and if you are using it commercially you have to pay

Yes, that would also be a very reasonable model. Also, the fact that they're mixing free and pro icons, and you have to do that crazy goose chase to find icons in your free pack compared to what you _could_ have in pro... urgh, not ideal.

A CDN is certainly not the way to go, given that so many design decisions in TL have been made to explicitly remove external dependencies on any service other than the machine/node hosting the TL instance.

Amen to that.


Anyway, it looks like we're all on the same page, so let's backtrack to the original issue :)

@dgw, thanks for bringing it up, I did forget about Iconic! My issues with this one are that the icons do not look as nice as Font Awesome 5's ones (this is a matter of preference though, so subjective), and that repo only has 25 commits last updated 4 years ago :/ So it's unlikely they'll accept requests, even though that's not our main concern for sure.

So, back to the original issue. We do need to do something about this (trying not to bikeshed, but it's hard :D):

  • Move to Font Awesome v5
  • Switch to another library

    • Ionicons?

    • Iconic?

    • Glyphicons?

    • Octicons?

    • ...?

Your first sentence started with "I would really rather we didn't use font awesome 5"

Yeah, I guess I missed the word "pro" from that sentence :-P

Words... words are difficult.

Anyway, I'd be happy to try out FA5 free. Are there any icons that have been moved from pro to free?

Glyphicons could be another good shout, I quite like them.

Other than that, it's probably not worth moving to one of the smaller ones, but we can always try. If we get them working, it's not like we need a whole bunch of support of them.

Are there any icons that have been moved from pro to free?

What do you mean? There was no pro before v5, only one free lib.
Or maybe you mean the other way around. If so, then I believe that no. Actually, I'm not even sure they're allowed to, since a lot of icons come from contributors, and you can't start selling what someone gave you as a free software contribution (weeelll no, I know there are ways to do so, but I'd be highly surprised if they attempted something like that, and also they had no CLA so :man_shrugging: Don't mean to start another sidetrack convo ahah).

Alright then, let's settle on FA 5. It's proven, it would be a decent (and probably not too difficult) evolution for us, and we don't have to debate on which one to use lol, or even have to find equivalent icons.

Actually @YaManicKill, if I understand Glyphicons terms correctly, it's free to use only if you use them with Bootstrap, and 鉃★笍 #638... Aah, conditions conditions...

It looks like we're all fine with FA 5 so let's go with that. There is already an "up for grabs" label if anyone wants to give a shot :)

What do you mean? There was no pro before v5, only one free lib.

Yeah, sorry, I meant from free to pro.

If so, then I believe that no.

Alrighty, that's good.

if I understand Glyphicons terms correctly, it's free to use only if you use them with Bootstrap

Looks like you've slightly misunderstood.

Bootstrap includes "Glyphicons halflings" which is one of the paid sets normally, but you get to use that free in bootstrap. But the normal free glyphicons is separate to bootstrap.

Bootstrap includes "Glyphicons halflings" which is one of the paid sets normally, but you get to use that free in bootstrap. But the normal free glyphicons is separate to bootstrap.

Ah, good point, I did miss that part. However it looks like the free set is PNG files only (unless I missed something again lol) so that would not give great results :s

I think I'd rather stick with Font Awesome 5 if you're okay with it, unless you have strong opinions or specific reasons to switch. If anything, the upgrade should be pretty easy, as there would be little to no bikeshed on which icons to use if something doesn't quite match (all icons in 4.7 should be just there in 5). What do you think?

Just throwing it out there that googles material icons are also free and opensource with a fairly extensive set of icons available.

No opinion on this otherwise other than that I think it is a decent alternative if FA5 doesn't work out.

I'm alright with either of these.

It looks like they updated their license for free version: https://fontawesome.com/license

So we should be fine.

That's good. However...

Attribution is required by MIT, SIL OLF, and CC BY licenses. Downloaded Font Awesome Free files already contain embedded comments with sufficient attribution, so you shouldn't need to do anything additional when using these files normally.

We need to make sure we don't minify it, as we'll be breaking the license if we do that.

Or minifiy and add header back.

Minifiers usually keep "important" comments (the ones that start with /*!).

It looks like they updated their license for free version: https://fontawesome.com/license

I'm not sure I'm seeing it, did you notice anything different?

@astorije thats the licence for FA5, they didn't have a clear idea for open source FA5 stuff before.

I looked a lot at their previous version, and I don't see any change.
It used to say: do whatever you want with the free version; do not distribute the pro version; we don't know what to do with open source projects.
It now says the exact same thing, except the last part.

So in short, no change whatsoever on their end (I wasn't expecting any), so for us it'll have to be the free version, which is what we were going to do, so yeah, it doesn't change anything for us. Still in favor of switching to their v5 (free) though.

Their help and license pages kinda contradict each other. But the license page pretty clearly states we can use it for free.

I thought previously it had said we couldn't even redistribute free version?

Just look at https://fontawesome.com/license all the licenses they specify allow us to do that.

Yeah, I know it says that now, I was saying I thought previously it hadn't, and that was the problem.

I am pretty sure it used to say that redistributing the pro version was forbidden, and that they were trying to figure out how to handle this, and that in the meantime if one wanted to redistribute in an OSS project, they'd have to use the free version.

So yeah, it's just like before, except that they made up their mind: pro is not for OSS, even if one considered paying. So let's go with the free version.

Was this page helpful?
0 / 5 - 0 ratings