This is an issue that should be resolved privately with @cormullion, but I’ll note it here because I’d like to hear what other developers have to say.
(Edit: Incidentally, I sent this topic to the community category because I believe that JuliaMono is both a great product of @cormullion and a valuable (and non-exclusive) asset of the Julia community.)
Background
I’ve been kind of frustrated with text rendering in Julia ecosystems since before JuliaMono was released.
That means that if we’re trying to achieve “OS-independent” text rendering, there’s practically only one solution we can use: FreeType. It’s a good tool in general, but for the purposes of annotating images for debugging, for example, I think the footprint of the FreeType, the packages to use it and the font data is too huge.
For such use cases, BasicTextRenderer.jl is useful. However, the disadvantage is that we need to prepare pre-rendered images.
So I thought that stroke fonts, rather than richer fonts like OpenType fonts, could be handled Julia-natively. (It’s just a concept; no such framework exists yet.)
To the best of my knowledge, many of the existing stroke fonts have obscure licenses or are not compatible with the MIT license. (Edit: In particular, it is usually not stated whether irreversible format conversion is allowed.) Therefore, I thought it would be a good idea to have open-source and free stroke fonts (for Julia developers). I wanted to create two fonts: “JuliaStroke”, which consists of straight line and circular arc elements, and a simplified version, “JuliaPolyline”, which consists of only line elements.
Question
While I was thinking about that and working on something else, the brilliant font JuliaMono was released!
So, am I allowed to make stroke fonts which take a cue from JuliaMono? The figure below shows the prototype.
Top: JuliaPolyline (prototype), Bottom: JuliaMono Light
Now, there are “ethical” issues here which stem from technical issues.
The stroke fonts cannot fully replicate the beauty of JuliaMono. For this reason, I’m not going to adopt the approach of converting JuliaMono data to create the stroke fonts. As a result, the stroke fonts do not contain any data (or reserved names) derived from JuliaMono “data”, so the license based-on “copyright” does not restrict the stroke fonts.
Therefore, there is an ethical issue here of how much to respect the type designer’s intentions. It includes: whether or not imperfect imitation is allowed in the first place, how to handle the “formal” license, etc.
As noted in the background, the goal of the stroke fonts is very different from the goal of JuliaMono (except in terms of benefit to the Julia community). I think it would be better to create the stroke fonts as a separate project from JuliaMono, but I’ll defer to the type designer’s opinion on that as well.
Misc.
Regardless of our conclusions about the relationship with JuliaMono, I’m going to gradually move forward with Julia-native support for stroke fonts. If you have requests or useful information please wirte them on this topic (as there are no public repositories for this project on GitHub yet).
I can’t devote a lot of time and effort to this stroke font project, so if anyone else has a strong interest in this project, I’ll be happy to assist them.