Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Looking for new maintainer(s) #1111

Open
mrbean-bremen opened this issue Dec 17, 2023 · 41 comments
Open

Looking for new maintainer(s) #1111

mrbean-bremen opened this issue Dec 17, 2023 · 41 comments

Comments

@mrbean-bremen
Copy link
Member

mrbean-bremen commented Dec 17, 2023

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.

@mrbean-bremen mrbean-bremen pinned this issue Dec 17, 2023
@paulushub
Copy link
Contributor

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?

@mrbean-bremen
Copy link
Member Author

mrbean-bremen commented Dec 19, 2023

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 :)

@gvheertum
Copy link
Member

gvheertum commented Dec 19, 2023

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?

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.

@mrbean-bremen
Copy link
Member Author

mrbean-bremen commented Dec 19, 2023

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.

@paulushub
Copy link
Contributor

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.

@mrbean-bremen
Copy link
Member Author

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 ;)

@paulushub
Copy link
Contributor

@mrbean-bremen @tebjan @H1Gdev
So far not much response to this thread as I have hoped. This is my offer for consideration

  1. Take over the svg-net organization (including Nuget)
  2. 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.

@gvheertum
Copy link
Member

@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.

@paulushub
Copy link
Contributor

@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!!)

  1. Markdown to LaTeX (converting SVG to Tikz),
  2. SVG renderer for WinUI 3 (beyond the The SVG Table supported by DirectWrite)
  3. 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).

@mrbean-bremen
Copy link
Member Author

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).

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

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

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

@mrbean-bremen Sorry, It might not be the right place to ask.
What is the current practice with regards to approving and merging PRs?

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

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?

@mrbean-bremen
Copy link
Member Author

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.

@H1Gdev
Copy link
Contributor

H1Gdev commented Dec 28, 2023

I cannot work on main now, but I want to continue to be involved in the future.

@paulushub
Copy link
Contributor

@mrbean-bremen Sorry, how is the release workflow (NuGet, GitHub tagging) and who controls it?

@mrbean-bremen
Copy link
Member Author

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...

@paulushub
Copy link
Contributor

@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?

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

Thank you, it is really a good chance to clean up without worrying about automatic releases 😄

@mrbean-bremen
Copy link
Member Author

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).

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

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.

@tebjan
Copy link
Contributor

tebjan commented Feb 15, 2024

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.

@mrbean-bremen
Copy link
Member Author

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.

@paulushub
Copy link
Contributor

@mrbean-bremen Finally we have an input from @tebjan, and his commitment to this project.
Please can you remove ElinamLLC from the NuGet ownership?

@mrbean-bremen
Copy link
Member Author

Please can you remove ElinamLLC from the NuGet ownership?

Done.

@tebjan
Copy link
Contributor

tebjan commented Feb 17, 2024

Thank you, @mrbean-bremen and @paulushub, for your updates and the decisive actions taken to ensure the svg-net project continues to thrive. The adjustment in NuGet package ownership and the inclusion of @paulushub among the project maintainers underscore your dedication and proactive stance toward the project's future.

@mrbean-bremen, your commitment to the project, despite shifting personal and professional priorities, has been crucial to svg-net's resilience and progress. Should you choose, you are completely relieved from any obligations to the project, with our utmost gratitude for your invaluable contributions and support! Your efforts have laid a solid foundation for the project's continued development and have been instrumental in reaching this point.

I support @mrbean-bremen's suggestion to prominently feature our call for contributions in the project's documentation, such as the README. This visibility can help attract more contributors and build a more active and engaged community around svg-net.

@paulushub, considering your vital role and contributions to svg-net, would you be interested in featuring your company, Elinam LLC, in the README? This could include highlighting your company's involvement and support for the project.

@paulushub
Copy link
Contributor

Elinam LLC, in the README? This could include highlighting your company's involvement and support for the project.

No, I really do not have a need to promote Elinam LLC, thanks for the offer.
There is not even a website (even though, I have a registered domain), only needed a registered company for my contract works here in Japan.

@mrbean-bremen
Copy link
Member Author

Thank you @tebjan for the kind words! I will probably still observe the project for a while and maybe do some small stuff, and fade out gradually if I see that it works out.

I added a respective change to the README in the existing PR #1143 to avoid conflicts, as that already changes the README - please have a look!

@inforithmics
Copy link
Contributor

Sorry for being late if your still looking for maintainers. I'm willing to step in mainly in the areas of CSS and maybe splitting SVG into a Core part and a Windows Forms parts for easier integration with svg.skia.

@mrbean-bremen
Copy link
Member Author

@inforithmics - sorry for the late reply, I have been traveling last week.

I'm willing to step in mainly in the areas of CSS and maybe splitting SVG into a Core part and a Windows Forms parts for easier integration with svg.skia.

Thank you for that! @paulushub has already volunteered and done some maintanence work, so this will be a welcome help, especially considering the split. If nobody objects (CC @paulushub, @tebjan), I can add you to the group of repo maintainers. I personally welcome this, as you have already made valuable contributions in the past.

You may want to discuss the details of how to proceed with @paulushub, maybe in separate discussion issues if needed.

@paulushub
Copy link
Contributor

Sorry, I will exit here - I do not work at this pace.

@mrbean-bremen
Copy link
Member Author

Sorry, I will exit here - I do not work at this pace.

Sorry, I didn't really understand that. Do you mean this is moving too fast, or too slow? Or do you want to be the sole maintainer?

I was very happy that you took over maintenance, and with the progress you made. There is no question that you can work at your pace, it is your free time! @inforithmics is already a member of the SVG organization and has contributed here, and I just wanted to make sure that you don't duplicate your work if he wants to contribute - which was not really needed, as the work is reflected in the issues anyway.

I hope that you do not consider to quit SVG at all because of something I wrote or did...

@paulushub
Copy link
Contributor

I hope that you do not consider to quit SVG at all because of something I wrote or did...

Please no, I enjoyed working with you.
Simply, I do not have the time to wait 1.5 months for a documentation PR to be approved.

@mrbean-bremen
Copy link
Member Author

Simply, I do not have the time to wait 1.5 months for a documentation PR to be approved.

Well, that was not normal. I was waiting for @tebjan to respond because of the copyright issue, which took a while (I didn't want to get this one wrong), and I was almost 2 weeks away without access to a PC (came back yesterday), so that was unfortunate. I have merged the PR therefore only yesterday, and I was aware that it was open much too long (have another problem with documentation generation now, but I'll look at that).

I don't expect something like this to happen again, especially if @inforithmics will also be there to approve, so I hope that you reconsider...

@mrbean-bremen
Copy link
Member Author

@inforithmics - thanks again for volunteering, I appreciate any help! I can give you admin rights to the repo, if you want, so you will be able to do any maintenance you want to, though that is not mandatory of course. It would greatly help if you could do reviews for PRs from @H1Gdev or other contributors (contributions are quite infrequent currently), as my main problem is that I don't have the confidence to review SVG code anymore.

I'm willing to step in mainly in the areas of CSS and maybe splitting SVG into a Core part and a Windows Forms parts for easier integration with svg.skia.

These would be great contributions!

Also please communicate any problems you see or experience in time, to avoid to get as frustrated as @paulushub unfortunately did, apparantly...

@mrbean-bremen
Copy link
Member Author

mrbean-bremen commented Apr 6, 2024

@paulushub - thank you for your contribution! While your stunt here was short-lived, you have successfully managed to clean up some of the issues and PRs. I hope you will continue to use the library, and maybe make some contribution in the future. Wish you all the best with your other projects and plans!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants