Grants:PEG/Menner/Improve SVG rendering

From Meta, a Wikimedia project coordination wiki
Menner/Improve SVG rendering
SVG is an important file format for graphics on Wikipedia and is used in thousands of science articles but has many problems.
targetAll Wikipedias
strategic priorityImprove quality, Increase participation
start dateJanuar 1
start year2015
end dateJanuar 1
end year2020
budget (local currency)28000 €
budget (USD)32000 USD
grant typeother
contact(s)• Menner
created on19:05, 29 April 2015 (UTC)


SVG is an important file format for graphics on Wikipedia and is used in thousands of science articles. And this also the underlying software libRSVG has many problems with rendering SVG even the article about force in german (de:Kraft) is affected (Third pic has bug #5792).

The issue arises since libRSVG was programmed by the Gnome project to render scalabe icons for their desktop environment. Graphics that contain text was not goal and activities around libRSVG are limited to maintenance today. Because of that important features required for usage inside Wikipedia are buggy or missing. Some bug reports and feature requests by our community are undone since nearly ten years. A test of my own showed that required work often takes only few days (see bug #5792).

SVG is important to Wikipedia but without our intervention the underlying software stays error prone.



Find a software developer that spends one month per year (0,083 FTE) on improving libRSVG over four years. (Alternativly two month every two years.)

Tasks for the developer come from the community and solve problems relevant to articles in Wikipedia.


  1. Review missing features and open bugs and balance them between priority and effort
  2. Contact software developer and assign tasks to him
  3. Check results
  4. Update review and repeat with step 2


Target readership[edit]

Everybody who is researching scientific or technical information on Wikipedia of any language.

Fit with strategy[edit]

Increasing participation:

  • Less errors in SVG rendering removes pitfalls for authors without experience in limitations of libRSVG. As consequence less distraction is created and new authors keep contributing.

Increasing quality:

  • Less errors in SVG renderer switches focus from workarounds to content.
  • Simplifying re-usage and translation of content by promoting SVG instead of binary PNG


To get an overview about the importance of a file format some statistic is useful. Based on database dump dewiki-20150302-pages-articles.xml.bz2 of german language Wikipedia the following estimation can be done. (No deep evaluation about systematic errors has been done.)

  • SVG: 56k
  • PNG: 92k (similar scope as SVG)
  • JPG: 1104k (mostly pictures)
  • GIF: 10k (similar scope as SVG)

Results have been gained with Linux tool en:grep. To change to another file format adapt the following command line call.

date && grep -o -E "(gif|GIF)\|(thumb|mini)" ./dewiki-latest-pages-articles.xml | wc -w && date

Measures of success[edit]

Less warnings about limitations of SVG renderer on related meta pages of Commons&co.

TODO exact places

About ten bugs and features are finished afterward.

Resources and risks[edit]


Active supporters[edit]

Active supporters review missing features and open bug and put them onto the task list and finally check results.

TODO mobilize others


Some of the requested features might be difficult to implement and should be discussed or omitted.


Project budget table[edit]

Number Category Item description Unit Number of units Cost per unit Total cost Currency Notes
1 Software developer FTE/year 84000 28000 EUR Skills: XML, C, Pointers, OOP and Git. Experience with software of moderat complexity.

Total cost of project[edit]

28000 EUR

Total amount requested[edit]

28000 EUR

Additional sources of revenue[edit]



Community notification[edit]

You are responsible for notifying relevant communities of your proposal, so that they can help you! Depending on your project, notification may be most appropriate on a village pump, talkpage, mailing list. Please paste a link below to where the relevant communities have been notified of this proposal, and to any other relevant community discussions. Need notification tips?


Do you think this project should be selected for a Project and Event Grant? Please add your name and rationale for endorsing this project in the list below. Other feedback, questions or concerns from community members are also highly valued, but please post them on the talk page of this proposal.