diff --git a/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_heart.svg b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_heart.svg new file mode 100644 index 000000000..133d4cc25 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_heart.svg @@ -0,0 +1 @@ + diff --git a/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_mastodon.svg b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_mastodon.svg new file mode 100644 index 000000000..2dc91f082 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fa6.4.0_mastodon.svg @@ -0,0 +1 @@ + diff --git a/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_heart.svg b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_heart.svg new file mode 100644 index 000000000..731ff62e9 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_heart.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_mastodon.svg b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_mastodon.svg new file mode 100644 index 000000000..557f1bf81 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/fka1.2_mastodon.svg @@ -0,0 +1,3 @@ + + + diff --git a/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/index.html b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/index.html new file mode 100644 index 000000000..629557588 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/fontawesome-forkawesome-comparison/index.html @@ -0,0 +1,33 @@ + + + + + + + Document + + + +

SVG comparison

+
+
+

Forkawesome 1.2.0

+ +
+
+

Fontawesome 6.4.0

+ +
+
+
+
+

Forkawesome 1.2.0

+ +
+
+

Fontawesome 6.4.0

+ +
+
+ + \ No newline at end of file diff --git a/posts/2023-04-10_forkawesomeIntrospection/forkawesomeIntrospection.md b/posts/2023-04-10_forkawesomeIntrospection/forkawesomeIntrospection.md new file mode 100644 index 000000000..8eddb7210 --- /dev/null +++ b/posts/2023-04-10_forkawesomeIntrospection/forkawesomeIntrospection.md @@ -0,0 +1,161 @@ +# Forkawesome introspection + +This is a long post. A summary would be: + +> I am not motivated to work further on Forkawesome; I think the project is deprecated and should be put into legacy mode. +> +> The driving force for forking—to have a community run icon set—has not been realized. Site and font build processes are broken. The source icon files need to be reworked or remade. The site could do with a makeover. The project focuses on icon fonts, despite icon fonts as a technology being outdated. Many other free icon sets now exist. + +This post follows another post summarizing the [results of a 4 month survey](https://github.com/ForkAwesome/Fork-Awesome/blob/master/posts/2023-04-05_forkawesomeSurvey/surveyResults.md). + +The first section deals with the **history** of Fontawesome and what lead to it being forked into Forkawesome. You can skip it. If you're only half interested, start at "Fontawesome 5.x". + +The second section deals with the **state of Forkawesome**, covering: licensing, tech, aim and relevance. + +I end with what could or should be done **going forward**, information for possible future maintainers and what I learned. + +--- + +## History +### Fontawesome 1.0.0 + +[Fontawesome 1.0.0](https://github.com/FortAwesome/Font-Awesome/releases/tag/v1.0.0) was the sole release of series 1.x by Dave Gandy on the 10th of March 2012, _"the iconic font designed for use with Twitter Bootstrap"_. A set of 140 icons licensed under CC BY 3.0 + +### Fontawesome 2.0.0 +[Fontawesome 2.0.0](https://github.com/FortAwesome/Font-Awesome/releases/tag/2.0.0) was the sole release of series 2.x, again by Gandy, on the 4th of June 2012. 210 icons, still CC BY 3.0. + +### Fontawesome 3.x +[Fontawesome 3.0.0](https://github.com/FortAwesome/Font-Awesome/releases/tag/v3.0.0) was released by Gandy on the 2nd of January 2013. An instance of the [Fontawesome 3.x website](https://fontawesome.com/v3/) is still running; it has a 'Community' page which, emphasis added, states: + +> Font Awesome has a vibrant **community** of folks helping each other out. You can get support report bugs, request new icons, **submit pull requests**, check upcoming milestones + +The licensing was changed to have different licenses for different parts of the project: SIL Open Font License for the font; MIT for CSS, LESS and SASS file and CC BY 3.0 for pictograms. At the end of the licensing section, is a statement that _"Attribution is no longer required"_. + +The final release of this series was [3.2.1](https://github.com/FortAwesome/Font-Awesome/releases/tag/v3.2.1) on the 17th of June 2013 with 361 icons. + +### Fontawesome 4.x +[Fontawesome 4.0.0](https://github.com/FortAwesome/Font-Awesome/releases/tag/v4.0.0) was released by Gandy on the 23rd of October 2013. An instance of the [Fontawesome 4.x website](https://fontawesome.com/v4/) is still running. This saw another change in licensing, with documentation now licensed under CC BY 3.0, and the licensing of pictograms dropped. + +The final release of this series, and the final release by Gandy, was [4.7.0](https://github.com/FortAwesome/Font-Awesome/releases/tag/v4.7.0) on the 24th of October 2016 with 675 icons. The licensing section for 4.7.0 is, as follows: + +>- The Font Awesome font is licensed under the SIL OFL 1.1: http://scripts.sil.org/OFL +>- Font Awesome CSS, LESS, and Sass files are licensed under the MIT License: https://opensource.org/licenses/mit-license.html +>- The Font Awesome documentation is licensed under the CC BY 3.0 License: http://creativecommons.org/licenses/by/3.0/ +>- Attribution is no longer required as of Font Awesome 3.0, but much appreciated: `Font Awesome by Dave Gandy - http://fontawesome.io` + +### Fontawesome 5.x +Gandy created a [kickstarter](https://www.kickstarter.com/projects/232193852/font-awesome-5/) for the development of Fontawesome 5 some time before the [25th of October 2016](https://www.kickstarter.com/projects/232193852/font-awesome-5/posts/1718476). It was to be a complete redesign of the icon set, yet backwards compatible, with new features and a pro version (i.e. freemium model). It reached a final crowdfunding sum of $1,076,960, despite an initial goal of just $30,000, making it the "most funded software kickstarter ever" at the time (still?) The amusing crowdfunding [video]( https://www.youtube.com/watch?v=CNoH3J7iSrA) must have helped. + +[Fontawesome 5.0.6](https://github.com/FortAwesome/Font-Awesome/releases/tag/5.0.6), the initial release of the 5.x series, was released on the 6th of February 2018 by Rob Madole. (The very first release of series 5.x, 5.0.0-alpha1, was released on the 23rd of June 2017, but is no longer available.) On the 4th of February 2018 Julian Deswaef raised the [issue](https://github.com/FortAwesome/Font-Awesome/issues/12199#issuecomment-362919956) that the build system for the website and CSS, LESS & SASS was no longer shared, and that community PR's were continuing to be refused. Madole confirmed these developments were intentional [some days later](https://github.com/FortAwesome/Font-Awesome/issues/12199#issuecomment-363168281). + +### Forkawesome 1.x +Julian made a fork of Fontawesome 4.7.0, naming it it Forkawesome in early February. In an [early commit](https://github.com/ForkAwesome/Fork-Awesome/commit/410f4bb583876fbd98fb114f15f884d06122af1a) he explained: + +>Following concerns regarding [the development of Font Awesome](https://github.com/FortAwesome/Font-Awesome/issues/12199#issuecomment-362919956), the PR Freeze since Oct 2016 and the direction Fort Awesome is taking with the version 5.0 of their project, we are forking Font Awesome (4.7), in order to build on this incredible tool Dave Gandy has given us, while at the same time allowing this project to be run by a distributed community of contributors. + +Julian exploded the webfont into individual SVG glyphs on the [13th of February 2018](https://github.com/ForkAwesome/Fork-Awesome/commit/8ed3619f719732acc04f9f5bb58284784449c9f4) and added a build process to generate icon fonts from the SVGs using [fontcustom](https://github.com/FontCustom/fontcustom) [5 days later](https://github.com/ForkAwesome/Fork-Awesome/commit/4469d13ec9a49e49155c3b863fe9ae9c433ac25e) (Fontawesome never released their build process for their icon fonts.) [Forkawesome 1.0.0](https://github.com/ForkAwesome/Fork-Awesome/releases/tag/1.0.0) was released later that same day, on the 18th of February 2018. + +There was strong initial activity with many new icons added and other improvements to project. Things got gradually quieter, with a no foreseeable release after [1.1.7](https://github.com/ForkAwesome/Fork-Awesome/releases/tag/1.1.7) on the 28th of February 2019. I had been using Forkawesome for a couple of things and, noticing the inactivity, and asked in [April 2021](https://github.com/ForkAwesome/Fork-Awesome/issues/292) to see if there was interest in reactivating it. A small group assembled, and Julian joined some of these initial calls, passing over permissions and information as necessary. + +The new team had multiple calls, and eventually managed to release version [1.2.0](https://github.com/ForkAwesome/Fork-Awesome/releases/tag/1.2.0), with 796 icons, on August the 26th 2021. At this point the team was just two of us, and when the other gained full-time employment, I was too far out my depth to continue. 1.2.0 is the last release to date. + +![](img/Screenshot%20from%202023-04-07%2022-54-23.png) +—_code frequency in the Forkawesome repository from 2012 with big spike at the time of fork_ + +--- + +## State of Forkawesome +### Licensing +Julian created the source SVGs for Forkawesome by 'exploding' the webfont from Fontawesome 4.7.0 which was licensed under the SIL OFL (Open Font License) 1.1. I am not very familiar with the license, but after reading into it, it is clearly tailored for fonts. Users may embed OFL fonts in documents, apps or other works ["without any kind of attribution"](https://scripts.sil.org/cms/scripts/page.php?item_id=OFL-FAQ_web#e71fabc0), and such works may be sold. Users may not sell the font standalone, and must license derivatives with the OFL (i.e. copyleft/sharealike). Presumably the OFL applies to the individual source SVGs even though they aren't really fonts any more. + +The current [Fontawesome Free licensing page](https://fontawesome.com/license/free) incorrectly states _"Attribution is required by MIT, SIL OFL, and CC BY licenses"_ since, as far as I can tell, attribution is only required in CC BY. Since the Forkawesome webfonts are still licensed under OFL, it should be possible to explode them in the same way now. However, there is no SVG [webfont](https://github.com/FortAwesome/Font-Awesome/tree/6.x/webfonts) any more, so work would need to proceed from a .ttf or .woff2 + +### Technical +#### Build +Forkawesome uses [fontcustom](https://github.com/FontCustom/fontcustom), a ruby gem to build the icon font from the source SVGs. Fontcustom received its last commit 6 years ago. Some node packages are also used in the build chain to optimize SVGs and process LESS. It uses Jekyll (also Ruby) to make the website. + +Building on latest Ubuntu doesn't work. This was the case when we took over the project in April 2021. Dion found the quickest way to set up a working development environment was to set up a [VM with Ubuntu 18.04](https://pad.kanthaus.online/s/_TbBWoaLU#). Somehow Shine and I got something working without using a VM using rbenv or RVM (still suppressing lots of errors.) I decided to give try building before writing this but I didn't manage... dependencies wanting older versions of Ruby, dependencies being outdated to breaking point, rbenv and rvm seemingly not working... Then again, I'm very unfamiliar with Ruby, and perhaps some Ruby-pro could get it all figured out in a flash. + +#### Icon font +Forkawesome started and continued primarily as an icon font. Icon fonts present(ed) a convenient way for developers to include vector icons in their projects: Internet Explorer didn't support SVGs until version 9. IE8 is now, thankfully, a long time gone and there are many downsides to using icon fonts instead of SVGs. This [article](https://css-tricks.com/icon-fonts-vs-svg/) by Chris Coyier of CSS-Tricks from 2014 and this [article](https://www.irigoyen.dev/blog/2021/02/17/stop-using-icon-fonts/) by Michael Irigoyen from 2021 outline the details better than I will here. + +In short, icon fonts: +- are treated as fonts by browsers, and anti-aliased as such, which can decrease sharpness +- are positioned as pseudo elements, which are more complex/surprising to work with +- present an accessibility issue for screen-readers unless [extra care is taken](https://forkaweso.me/Fork-Awesome/accessibility/)) +- need to be compiled per project, otherwise contain unused icons + +This last point bears emphasis: suppose, optimistically, a site uses 70 icons from Forkawesome. That means over 90% of the icon font was transferred and not used. The Forkawesome .woff2 + accompanying .css is 146.8 kB → ~ 130 kB wasted. + +Icon fonts are a hack for