scour-project / scour

Scour - An SVG Optimizer / Cleaner
Apache License 2.0
780 stars 59 forks source link

Scour project maintenance 🛠️ #321

Open Jamim opened 9 months ago

Jamim commented 9 months ago

👋🏻 Hello @oberstet and @Ede123,

First of all, thank you for all your work on this great tool! 🙇🏼

🏚️

Sadly, this repository now looks completely abandoned. There are dozens of issues awaiting resolution and over 10 PRs awaiting feedback.

🏡

I understand you probably have no spare time to spend on Scour, but would you mind considering delegating maintenance to some community members that you can trust to keep the project going?

🔗

Related issue:

Best regards!

oberstet commented 9 months ago

I understand you probably have no spare time to spend on Scour, but would you mind considering delegating maintenance to some community members that you can trust to keep the project going?

yes, you hit the nail, classic OSS problem. I should say, I am still using it, because it just serves an important piece in web work puzzles at least. but personally, I have just spent too much time doing unpaid work in my life, and bills need to get paid.

anyways, @Ede123 not sure what's your take, but taking in other community members to be able to do or push work, I'd absolutely welcome this!

Ede123 commented 9 months ago

Yes, absolutely! I've not been able to contribute any time to the project myself lately. I'd certainly welcome getting new people involved in the development. As a matter of fact it's how I started to contribute to Scour.

We've actually offered @nthykier to take over responsibilities in the project a while back considering his great and frequent contributions. Not sure if he'd be interested today? The offer'd still stand from my end.

If other people would be interested that'd obviously appreciated as well.

Ede123 commented 9 months ago

P.S. If somebody from the Inkscape project is reading this: Maybe you're interested to refresh the historic bounds between the projects? Maybe @joneuhauser ? ;-)

nthykier commented 9 months ago

Thanks for the offer. Unfortunately, I do not think I can solve the root issue.

Honestely, I do not use scour nor work with svgs any more and I do not envision that to change nor becoming notably more active on scour in the foreseeable future (my last active contribution to scour was ~3 years ago as far as I can tell, just to put my current "activity level" into perspective). In other words, I do not see myself as a good solution to this issue.

oberstet commented 9 months ago

@nthykier thanks for a clear statement! and for your contributions anyways=)

@Ede123 let's see, maybe we find a solution - now that there is some awareness and mutual understanding of the situation.

sadly, this is nothing new and Scour is only one, tiny OSS being hit besides lots of other stuff of course

the freeriders, and of course the users will be unhappy. sooner or later. ignoring reality comes with a price as well. sorry, rant over;)

fwiw, I've recently become aware of an effort called "Post Open Source", and started or involving Bruce Perens.

as I have the links around anyways, let me just dump the whole list:

Jamim commented 9 months ago

Since Scour is written in Python, you might consider transferring it to the Jazzband organization as an option. But it will require some effort.

Jazzband is a collaborative community to share the responsibility of maintaining Python-based projects.

oberstet commented 9 months ago

first of all, thanks for caring! and thanks for making an effort to propose a way forward!

next: to me, it seems like a scam

You should transfer your project to the Jazzband organization on GitHub .. https://jazzband.co/about/faq#how-do-i-transfer-a-project-to-jazzband

"sure! and you (the jazzband bots) should go f*** yourself?" ;)

there isn't a valid reason that would require such stuff, and a real, properly decentralized project isn't possible with such an approach.

granted, we are now talking about sth different ... but of high interest to me ... proper decentralization. their fantasy claims triggered me;)

as in: why is one of the Tornado Cash devs still in prison in NL? what could they have done different to make that impossible ... anonymization .. Tor .. OpSec .. not using GH ..

anyways, I will not agree with such a transfer.

Zxilly commented 3 months ago

I can add a GitHub Actions based CI for this project, review and merge some PRs. The most important tasks for me at the moment are also adding type hints to parameters and removing dangerous execs. However, all of the above tasks require the assistance of a user with write access, and I was wondering if such a person exists right now.

joneuhauser commented 2 months ago

Two thoughts from my side as one of Inkscape's extension maintainers:

Rewrite using inkex

Using Inkscape's inkex library (the core library behind Inkscape's extensions, including import and export) would make at least 50% of Scour's code obsolete, most likely more, and fix a lot of issues almost for free.

Scour's python code comes from a time where Inkscape provided very little facilities to work with SVGs in Python. But things have changed.

Now, it provides, among others,

I would be available to mentor whoever would like to contribute to such a rewrite. Join chat.inkscape.org to discuss this further, @Zxilly :) - your objectives are also very much in line with ours, so I believe we could collaborate there.

Transfering the project to Inkscape

Inkscape's bug tracker has a lot more eyes on it. We still include scour as our default SVG simplifier, and are interested in it working well. However, we're organized on GitLab, thus would have less drive-by contributions if we moved the project.

The rewrite is independent of the project transfer.

@Ede123 @oberstet what do you think.

oberstet commented 2 months ago

However, all of the above tasks require the assistance of a user with write access, and I was wondering if such a person exists right now.

sure, I do have write access ..

as one of Inkscape's extension maintainers: ...

oh, awesome! nice to meet;)

fwiw, I basically agree with all what you say or hint at. well, I should say as far as I understand since it is some days ago I worked on Scour.

anyways, this definitely is a bigger change .. both from the tech side (and significant work including testing / avoiding regressions rgd Scour's own behavior) ... and from the org side

however it would bring Scour up to date and onto a long-term sustainable road

so I'd support such an effort - whatever it required me to do or what .. including handing over admin rights if so ..

@Ede123 comments/views from your side?

oberstet commented 2 months ago

Since Scour is written in Python, you might consider transferring it to the Jazzband organization as an option. But it will require some effort.

Jazzband is a collaborative community to share the responsibility of maintaining Python-based projects.

Interesting. Thanks for posting! FWIW, I've looked into this effort, and it currently holds 75 projects. Almost all Django related.

Moving Scour over to Inkscape in some way would still make a lot of sense in my eyes .. if that'd be possible or welcome.

joneuhauser commented 2 months ago

@oberstet Technically I can migrate the repository at any time. I'm waiting for @Ede123 to respond, and then I'd like to set up this repository as a mirror, or at least remove its content and point to the new location.

Ede123 commented 2 months ago

Hi Jonathan, personally I'm more than happy for Scour to come back to its roots and become part of the Inkscape ecosystem once again!

The only question from my side would be whether inkex is readily available from pypi (I see the project there so it most likely is), so that people who use scour stand-alone or as a third-party library will be able to continue to use it as such without additional effort. If that's given I see absolutely no reason not to bring Scour back closer to the Inkscape project.

Given the fact that neither me nor Tobias managed to spend a lot of time on Scour recently I believe it's just natural to move the project to wherever the most active maintainers are - whether that means being on GitHub or GitLab really does not make a huge difference IMHO.

joneuhauser commented 2 months ago

whether inkex is readily available from pypi (I see the project there so it most likely is), so that people who use scour stand-alone or as a third-party library will be able to continue to use it as such without additional effort.

Yes. At the moment, inkex is released in sync with Inkscape, although I can see that changing.

Alright, thanks for the response! I'll pull the repository to the Inkscape group, and then we can discuss how to proceed with the GitHub repository.

joneuhauser commented 2 months ago

Github import is currently broken (since Jul 11):

https://status.gitlab.com/

I'll have to wait until this is resolved.

oberstet commented 2 months ago

So just to be clear, understand what actually is proposed:

Inkscape (the OSS project) is using GitLab, not GitHub to host its main development, right?

If so, I guess the proposal involves moving the repository here to GitLab, thus, have a new repo https://gitlab.com/inkscape/scour, right?

And then just have pointers from the then old GitHub repo here to the new one?

joneuhauser commented 2 months ago

Inkscape (the OSS project) is using GitLab, not GitHub to host its main development, right?

Yes.

If so, I guess the proposal involves moving the repository here to GitLab, thus, have a new repo https://gitlab.com/inkscape/scour, right?

I've managed to upload it to https://gitlab.com/inkscape/extras/scour by using the Github import on another private Gitlab instance, then exporting there and importing into gitlab.com.

And then just have pointers from the then old GitHub repo here to the new one?

For starters, add a link to the readme, and make this repository read-only. At some point, it would be nice to set up this repository as a push mirror (Gitlab can do that).

Also, I'd appreciate if doctormo and I can get permission to publish new releases on pypi.

oberstet commented 2 months ago

add a link to the readme

I've added https://github.com/scour-project/scour/pull/322 as the last PR to be merged here on this repo.

This PR won't be on the new repo - and that's fine IMO.

Once that is done, we can turn this repo to read-only.

@Ede123 are you fine with that?

All other unmerged PRs existing on this repo seem to have been copied over to https://gitlab.com/inkscape/extras/scour it seem - which is great!! as work can then continue at the new GitLab location ...