SVG
SVG copied to clipboard
Looking for new maintainer(s)
I'm currently the maintainer of the svg-net
organization and one of the three core developers of the sole contained repository SVG
. I have not contributed to the repo for quite some time, and given that I don't use SVG
myself and don't know the code base well anymore, find it difficult to make comprehensive reviews. This is unlikely to change, as most of my time and my personal interest in open source projects is directed at other projects (related to DICOM and to pytest
).
I had originally contributed to SVG as I had been using it myself, and did some cleanup and maintenance work on the repo. I also came up with the idea to move the repo from the company organization vvvv
to a separate organization, with the hope, that other related repos (especially Svg.Skia) would be added to the organization (which did not work out). The organization has eventually been created by @tebjan, the original maintainer of SVG
, and I was given co-ownership of it. Admittedly, I wasn't very happy about it from the beginning, but have seen it as a temporary state, until someone better suited came up. This has not happened, also SVG
has remained the sole repository in the organization.
I'm now looking for somebody with a good knowledge of the library and the time and willingness to take over maintenance. Some experience in communicating with contributors (and some patience) would also be helpful. The frequency of issues and PRs (und thus the maintenance effort) here is not high, but there is some backlog that has been collected over the years, and that needs some cleanup and handling.
The library is used increasingly in other software and packages, and it would be nice if there would be consistent maintenance ensured in the future. Feel free to add any thoughts and ideas of how to achieve this.
I'm currently the maintainer of the svg-net organization
The picture is not really clear. You are not listed as a member of the svg-net
organization, and currently only @gvheertum is the member. What is the structure of the svg-net
organization currently? Are you handing over the organization?
Is the current member @gvheertum not willing to continue or take over?
Ok, I should have stated that more clearly, sorry.
There are currently 4 members in the svg-net organization, 3 of them with a private settings (now 2 of them, as I have set mine to public to avoid more confusion), and 2 of them (@tebjan, who created the organization, and myself) owners of the organization. As I understand, @tebjan doesn't have the time for maintenance anymore, but he can better comment on this himself. Though I would like to have his opinion on any potential maintainer.
There is also the group svg-net.core with 3 members, who we had set up as maintainer of the SVG repository. Again, of the 3 members, currently only one (myself) is more or less active in the repo.
As for @gvheertum - he has to answer this himself :)
I'm currently the maintainer of the svg-net organization
The picture is not really clear. You are not listed as a member of the
svg-net
organization, and currently only @gvheertum is the member. What is the structure of thesvg-net
organization currently? Are you handing over the organization?Is the current member @gvheertum not willing to continue or take over?
I'm kinda in the same boat time wise. Since I pursued the path to management and gave up my entrepreneurship and most of the associated projects my involvement also became quite stale. I did some contributions in the past which took the project a bit forward and was involved with some of the issue analysis (both resulted in me added as member which I thought was quite an honor), but as with most of my free time projects this kinda slipped out of my focus.
Although I still find the project quite interesting and still want to do some coding in my free time, I am willing to try to up my involvement a bit (review, cleaning, etc) but I'm afraid that it would be a risky bet to rely on me heavily. So as a co-owner or peer I am willing to work together with others to try to maintain, but sole ownership feels a bit too much for now.
Cooperating and coordinating stuff and keeping the repo and git environment clean is something I am comfortable with, in-depth knowledge of the code and bit less, but still quite some understanding.
Cooperating and coordinating stuff and keeping the repo and git environment clean is something I am comfortable with, in-depth knowledge of the code and bit less, but still quite some understanding.
That would also be helpful. There is a reason why I wrote "maintainer(s)" in the subject title - having several people doing maintenance is also a valid option, of course. As is transferring the repo into another organization like "dotnetprojects", if that would help with maintenance, or any other option that I haven't thought of.
Thanks for the updates.
Currently, I maintain the SharpVectors
for mainly WPF with comparably less complete support for GDI.
When dotnetprojects/SVGImage
was running into a similar situation as SVG-NET
, the maintainer asked me for transfer,
but I asked to be added as a contributor and I currently contribute to that project too - mainly resolving reported issues etc.
The initial work I planned to do with the SVG-NET
stalled when I discovered the LGPL issue and reported it, but like
many others, I now code a lot of Python stuff 😃
With over 80 contributors to the SVG-NET
, hopefully more will step forward. I will watch this thread, as I hope to start
a new work on SVG, and use this parser.
With over 80 contributors to the
SVG-NET
, hopefully more will step forward
Yeah, but in reality there is currently only one active contributor (@H1Gdev), and one occasional contributor (@inforithmics). There is also @wieslawsoltes, but he has his hands full with Svg.Skia
(which I initially had hoped would also be a part of the SVG-NET
).
Mentioning them to get some reaction, of course ;)
@mrbean-bremen @tebjan @H1Gdev So far not much response to this thread as I have hoped. This is my offer for consideration
- Take over the svg-net organization (including Nuget)
- Have the repository transferred to my current organization (open-source company, Elinam LLC)
I am starting my holidays tomorrow Dec 29, and could start working on cleaning, clearing issues and PR and planning for the Release 4.0 (including splitting rendering and processing). Currently planning to start a project that include SVG parsing and rendering, and was planning to fork the SVG-NET as the base for this project.
@paulushub somehow the way GitHub issues/discussions work is not really bringing this to attention of contributors. To be honest, I started following this only after I got mentioned in the thread.
Moving the whole repo to a different organization feels like a bit of a stretch (since that also might result in new urls and such). Perhaps transferring or sharing ownership would be best for now?
I do appreciate the work you are going to put in it (especially the splitting and upgrading), so I am very positive regarding your involvement. So big thanks to that.
What you might also consider is forking and renaming it (e.g. slap core on it or something). That way you work on a successor which might gain traction and popularity itself.
Regardless of the choice, I am willing to help a bit on the topics I mentioned before. But I have to find a way to get GitHub a bit more "in my daily process" to ensure I'm not neglecting it.
@gvheertum Thanks for the response.
somehow the way GitHub issues/discussions work is not really bringing this to attention of contributors.
I do not understand why. Also, I did not receive your response in my email notifications!
The fork was the original plan as few things might change in the core (also planning to document the API).
I need a new SVG base to process the following (as the CSS parser in SharpVectors
is regular expression based and I will prefer the ExCSS
: this API is also not documented!!)
- Markdown to LaTeX (converting SVG to Tikz),
- SVG renderer for WinUI 3 (beyond the The SVG Table supported by DirectWrite)
- etc.
This thread, however, paused the initial plan. If no response by the weekend, I will continue with a fork (Svg.Core is, however, taken, will check if the current owner will transfer as it is no longer updated).
To be honest, I started following this only after I got mentioned in the thread.
This was exactly the reason why I mentioned a few contributors here 😀
@paulushub - I much appreciate your offer, and I will add you to the list of core developers which should give you all rights in the repo, so can start cleaning and clearing issues right away...
As for the transfer: I agree this is not urgent, and I will defer this to next year, when people will be back from the vacations. I'll wait at least wait for the opinion of @tebjan for this (as he created the organization).
@gvheertum - the transfer as such is not a big issue. I have done this a couple of times, and apart from the transfer itself it only means adapting a few URLs. The old repo URL will redirect to the new location, so that is not an issue. I'm not sure if that is still true if the organization is deleted, but we can wait with that.
I would also like to hear the opinion of @wieslawsoltes on that. Svg.Skia
is an important project for Svg, as it provides another frontend that covers platforms no longer supported by the main frontend. There has been some preliminary work done by @wieslawsoltes to split frontend and backend for the use of Svg.Skia
, and it would make sense to coordinate the rendering/processing split with him to have a common base (e.g. to avoid to need to work with custom forks).
Svg.Core is, however, taken, will check if the current owner will transfer as it is no longer updated
Yeah, that is unfortunate. The owner actually made a PR in this repo that was a bit incomprehensible, but instead of responding to the questions he just committed the (small) change to his fork and published it as Svg.Core
, without changing the documentation or anything. I noticed this only later when a user wrote an issue (that had already been fixed) because he used that (outdated) version.
I'm under the impression that this his usual mode of work - as I just checked, his 56 nuget packages mostly seem to follow the same pattern, several of them even clones of the same repo (by someone else) with different names. Not sure if this is intentional abuse or just missing knowledge... But it would make sense to contact him.
I'll wait at least wait for the opinion of @tebjan for this (as he created the organization).
I was hoping to get some reaction too (a bit confusing) 😀
On Svg.Skia
with recent commit comments like the following, it might not be encouraging for the future:
Revert "Change license to GNU Affero General Public License"
NOTE on Wiesław Šoltés Profile: @wieslawsoltes's activity is private
NOTE on Wiesław Šoltés Profile: @wieslawsoltes's activity is private
Yes, I noticed, but this doesn't hinder him from commenting here. As I wrote, I will wait a bit to make sure everyone interested had a chance to comment.
@mrbean-bremen Sorry, It might not be the right place to ask. What is the current practice with regards to approving and merging PRs?
The usual: somebody with enough knowledge of the topic should review it (this has lately usually been @H1Gdev) and somebody with the respective rights merge it (which was usually myself). I would have liked to enforce approval of PRs, but found this not feasible given the number of active contributors.
I would have liked to enforce approval of PRs, but found this not feasible given the number of active contributors.
@mrbean-bremen What do you way about yourself, will you continue to review and approve?
Well, one of the main reasons for this issue is that I no longer feel comfortable to review the code. I can still do a bit of it, but I think this should mainly be done by somebody actually working with and using the code.
I cannot work on main now, but I want to continue to be involved in the future.
@mrbean-bremen Sorry, how is the release workflow (NuGet, GitHub tagging) and who controls it?
Currently I do it manually. I know that there are GH actions that can create NuGet releases from a tag, but I didn't bother to add this, probably because releases are not often at the moment (I use similar workflows for my Python packages).
Also, Nerdbank.GitVersioning
is used to create the nuget release versions, but I actually don't use it as supposed (e.g. automatically create the patch version), as I didn't like the gaps in the numbering that this creates (see the published versions before 3.1.1, though I don't remember why I didn't do a 3.1.0 release). I hardcode the complete version in version.json
during a release, make a complete build and upload the created nuget package. To automate this is one thing on my todo list that I never got to... Anyway, I think it is better to control the concrete version into version.json
and check it in, should have done this already.
Generally, I try to stick to semantic versioning, e.g. no features in patch releases, and no breaking changes in minor releases.
As for the nuget ownership: currently @tebjan and the SVG.NET group are owners, I have to check how to add other people to that group. I'm more familiar with PyPi packages...
@mrbean-bremen Thanks for the reply.
I have recently added the GitHub workflows to SVGImage for documentation, GitHub Releases and NuGet Package, and thinking of a similar approach.
The NuGet packages will require the secret key, which is not currently stored in the project settings for the svg-net
organization.
What are your plans for future releases?
What are your plans for future releases?
I personally have no plans :) I did patch and minor releases on demand or where it made sense, and there is the future 4.0 release planned for the big split (well, no real planning involved here so far). I can of course continue to do releases if needed until all is set up for you to take over (or afterwards as a fallback), but I think we can get this done soon. An automatic NuGet + GitHub release would be very helpful ideed.
Thank you, it is really a good chance to clean up without worrying about automatic releases 😄
What is the current practice with regards to approving and merging PRs?
Forgot to mention: I disabled merge commits, and use either squash commits (most of the time) or rebase commits (if it makes sense to retain the separate commits in the PR).
As for the nuget ownership: currently @tebjan and the SVG.NET group are owners, I have to check how to add other people to that group
@paulushub - forgot to ask: what is your nuget user name? If you don't have one, you need to register first.
forgot to ask: what is your nuget user name? If you don't have one, you need to register first.
Currently publish under ElinamLLC, my one-member company name.
Hi all,
Thank you for the discussion and the proposition from Elinam LLC for taking over the project. I want to present an alternative approach that aligns with maintaining the project's open-source nature and neutrality:
Project Neutrality:
I suggest keeping the svg-net repository neutral and open-source, ensuring the project remains accessible to all without favoring any specific organization. This approach supports the project's foundational principles of openness and community collaboration. The maintainers can of course be mentioned in the readme. And I can of course add @paulushub as maintainer and/or owner.
.NET Foundation Consideration:
Joining the .NET Foundation could offer svg-net valuable support and resources for sustained growth. I recommend exploring this further and inviting contributors with the necessary expertise to lead this effort.
Maintenance and Contributions:
While I can continue to manage the GitHub infrastructure, my availability to conduct detailed code reviews is limited. The project's success depends on active contributors ready to assume roles in maintenance, including code review and issue management.
Codebase Segmentation:
The idea of separating the rendering and core functionality is great but requires significant effort. If there is interest in taking responsibility for this division, I can provide support and advice where possible.
Looking Ahead:
The future of svg-net is important, and I am committed to its ongoing success. Collaboration and active contribution from the community are crucial for its development and maintenance.
In Summary:
- It's beneficial to ensure the project remains open-source, avoiding any potential biases or conflicts arising from aligning with a single entity.
- If there's interest in pursuing membership with the .NET Foundation, I'm open to supporting this initiative.
- Assistance in areas such as code reviews and testing is particularly needed. If you can contribute, your help would be invaluable.
- For those interested in leading or contributing to specific initiatives like the codebase segmentation, please let us know.
Thank you @tebjan! Great to hear from you, and to know that you are still invested in this project.
I had similar thoughts regarding the open source nature of the project and project neutrality, but I wanted to hear your opinion first. I have added @paulushub to the maintainers of the project, so he shall already have all the rights needed for maintenance, which he is doing fine. I also added him to the nuget package owners, provisionally under his company account (which is a one-man comapany, as far as I understand), but would prefer to add a personal account to the existing SVG.NET group instead.
I can assist for some time with administrative and infrastructure stuff, but I don't want to be involved in content-related reviews. As I wrote, I don't use SVG anymore, and I don't have the confidence for any design and architectural decisions. It would be great if you could be involved in this kind of stuff again. I never planned to maintain this project myself in the first place - I just wanted to give back a bit, as I had been using the library in an earlier project. But after you gave me the ownership of the organization, I had at least to try...
I'm glad that @paulushub took the challenge to maintain the project. I had neglected it for quite some time now, and I hope that with more activity going on here, more people will get involved (at least this is my experience from other projects).
Joining .NET Foundation sounds like a sensible move, though I have no experience there at all. Separating the codebase into processing and rendering parts, with the possibility to use alternative rendering frontends seems like a very obvious thing to do, though it really needs someone to steer that. I had earlier hoped that @wieslawsoltes could be that person, but that did not work out.
I would also propose to put your call for contributions (last two points of your summary) into a more prominent position, like the contributing section of the README.
@mrbean-bremen Finally we have an input from @tebjan, and his commitment to this project.
Please can you remove ElinamLLC
from the NuGet ownership?
Please can you remove ElinamLLC from the NuGet ownership?
Done.